[parsing] Add visibility:local search query filter (ISH-707)

This commit is contained in:
Laura Hausmann 2025-03-04 23:18:00 +01:00
parent 822d5f90d3
commit 220c4b776d
No known key found for this signature in database
GPG key ID: D044E84C5BE01605
2 changed files with 6 additions and 1 deletions

View file

@ -168,6 +168,9 @@ public static class QueryableFtsExtensions
private static IQueryable<Note> ApplyVisibilityFilter(this IQueryable<Note> query, VisibilityFilter filter) private static IQueryable<Note> ApplyVisibilityFilter(this IQueryable<Note> query, VisibilityFilter filter)
{ {
if (filter.Value is VisibilityFilterType.Local)
return query.Where(p => p.LocalOnly == !filter.Negated);
var visibility = filter.Value switch var visibility = filter.Value switch
{ {
VisibilityFilterType.Public => Note.NoteVisibility.Public, VisibilityFilterType.Public => Note.NoteVisibility.Public,

View file

@ -136,7 +136,8 @@ public enum VisibilityFilterType
Public, Public,
Home, Home,
Followers, Followers,
Specified Specified,
Local
} }
public record VisibilityFilter(bool Negated, VisibilityFilterType Value) : ISearchQueryFilter public record VisibilityFilter(bool Negated, VisibilityFilterType Value) : ISearchQueryFilter
@ -154,6 +155,7 @@ public record VisibilityFilter(bool Negated, VisibilityFilterType Value) : ISear
"specified" => VisibilityFilterType.Specified, "specified" => VisibilityFilterType.Specified,
"direct" => VisibilityFilterType.Specified, "direct" => VisibilityFilterType.Specified,
"private" => VisibilityFilterType.Specified, "private" => VisibilityFilterType.Specified,
"local" => VisibilityFilterType.Local,
_ => null _ => null
}; };