File tree Expand file tree Collapse file tree
Packages/Federation.Sdk/Source/Filtering Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ namespace HttpsRichardy . Federation . Sdk . Filtering ;
2+
3+ public sealed class UserFilters
4+ {
5+ internal string ? Id { get ; private set ; }
6+ internal string ? Username { get ; private set ; }
7+
8+ internal bool ? IsDeleted { get ; private set ; }
9+
10+ internal int PageNumber { get ; private set ; } = 1 ;
11+ internal int PageSize { get ; private set ; } = 60 ;
12+
13+ public UserFilters WithIdentifier ( string identifier )
14+ {
15+ if ( ! string . IsNullOrWhiteSpace ( identifier ) )
16+ {
17+ Id = identifier . Trim ( ) ;
18+ }
19+
20+ return this ;
21+ }
22+
23+ public UserFilters WithUsername ( string username )
24+ {
25+ if ( ! string . IsNullOrWhiteSpace ( username ) )
26+ {
27+ Username = username . Trim ( ) ;
28+ }
29+
30+ return this ;
31+ }
32+
33+ public UserFilters WithIsDeleted ( bool ? isDeleted )
34+ {
35+ IsDeleted = isDeleted ;
36+ return this ;
37+ }
38+
39+ public UserFilters WithPageNumber ( int pageNumber )
40+ {
41+ if ( pageNumber > 0 )
42+ {
43+ PageNumber = pageNumber ;
44+ }
45+
46+ return this ;
47+ }
48+
49+ public UserFilters WithPageSize ( int pageSize )
50+ {
51+ if ( pageSize > 0 )
52+ {
53+ PageSize = pageSize ;
54+ }
55+
56+ return this ;
57+ }
58+
59+ public static UsersFetchParameters WithoutFilters => new ( ) ;
60+ public static UserFilters AsBuilder ( ) => new ( ) ;
61+
62+ public UsersFetchParameters Build ( )
63+ {
64+ return new UsersFetchParameters
65+ {
66+ Id = Id ,
67+ Username = Username ,
68+ IsDeleted = IsDeleted ,
69+ PageNumber = PageNumber ,
70+ PageSize = PageSize
71+ } ;
72+ }
73+ }
You can’t perform that action at this time.
0 commit comments