File tree Expand file tree Collapse file tree 8 files changed +66
-8
lines changed Expand file tree Collapse file tree 8 files changed +66
-8
lines changed Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ protected function toUpperSnakeCase($str): string
140140
141141 public function isPermissionString (string $ string ): bool
142142 {
143- $ pattern = '/^\[( "(read|update|delete|write)\( \\"[^ \\"]+ \\"\)"(,\s*)?)+ \]$/ ' ;
143+ $ pattern = '/^\["(read|update|delete|write)\( \\"[^ \\"]+ \\"\)"(,\s*"(read|update|delete|write)\( \\ "[^ \\ "]+ \\ "\)")* \]$/ ' ;
144144 return preg_match ($ pattern , $ string ) === 1 ;
145145 }
146146
@@ -165,6 +165,8 @@ public function extractPermissionParts(string $string): array
165165 if (strpos ($ idString , '/ ' ) !== false ) {
166166 $ id = explode ('/ ' , $ idString , 2 )[0 ];
167167 $ innerRole = explode ('/ ' , $ idString , 2 )[1 ];
168+ } else {
169+ $ id = $ idString ;
168170 }
169171 } else {
170172 $ role = $ roleString ;
Original file line number Diff line number Diff line change @@ -256,7 +256,15 @@ public function getPermissionExample(string $example): string
256256 {
257257 $ permissions = [];
258258 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
259- $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '()) ' ;
259+ $ args = [];
260+ if ($ permission ['id ' ] !== null ) {
261+ $ args [] = "' " . $ permission ['id ' ] . "' " ;
262+ }
263+ if ($ permission ['innerRole ' ] !== null ) {
264+ $ args [] = "' " . $ permission ['innerRole ' ] . "' " ;
265+ }
266+ $ argsString = implode (', ' , $ args );
267+ $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
260268 }
261269 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
262270 }
Original file line number Diff line number Diff line change @@ -193,7 +193,15 @@ public function getPermissionExample(string $example): string
193193 {
194194 $ permissions = [];
195195 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
196- $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '()) ' ;
196+ $ args = [];
197+ if ($ permission ['id ' ] !== null ) {
198+ $ args [] = "' " . $ permission ['id ' ] . "' " ;
199+ }
200+ if ($ permission ['innerRole ' ] !== null ) {
201+ $ args [] = "' " . $ permission ['innerRole ' ] . "' " ;
202+ }
203+ $ argsString = implode (', ' , $ args );
204+ $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
197205 }
198206 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
199207 }
Original file line number Diff line number Diff line change @@ -316,7 +316,15 @@ public function getPermissionExample(string $example): string
316316 {
317317 $ permissions = [];
318318 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
319- $ permissions [] = 'Permission. ' . ucfirst ($ permission ['action ' ]) . '(Role. ' . ucfirst ($ permission ['role ' ]) . '()) ' ;
319+ $ args = [];
320+ if ($ permission ['id ' ] !== null ) {
321+ $ args [] = '" ' . $ permission ['id ' ] . '" ' ;
322+ }
323+ if ($ permission ['innerRole ' ] !== null ) {
324+ $ args [] = '" ' . $ permission ['innerRole ' ] . '" ' ;
325+ }
326+ $ argsString = implode (', ' , $ args );
327+ $ permissions [] = 'Permission. ' . ucfirst ($ permission ['action ' ]) . '(Role. ' . ucfirst ($ permission ['role ' ]) . '( ' . $ argsString . ')) ' ;
320328 }
321329 return 'new List<string> { ' . implode (', ' , $ permissions ) . ' } ' ;
322330 }
Original file line number Diff line number Diff line change @@ -383,7 +383,15 @@ public function getPermissionExample(string $example): string
383383 {
384384 $ permissions = [];
385385 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
386- $ permissions [] = 'Permission:: ' . $ permission ['action ' ] . '(Role:: ' . $ permission ['role ' ] . '()) ' ;
386+ $ args = [];
387+ if ($ permission ['id ' ] !== null ) {
388+ $ args [] = '" ' . $ permission ['id ' ] . '" ' ;
389+ }
390+ if ($ permission ['innerRole ' ] !== null ) {
391+ $ args [] = '" ' . $ permission ['innerRole ' ] . '" ' ;
392+ }
393+ $ argsString = implode (', ' , $ args );
394+ $ permissions [] = 'Permission:: ' . $ permission ['action ' ] . '(Role:: ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
387395 }
388396 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
389397 }
Original file line number Diff line number Diff line change @@ -329,7 +329,15 @@ public function getPermissionExample(string $example): string
329329 {
330330 $ permissions = [];
331331 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
332- $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '()) ' ;
332+ $ args = [];
333+ if ($ permission ['id ' ] !== null ) {
334+ $ args [] = "' " . $ permission ['id ' ] . "' " ;
335+ }
336+ if ($ permission ['innerRole ' ] !== null ) {
337+ $ args [] = "' " . $ permission ['innerRole ' ] . "' " ;
338+ }
339+ $ argsString = implode (', ' , $ args );
340+ $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
333341 }
334342 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
335343 }
Original file line number Diff line number Diff line change @@ -454,7 +454,15 @@ public function getPermissionExample(string $example): string
454454 {
455455 $ permissions = [];
456456 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
457- $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '()) ' ;
457+ $ args = [];
458+ if ($ permission ['id ' ] !== null ) {
459+ $ args [] = '" ' . $ permission ['id ' ] . '" ' ;
460+ }
461+ if ($ permission ['innerRole ' ] !== null ) {
462+ $ args [] = '" ' . $ permission ['innerRole ' ] . '" ' ;
463+ }
464+ $ argsString = implode (', ' , $ args );
465+ $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
458466 }
459467 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
460468 }
Original file line number Diff line number Diff line change @@ -167,7 +167,15 @@ public function getPermissionExample(string $example): string
167167 {
168168 $ permissions = [];
169169 foreach ($ this ->extractPermissionParts ($ example ) as $ permission ) {
170- $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '( ' . 'Role. ' . $ permission ['role ' ] . '( ' . ') ' . ') ' ;
170+ $ args = [];
171+ if ($ permission ['id ' ] !== null ) {
172+ $ args [] = "' " . $ permission ['id ' ] . "' " ;
173+ }
174+ if ($ permission ['innerRole ' ] !== null ) {
175+ $ args [] = "' " . $ permission ['innerRole ' ] . "' " ;
176+ }
177+ $ argsString = implode (', ' , $ args );
178+ $ permissions [] = 'Permission. ' . $ permission ['action ' ] . '(Role. ' . $ permission ['role ' ] . '( ' . $ argsString . ')) ' ;
171179 }
172180 return '[ ' . implode (', ' , $ permissions ) . '] ' ;
173181 }
You can’t perform that action at this time.
0 commit comments