44
55use App \Models \AccessPoint ;
66use Binaryk \LaravelRestify \Fields \BelongsTo ;
7+ use Binaryk \LaravelRestify \Filters \MatchFilter ;
8+ use Binaryk \LaravelRestify \Filters \SearchableFilter ;
9+ use Binaryk \LaravelRestify \Filters \SortableFilter ;
710use Binaryk \LaravelRestify \Http \Requests \RestifyRequest ;
811use Illuminate \Http \Request ;
912
@@ -17,42 +20,8 @@ class AccessPointRepository extends Repository
1720
1821 public static string $ title = 'name ' ;
1922
20- public static array $ search = [
21- 'name ' ,
22- 'mac_addr ' ,
23- ];
24-
25- public static array $ match = [
26- 'device_id ' => 'integer ' ,
27- 'name ' => 'text ' ,
28- 'radio_number ' => 'integer ' ,
29- 'type ' => 'text ' ,
30- 'mac_addr ' => 'text ' ,
31- 'channel ' => 'integer ' ,
32- 'txpow ' => 'integer ' ,
33- 'radioutil ' => 'integer ' ,
34- 'numasoclients ' => 'integer ' ,
35- 'nummonclients ' => 'integer ' ,
36- 'numactbssid ' => 'integer ' ,
37- 'nummonbssid ' => 'integer ' ,
38- 'interference ' => 'integer ' ,
39- ];
40-
41- public static array $ sort = [
42- 'device_id ' ,
43- 'name ' ,
44- 'radio_number ' ,
45- 'type ' ,
46- 'mac_addr ' ,
47- 'channel ' ,
48- 'txpow ' ,
49- 'radioutil ' ,
50- 'numasoclients ' ,
51- 'nummonclients ' ,
52- 'numactbssid ' ,
53- 'nummonbssid ' ,
54- 'interference ' ,
55- ];
23+
24+
5625
5726 public static function related (): array
5827 {
@@ -61,21 +30,64 @@ public static function related(): array
6130 ];
6231 }
6332
33+ public static function searchables (): array
34+ {
35+ return [
36+ 'name ' => SearchableFilter::make ()->setColumn ('name ' ),
37+ 'macAddress ' => SearchableFilter::make ()->setColumn ('mac_addr ' ),
38+ ];
39+ }
40+
41+ public static function matches (): array
42+ {
43+ return [
44+ 'name ' => MatchFilter::make ()->setType ('text ' )->setColumn ('name ' ),
45+ 'radioNumber ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('radio_number ' ),
46+ 'category ' => MatchFilter::make ()->setType ('text ' )->setColumn ('type ' ),
47+ 'macAddress ' => MatchFilter::make ()->setType ('text ' )->setColumn ('mac_addr ' ),
48+ 'channel ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('channel ' ),
49+ 'transmitPower ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('txpow ' ),
50+ 'radioUtilization ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('radioutil ' ),
51+ 'associatedClients ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('numasoclients ' ),
52+ 'monitoredClients ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('nummonclients ' ),
53+ 'activeBssidCount ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('numactbssid ' ),
54+ 'monitoredBssidCount ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('nummonbssid ' ),
55+ 'interference ' => MatchFilter::make ()->setType ('integer ' )->setColumn ('interference ' ),
56+ ];
57+ }
58+
59+ public static function sorts (): array
60+ {
61+ return [
62+ 'name ' => SortableFilter::make ()->setColumn ('name ' ),
63+ 'radioNumber ' => SortableFilter::make ()->setColumn ('radio_number ' ),
64+ 'category ' => SortableFilter::make ()->setColumn ('type ' ),
65+ 'macAddress ' => SortableFilter::make ()->setColumn ('mac_addr ' ),
66+ 'channel ' => SortableFilter::make ()->setColumn ('channel ' ),
67+ 'transmitPower ' => SortableFilter::make ()->setColumn ('txpow ' ),
68+ 'radioUtilization ' => SortableFilter::make ()->setColumn ('radioutil ' ),
69+ 'associatedClients ' => SortableFilter::make ()->setColumn ('numasoclients ' ),
70+ 'monitoredClients ' => SortableFilter::make ()->setColumn ('nummonclients ' ),
71+ 'activeBssidCount ' => SortableFilter::make ()->setColumn ('numactbssid ' ),
72+ 'monitoredBssidCount ' => SortableFilter::make ()->setColumn ('nummonbssid ' ),
73+ 'interference ' => SortableFilter::make ()->setColumn ('interference ' ),
74+ ];
75+ }
76+
6477 public function fields (RestifyRequest $ request ): array
6578 {
6679 return [
67- field ('device_id ' )->readonly (),
6880 field ('name ' )->readonly (),
69- field ('radio_number ' )->readonly (),
70- field ('type ' )->readonly (),
71- field ('mac_addr ' )->readonly (),
81+ field ('radioNumber ' , fn ( $ value , $ model ) => $ model -> radio_number )->readonly (),
82+ field ('category ' , fn ( $ value , $ model ) => $ model -> type )->readonly (),
83+ field ('macAddress ' , fn ( $ value , $ model ) => $ model -> mac_addr )->readonly (),
7284 field ('channel ' )->readonly (),
73- field ('txpow ' )->readonly (),
74- field ('radioutil ' )->readonly (),
75- field ('numasoclients ' )->readonly (),
76- field ('nummonclients ' )->readonly (),
77- field ('numactbssid ' )->readonly (),
78- field ('nummonbssid ' )->readonly (),
85+ field ('transmitPower ' , fn ( $ value , $ model ) => $ model -> txpow )->readonly (),
86+ field ('radioUtilization ' , fn ( $ value , $ model ) => $ model -> radioutil )->readonly (),
87+ field ('associatedClients ' , fn ( $ value , $ model ) => $ model -> numasoclients )->readonly (),
88+ field ('monitoredClients ' , fn ( $ value , $ model ) => $ model -> nummonclients )->readonly (),
89+ field ('activeBssidCount ' , fn ( $ value , $ model ) => $ model -> numactbssid )->readonly (),
90+ field ('monitoredBssidCount ' , fn ( $ value , $ model ) => $ model -> nummonbssid )->readonly (),
7991 field ('interference ' )->readonly (),
8092 ];
8193 }
0 commit comments