@@ -95,7 +95,7 @@ protected function mapFieldData($request, $fields)
95
95
*/
96
96
protected function mapFields ($ request ): array
97
97
{
98
- $ map = $ this -> getDefaultFields ();
98
+ $ map = self :: getDefaultFields ($ request );
99
99
$ defaultFields = $ map === ['* ' ] ? array_keys ($ this ->getResourceFields ()) : $ map ;
100
100
$ allowedFields = static ::$ allowedFields ?? [];
101
101
$ fields = Helpers::filterFieldsFromRequest ($ request , $ defaultFields , $ allowedFields );
@@ -124,13 +124,17 @@ protected function getResourceFields(): array
124
124
return is_array ($ this ->resource ) ? $ this ->resource : $ this ->resource ->getAttributes ();
125
125
}
126
126
127
- /**
127
+ /**
128
128
* Return default fields for this collection.
129
129
*
130
130
* @return array
131
131
*/
132
- public static function getDefaultFields (): array
132
+ public static function getDefaultFields ($ request ): array
133
133
{
134
+ if (method_exists (get_called_class (), 'defaultFields ' )) {
135
+ $ c = get_called_class ();
136
+ return $ c ::defaultFields ($ request );
137
+ }
134
138
return static ::$ defaultFields ?? ['* ' ];
135
139
}
136
140
@@ -140,8 +144,12 @@ public static function getDefaultFields(): array
140
144
* @return array
141
145
* @author Sam Sehnert <[email protected] >
142
146
*/
143
- public static function getAllowedScopes (): array
147
+ public static function getAllowedScopes ($ request ): array
144
148
{
149
+ if (method_exists (get_called_class (), 'defaultScopes ' )) {
150
+ $ c = get_called_class ();
151
+ return $ c ::defaultScopes ($ request );
152
+ }
145
153
return static ::$ allowedScopes ?? [];
146
154
}
147
155
}
0 commit comments