struct json_object *json;
json = afb_req_json(req);
- if (wrap_json_unpack(json, "s", runid)
- || wrap_json_unpack(json, "{ss}", "runid", runid)) {
+ if (wrap_json_unpack(json, "i", runid)
+ && wrap_json_unpack(json, "{si}", "runid", runid)) {
INFO("bad request method %s: %s", method,
json_object_to_json_string(json));
bad_request(req);
{
struct json_object *resp;
INFO("method runnables called");
- resp = afm_udb_applications_public(afudb);
+ resp = afm_udb_applications_public(afudb, afb_req_get_uid(req));
afb_req_success(req, resp, NULL);
}
/* scan the request */
json = afb_req_json(req);
if (wrap_json_unpack(json, "s", &appid)
- || wrap_json_unpack(json, "{ss}", _id_, &appid)) {
+ && wrap_json_unpack(json, "{ss}", _id_, &appid)) {
bad_request(req);
return;
}
/* wants details for appid */
INFO("method detail called for %s", appid);
- resp = afm_udb_get_application_public(afudb, appid);
+ resp = afm_udb_get_application_public(afudb, appid, afb_req_get_uid(req));
if (resp)
afb_req_success(req, resp, NULL);
else
/* scan the request */
json = afb_req_json(req);
if (wrap_json_unpack(json, "s", &appid)
- || wrap_json_unpack(json, "{ss}", _id_, &appid)) {
+ && wrap_json_unpack(json, "{ss}", _id_, &appid)) {
bad_request(req);
return;
}
/* get the application */
INFO("method start called for %s", appid);
- appli = afm_udb_get_application_private(afudb, appid);
+ appli = afm_udb_get_application_private(afudb, appid, afb_req_get_uid(req));
if (appli == NULL) {
not_found(req);
return;
}
/* launch the application */
- runid = afm_urun_start(appli);
+ runid = afm_urun_start(appli, afb_req_get_uid(req));
if (runid <= 0) {
cant_start(req);
return;
/* returns */
resp = NULL;
+#if 0
wrap_json_pack(&resp, "{si}", _runid_, runid);
+#else
+ wrap_json_pack(&resp, "i", runid);
+#endif
afb_req_success(req, resp, NULL);
}
/* scan the request */
json = afb_req_json(req);
if (wrap_json_unpack(json, "s", &appid)
- || wrap_json_unpack(json, "{ss}", _id_, &appid)) {
+ && wrap_json_unpack(json, "{ss}", _id_, &appid)) {
bad_request(req);
return;
}
/* get the application */
INFO("method once called for %s", appid);
- appli = afm_udb_get_application_private(afudb, appid);
+ appli = afm_udb_get_application_private(afudb, appid, afb_req_get_uid(req));
if (appli == NULL) {
not_found(req);
return;
}
/* launch the application */
- runid = afm_urun_once(appli);
+ runid = afm_urun_once(appli, afb_req_get_uid(req));
if (runid <= 0) {
cant_start(req);
return;
}
/* returns the state */
- resp = afm_urun_state(afudb, runid);
+ resp = afm_urun_state(afudb, runid, afb_req_get_uid(req));
afb_req_success(req, resp, NULL);
}
{
int runid, status;
if (onrunid(req, "pause", &runid)) {
- status = afm_urun_pause(runid);
+ status = afm_urun_pause(runid, afb_req_get_uid(req));
reply_status(req, status, _not_found_);
}
}
{
int runid, status;
if (onrunid(req, "resume", &runid)) {
- status = afm_urun_resume(runid);
+ status = afm_urun_resume(runid, afb_req_get_uid(req));
reply_status(req, status, _not_found_);
}
}
{
int runid, status;
if (onrunid(req, "terminate", &runid)) {
- status = afm_urun_terminate(runid);
+ status = afm_urun_terminate(runid, afb_req_get_uid(req));
reply_status(req, status, _not_found_);
}
}
{
struct json_object *resp;
INFO("method runners called");
- resp = afm_urun_list(afudb);
+ resp = afm_urun_list(afudb, afb_req_get_uid(req));
afb_req_success(req, resp, NULL);
}
int runid;
struct json_object *resp;
if (onrunid(req, "state", &runid)) {
- resp = afm_urun_state(afudb, runid);
+ resp = afm_urun_state(afudb, runid, afb_req_get_uid(req));
reply(req, resp, _not_found_);
}
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
static void install(struct afb_req req)
{
const char *wgtfile;
/* scan the request */
json = afb_req_json(req);
if (wrap_json_unpack(json, "s", &wgtfile)
- || wrap_json_unpack(json, "{ss s?s s?b s?b}",
- "widget", &wgtfile,
+ && wrap_json_unpack(json, "{ss s?s s?b s?b}",
+ "wgt", &wgtfile,
"root", &root,
"force", &force,
"reload", &reload)) {
if (ifo == NULL)
afb_req_fail_f(req, "failed", "installation failed: %m");
else {
+ afm_udb_update(afudb);
/* reload if needed */
if (reload)
do_reloads();
/* scan the request */
json = afb_req_json(req);
if (wrap_json_unpack(json, "s", &idaver)
- || wrap_json_unpack(json, "{ss s?s}",
+ && wrap_json_unpack(json, "{ss s?s}",
_id_, &idaver,
"root", &root)) {
return bad_request(req);
if (rc)
afb_req_fail_f(req, "failed", "uninstallation failed: %m");
else {
+ afm_udb_update(afudb);
afb_req_success(req, NULL, NULL);
application_list_changed(_uninstall_, idaver);
}
static int init()
{
/* init database */
- afudb = afm_udb_create(1, 1, "afm-appli-");
+ afudb = afm_udb_create(1, 0, "afm-appli-");
if (!afudb) {
ERROR("afm_udb_create failed");
return -1;
}
- /* set the systemd's buses */
- systemd_set_bus(0, afb_daemon_get_system_bus());
- systemd_set_bus(1, afb_daemon_get_user_bus());
-
/* create TRUE */
json_true = json_object_new_boolean(1);