diff --git a/server/AyaNova/biz/Search.cs b/server/AyaNova/biz/Search.cs index bb48b897..fdeaeb4e 100644 --- a/server/AyaNova/biz/Search.cs +++ b/server/AyaNova/biz/Search.cs @@ -186,9 +186,26 @@ namespace AyaNova.Biz SearchKeyMatches = await q.ToListAsync(); //IF TAGS SPECIFIED - //LOOP THROUGH SEARCHKEY MATCHES - //FOREACH OBJECT SEARCH TAGMAP FOR MATCHING OBJECTTYPE AND ID - //REMOVE RESULTS FROM SEARCH PHRASE PHASE THAT ARE NOT MATCHING + if (searchParameters.Tags.Count > 0) + { + if (string.IsNullOrWhiteSpace(searchParameters.Phrase)) + { + //It's a tags only search so tags are inclusive + //QUERY FOR ALL TAGMAPS THAT MATCH OBJECT TYPE AND ID + //TODO: this + + } + else + { + //It's a tags plus search phrase search so tags are exclusive + //LOOP THROUGH SEARCHKEY MATCHES + //FOREACH OBJECT SEARCH TAGMAP FOR MATCHING OBJECTTYPE AND ID + //REMOVE RESULTS FROM SEARCH PHRASE PHASE THAT ARE NOT MATCHING + //TODO: this + + } + } + foreach (SearchKey SearchKeyMatch in SearchKeyMatches) { @@ -199,6 +216,11 @@ namespace AyaNova.Biz ResultList.Add(SR); } + //REMOVE ANY ITEMS THAT USER IS NOT PERMITTED TO READ + //TODO: this + + + return ResultList; }