"\tfilemedia jobid=<nn> fileindex=<mm> | clients | jobmedia [jobid=<nn> volume=<s>] |\n"
"\tevents [type=<str> | limit=<int> | order=<asc|desc> | days=<int> | start=<time-specification> | end=<time-specification> |\n"
"\t\t source=<str> | code=<str> | type=<str> ]\n"
- "\tobjects [jobid=<jobid> client=<cli> type=<str> | category=<str> | status=<S> | limit=<int> | order=<asc|desc> ]\n"
+ "\tobjects [jobid=<jobid> client=<cli> type=<str> | category=<str|db|vm> | status=<S> | limit=<int> | order=<asc|desc> ]\n"
"\tmetadata type=<email|attachment> tenant=<str> [owner=<str>]\n"
"\t [jobid=<jobids> client=<cc> order=<Asc|desc> limit=<nn> orderby=<time> offset=<nn>]\n"
"\t [from=<str> to=<str> cc=<str> tags=<str> subject=<str> bodypreview=<str> all=<str>\n"
return true;
}
+/* shortcuts for the list object category=xx command */
+struct object_category_sc_t {
+ const char *name;
+ const char *value;
+};
+
+static
+struct object_category_sc_t object_category_sc[] = {
+ NT_("db"), NT_("Database"),
+ NT_("vm"), NT_("Virtual Machine"),
+ NULL, NULL
+};
+
static int do_list_cmd(UAContext *ua, const char *cmd, e_list_type llist)
{
POOLMEM *VolumeName;
bstrncpy(obj_r.ObjectType, ua->argv[j], sizeof(obj_r.ObjectType));
} else if (strcasecmp(ua->argk[j], NT_("category")) == 0 && ua->argv[j]) {
- bstrncpy(obj_r.ObjectCategory, ua->argv[j], sizeof(obj_r.ObjectCategory));
+ const char *val = ua->argv[j];
+ for (int i=0 ; object_category_sc[i].name ; i++) {
+ if (strcasecmp(val, object_category_sc[i].name) == 0) {
+ val = object_category_sc[i].value;
+ break;
+ }
+ }
+ bstrncpy(obj_r.ObjectCategory, val, sizeof(obj_r.ObjectCategory));
} else if (strcasecmp(ua->argk[j], NT_("status")) == 0 && ua->argv[j]) {
int32_t status = (int32_t)ua->argv[j][0];