}
}
+bool META_DBR::check()
+{
+ if (!Type[0]) {
+ bsnprintf(errmsg, sizeof(errmsg), _("Type is not set"));
+ return false;
+ }
+
+ if (!Owner[0]) {
+ bsnprintf(errmsg, sizeof(errmsg), _("Owner is not set"));
+ return false;
+ }
+
+ if (!Tenant[0]) {
+ bsnprintf(errmsg, sizeof(errmsg), _("Tenant not set"));
+ return false;
+ }
+ return true;
+}
+
void META_DBR::create_db_filter(JCR *jcr, BDB *db, POOLMEM **where)
{
const char *prefix;
"\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"
- "\tmetadata type=<email|attachment> [jobid=<nn> 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"
+ "\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"
"\t minsize=<int> maxsize=<int> importance=<str> isread=<0|1> isdraft=<0|1> categories=<str>\n"
"\t conversationid=<str> hasattachment=<0|1> starttime=<time> endtime=<time>\n"
"\t emailid=<str>]\n"
"\tfilemedia jobid=<nn> fileindex=<mm> | clients\n"
"\tevents [type=<str> | limit=<int> | order=<asc|desc> | days=<int> | start=<time-specification> | end=<time-specification> ]\n"
"\tobject [jobid=<jobid> client=<cli> type=<name> category=<str> order=<asc/desc> limit=<n>\n"
- "\tmetadata type=<email|attachment> [jobid=<nn> client=<cc> order=<Asc|desc> limit=<nn> orderby=<time>\n"
- "\t minsize=<nn> maxsize=<nn> offset=<nn>]\n"
- "\t [ from=<str> to=<str> cc=<str> tags=<str> subject=<str> bodypreview=<str> all=<str>\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"
"\t importance=<str> isread=<0|1> isdraft=<0|1> categories=<str>\n"
"\t conversationid=<str> hasattachment=<0|1> starttime=<time> endtime=<time>\n"
"\t emailid=<str> ]\n"
- "\t [ name=<str> emailid=<str> ]\n"
+ "\t [ name=<str> emailid=<str> ]\n"
), false},
{ NT_("messages"), messagescmd, _("Display pending messages"), NT_(""), false},
* list objects [type=objecttype job_id=id clientname=n,status=S] - list plugin objects
* list pluginrestoreconf jobid=x,y,z [id=k]
* list filemedia jobid=x fileindex=z
- * list metadata type=[email|attachment] from=<str> to=<str> cc=<str> tags=<str>
+ * list metadata type=[email|attachment] owner=xxx tenant=xxx jobid=<x,w,z> from=<str>
+ * to=<str> cc=<str> tags=<str>
* subject=<str> bodypreview=<str> all=<str> minsize=<int> maxsize=<int>
* importance=<str> isread=<0|1> isdraft=<0|1>
* categories=<str> conversationid=<str> hasattachment=<0|1>
meta_r.order = bstrcasecmp(ua->argv[j], "DESC");
}
}
- if (*meta_r.Type == 0) {
- ua->error_msg(_("Invalid type argument\n"));
+ if (!meta_r.check()) {
+ ua->error_msg(_("Invalid parameters. %s\n"), meta_r.errmsg);
return 1;
}
db_list_metadata_records(ua->jcr, ua->db, &meta_r, prtit, ua, llist);