File tree Expand file tree Collapse file tree 4 files changed +66
-3
lines changed Expand file tree Collapse file tree 4 files changed +66
-3
lines changed Original file line number Diff line number Diff line change @@ -246,7 +246,7 @@ private function filter($query, Request $request)
246
246
}
247
247
248
248
if (isset ($ filters [$ name ])) {
249
- $ filters [$ name ]($ query , $ value , $ request );
249
+ $ filters [$ name ]-> getCallback () ($ query , $ value , $ request );
250
250
continue ;
251
251
}
252
252
Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ abstract class Field
20
20
use HasListeners;
21
21
22
22
private $ name ;
23
+ private $ description ;
23
24
private $ property ;
24
25
private $ visible = true ;
25
26
private $ single = false ;
@@ -41,6 +42,16 @@ public function __construct(string $name)
41
42
*/
42
43
abstract public function getLocation (): string ;
43
44
45
+ /**
46
+ * Set the description of the field for documentation generation.
47
+ */
48
+ public function description (string $ description )
49
+ {
50
+ $ this ->description = $ description ;
51
+
52
+ return $ this ;
53
+ }
54
+
44
55
/**
45
56
* Set the model property to which this field corresponds.
46
57
*/
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of tobyz/json-api-server.
5
+ *
6
+ * (c) Toby Zerner <[email protected] >
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Tobyz \JsonApiServer \Schema ;
13
+
14
+ final class Filter
15
+ {
16
+ private $ name ;
17
+ private $ callback ;
18
+ private $ description ;
19
+
20
+ public function __construct (string $ name , callable $ callback )
21
+ {
22
+ $ this ->name = $ name ;
23
+ $ this ->callback = $ callback ;
24
+ }
25
+
26
+ public function getName (): string
27
+ {
28
+ return $ this ->name ;
29
+ }
30
+
31
+ public function getCallback (): callable
32
+ {
33
+ return $ this ->callback ;
34
+ }
35
+
36
+ /**
37
+ * Set the description of the type for documentation generation.
38
+ */
39
+ public function description (string $ description )
40
+ {
41
+ $ this ->description = $ description ;
42
+ }
43
+ }
Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ final class Type
19
19
{
20
20
use HasListeners, HasMeta;
21
21
22
+ private $ description ;
22
23
private $ fields = [];
23
24
private $ filters = [];
24
25
private $ sortFields = [];
@@ -35,6 +36,14 @@ final class Type
35
36
private $ deletable = false ;
36
37
private $ deleteCallback ;
37
38
39
+ /**
40
+ * Set the description of the type for documentation generation.
41
+ */
42
+ public function description (string $ description )
43
+ {
44
+ $ this ->description = $ description ;
45
+ }
46
+
38
47
/**
39
48
* Add an attribute to the resource type.
40
49
*
@@ -98,9 +107,9 @@ public function getFields(): array
98
107
/**
99
108
* Add a filter to the resource type.
100
109
*/
101
- public function filter (string $ name , callable $ callback ): void
110
+ public function filter (string $ name , callable $ callback ): Filter
102
111
{
103
- $ this ->filters [$ name ] = $ callback ;
112
+ return $ this ->filters [$ name ] = new Filter ( $ name , $ callback) ;
104
113
}
105
114
106
115
/**
You can’t perform that action at this time.
0 commit comments