[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)
{
if (filter.Value is VisibilityFilterType.Local)
return query.Where(p => p.LocalOnly == !filter.Negated);
var visibility = filter.Value switch
{
VisibilityFilterType.Public => Note.NoteVisibility.Public,

View file

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