@@ -47,25 +47,26 @@ const uidRangeStringToQuery = uidRange => {
4747} ;
4848
4949const prepareSearchFilter = async ( db , user , payload ) => {
50- let mailbox = payload . mailbox ? new ObjectId ( payload . mailbox ) : false ;
51- let idQuery = uidRangeStringToQuery ( payload . id ) ;
52- let thread = payload . thread ? new ObjectId ( payload . thread ) : false ;
53-
54- let orTerms = payload . or || { } ;
55- let orQuery = [ ] ;
56-
57- let query = payload . query ;
58- let datestart = payload . datestart || false ;
59- let dateend = payload . dateend || false ;
60- let filterFrom = payload . from ;
61- let filterTo = payload . to ;
62- let filterSubject = payload . subject ;
63- let filterAttachments = payload . attachments ;
64- let filterFlagged = payload . flagged ;
65- let filterUnseen = payload . unseen ;
66- let filterSearchable = payload . searchable ;
67- let filterMinSize = payload . minSize ;
68- let filterMaxSize = payload . maxSize ;
50+ const mailbox = payload . mailbox ? new ObjectId ( payload . mailbox ) : false ;
51+ const idQuery = uidRangeStringToQuery ( payload . id ) ;
52+ const thread = payload . thread ? new ObjectId ( payload . thread ) : false ;
53+
54+ const orTerms = payload . or || { } ;
55+ const orQuery = [ ] ;
56+
57+ const query = payload . query ;
58+ const datestart = payload . datestart || false ;
59+ const dateend = payload . dateend || false ;
60+ const filterFrom = payload . from ;
61+ const filterTo = payload . to ;
62+ const filterSubject = payload . subject ;
63+ const filterAttachments = payload . attachments ;
64+ const filterFlagged = payload . flagged ;
65+ const filterUnseen = payload . unseen ;
66+ const filterSeen = payload . seen ;
67+ const filterSearchable = payload . searchable ;
68+ const filterMinSize = payload . minSize ;
69+ const filterMaxSize = payload . maxSize ;
6970
7071 let userData ;
7172 try {
@@ -144,6 +145,12 @@ const prepareSearchFilter = async (db, user, payload) => {
144145 filter . flagged = true ;
145146 }
146147
148+ if ( filterSeen ) {
149+ filter . unseen = false ;
150+ filter . searchable = true ;
151+ }
152+
153+ // Unseen takes precedence over seen
147154 if ( filterUnseen ) {
148155 filter . unseen = true ;
149156 filter . searchable = true ;
0 commit comments