From c0a1df4280eb7c47d4cb38df539f63e8dc07fe2d Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Thu, 17 Feb 2022 17:46:07 +0100 Subject: [PATCH] Add foldername search parameter to the list metadata type=email command --- bacula/src/cats/cats.c | 5 +++++ bacula/src/cats/cats.h | 3 ++- bacula/src/dird/ua_cmds.c | 2 +- bacula/src/dird/ua_output.c | 3 +++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bacula/src/cats/cats.c b/bacula/src/cats/cats.c index 178262ce0..7984d2896 100644 --- a/bacula/src/cats/cats.c +++ b/bacula/src/cats/cats.c @@ -736,6 +736,11 @@ void META_DBR::create_db_filter(JCR *jcr, BDB *db, POOLMEM **where) append_AND_OR_filter(and_or, where, tmp.c_str()); } + if (FolderName[0] != 0) { + db->search_op(jcr, "MetaEmail.EmailFolderName", FolderName, esc.handle(), tmp.handle()); + append_AND_OR_filter(and_or, where, tmp.c_str()); + } + if (Tags[0] != 0) { db->search_op(jcr, "MetaEmail.EmailTags", Tags, esc.handle(), tmp.handle()); append_AND_OR_filter(and_or, where, tmp.c_str()); diff --git a/bacula/src/cats/cats.h b/bacula/src/cats/cats.h index fc21f183e..d398aaf4c 100644 --- a/bacula/src/cats/cats.h +++ b/bacula/src/cats/cats.h @@ -674,6 +674,7 @@ public: char MaxTime[MAX_NAME_LENGTH]; char Plugin[MAX_NAME_LENGTH]; char Name[MAX_SEARCH_LENGTH]; + char FolderName[MAX_SEARCH_LENGTH]; char errmsg[MAX_NAME_LENGTH]; META_DBR(): MinSize(-1), MaxSize(-1), HasAttachment(-1), isDraft(-1), isRead(-1), offset(0), limit(512), order(0), orderby(0), all(false) @@ -682,7 +683,7 @@ public: *Id = *Tenant = *Owner = 0; *ClientName = *From = *To = *Cc = *Subject = *Tags = 0; *BodyPreview = *Type = *ConversationId = *Category = 0; - *Name = *MinTime = *MaxTime = *Plugin = 0; + *FolderName = *Name = *MinTime = *MaxTime = *Plugin = 0; *errmsg = 0; }; ~META_DBR() {}; diff --git a/bacula/src/dird/ua_cmds.c b/bacula/src/dird/ua_cmds.c index 237427c5f..5a5394588 100644 --- a/bacula/src/dird/ua_cmds.c +++ b/bacula/src/dird/ua_cmds.c @@ -143,7 +143,7 @@ static struct cmdstruct commands[] = { /* C "\t [from= to= cc= tags= subject= bodypreview= all=\n" "\t minsize= maxsize= importance= isread=<0|1> isdraft=<0|1> categories=\n" "\t conversationid= hasattachment=<0|1> starttime=