mirror of https://git.48k.eu/ogserver
#997 Use stale check flag in schedule/update
Commitmastere68fefe
introduced 'check_stale' flag to better distinguish real scheduled actions that do not execute if they are stale from immediate actions that we want them to be logged in the action queue (by creating a decoy schedule for the exact moment they are processed, meaning that we ignore if the are stale). Add this feature into schedule update too, in order to avoid executing stale commands that were not meant to, ie. real scheduled commands. Followse68fefe
("Set stale check flag when processing schedule/create")
parent
e7e80cdde6
commit
8b7b5f33a1
20
src/rest.c
20
src/rest.c
|
@ -3593,6 +3593,7 @@ static int og_cmd_schedule_create(json_t *element, struct og_msg_params *params)
|
|||
static int og_cmd_schedule_update(json_t *element, struct og_msg_params *params)
|
||||
{
|
||||
struct og_dbi *dbi;
|
||||
bool when = false;
|
||||
const char *key;
|
||||
json_t *value;
|
||||
int err = 0;
|
||||
|
@ -3610,13 +3611,30 @@ static int og_cmd_schedule_update(json_t *element, struct og_msg_params *params)
|
|||
} else if (!strcmp(key, "name")) {
|
||||
err = og_json_parse_string(value, ¶ms->name);
|
||||
params->flags |= OG_REST_PARAM_NAME;
|
||||
} else if (!strcmp(key, "when"))
|
||||
} else if (!strcmp(key, "when")) {
|
||||
err = og_json_parse_time_params(value, params);
|
||||
when = true;
|
||||
}
|
||||
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!when) {
|
||||
params->time.check_stale = false;
|
||||
og_schedule_time_now(¶ms->time);
|
||||
params->flags |= OG_REST_PARAM_TIME_YEARS |
|
||||
OG_REST_PARAM_TIME_MONTHS |
|
||||
OG_REST_PARAM_TIME_WEEKS |
|
||||
OG_REST_PARAM_TIME_WEEK_DAYS |
|
||||
OG_REST_PARAM_TIME_DAYS |
|
||||
OG_REST_PARAM_TIME_HOURS |
|
||||
OG_REST_PARAM_TIME_AM_PM |
|
||||
OG_REST_PARAM_TIME_MINUTES;
|
||||
} else {
|
||||
params->time.check_stale = true;
|
||||
}
|
||||
|
||||
if (!og_msg_params_validate(params, OG_REST_PARAM_ID |
|
||||
OG_REST_PARAM_TASK |
|
||||
OG_REST_PARAM_NAME |
|
||||
|
|
Loading…
Reference in New Issue