From df5161ebc351df35504bd6366526a544ff6a96da Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Tue, 10 May 2022 17:18:15 +0200 Subject: #915 Add last_cmd to GET /clients API "last_cmd" json object contains information of the last command executed by the correspondent client. For now, it only includes "result" string property, which stores "success" if the last command finished correctly or "failure" on the contrary. To populate "result" property, this commit also adds "last_cmd_result" enum attribute to og_client struct. Client response processing fills this attribute according to its success. Clients in WOL_SENT state always have last_cmd->result = "unknown". Request: GET /clients Response: 200 OK { "clients": [ { "addr": "10.141.10.102", "state": "WOL_SENT", "last_cmd": { "result": "unknown" } }, { "addr": "10.141.10.101", "state": "OPG", "speed": 1000, "last_cmd": { "result": "success" } }, { "addr": "10.141.10.100", "state": "OPG", "speed": 1000, "last_cmd": { "result": "failure" } } ] } --- src/rest.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/rest.h') diff --git a/src/rest.h b/src/rest.h index d586ef6..df6b225 100644 --- a/src/rest.h +++ b/src/rest.h @@ -42,6 +42,12 @@ enum og_cmd_type { OG_CMD_MAX }; +enum og_cmd_result { + OG_UNKNOWN = 0, + OG_FAILURE = 1, + OG_SUCCESS = 2, +}; + #define OG_MSG_REQUEST_MAXLEN 131072 struct og_client { @@ -59,6 +65,7 @@ struct og_client { enum og_client_status status; enum og_cmd_type last_cmd; unsigned int last_cmd_id; + enum og_cmd_result last_cmd_result; bool autorun; uint32_t speed; const char *shell_output; -- cgit v1.2.3-18-g5258