Skip to content

Commit 546717e

Browse files
author
Ni Nelli
committed
refactor: change adding getOrderableFields to generated SearchRequest
refs: #194
1 parent f45f792 commit 546717e

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

src/Generators/RequestsGenerator.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,10 @@ protected function getRules($name, $type, $required, $nullable, $present): array
195195
$rules[] = 'present';
196196
}
197197

198+
if ($name === 'order_by') {
199+
$rules[] = 'in:';
200+
}
201+
198202
return [
199203
'name' => $name,
200204
'rules' => $rules

stubs/request.blade.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@ public function rules(): array
1818
@if(!empty($parameters))
1919
return [
2020
@foreach($parameters as $parameter)
21-
@if($method === $requestsGenerator::SEARCH_METHOD && $parameter['name'] === 'order_by')
22-
'{{ $parameter['name'] }}' => '{{ implode('|', $parameter['rules']) }}|in:' . self::getOrderableFields({{ Str::singular($entity) }}::class),
23-
@continue;
24-
@endif
25-
'{{ $parameter['name'] }}' => '{{ implode('|', $parameter['rules']) }}',
21+
'{{ $parameter['name'] }}' => '{!! implode('|', $parameter['rules']) !!}'@if ($parameter['name'] === 'order_by') . $this->getOrderableFields({{ Str::singular($entity) }}::class)@endif,
2622
@endforeach
2723
];
2824
@else

tests/CommandTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public function testCallCommandSubFoldersModel()
126126
$this->assertGeneratedFileEquals('service.php', 'app/Services/PostService.php');
127127
$this->assertGeneratedFileEquals('create_request.php', 'app/Http/Requests/Post/CreatePostRequest.php');
128128
$this->assertGeneratedFileEquals('get_request.php', 'app/Http/Requests/Post/GetPostRequest.php');
129-
$this->assertGeneratedFileEquals('subfolder/search_request.php', 'app/Http/Requests/Post/SearchPostsRequest.php');
129+
$this->assertGeneratedFileEquals('search_request_subfolder_model.php', 'app/Http/Requests/Post/SearchPostsRequest.php');
130130
$this->assertGeneratedFileEquals('update_request.php', 'app/Http/Requests/Post/UpdatePostRequest.php');
131131
$this->assertGeneratedFileEquals('delete_request.php', 'app/Http/Requests/Post/DeletePostRequest.php');
132132
$this->assertGeneratedFileEquals('controller.php', 'app/Http/Controllers/PostController.php');

tests/fixtures/CommandTest/search_request.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public function rules(): array
1212
return [
1313
'page' => 'integer',
1414
'per_page' => 'integer',
15-
'order_by' => 'string|in:' . self::getOrderableFields(Post::class),
15+
'order_by' => 'string|in:' . $this->getOrderableFields(Post::class),
1616
'desc' => 'boolean',
1717
'all' => 'boolean',
1818
'with' => 'array',

tests/fixtures/CommandTest/subfolder/search_request.php renamed to tests/fixtures/CommandTest/search_request_subfolder_model.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public function rules(): array
1212
return [
1313
'page' => 'integer',
1414
'per_page' => 'integer',
15-
'order_by' => 'string|in:' . self::getOrderableFields(Post::class),
15+
'order_by' => 'string|in:' . $this->getOrderableFields(Post::class),
1616
'desc' => 'boolean',
1717
'all' => 'boolean',
1818
'with' => 'array',

tests/fixtures/RequestGeneratorTest/search_request.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public function rules(): array
1717
'desc' => 'boolean',
1818
'all' => 'boolean',
1919
'with' => 'array',
20-
'order_by' => 'string|in:' . self::getOrderableFields(Post::class),
20+
'order_by' => 'string|in:' . $this->getOrderableFields(Post::class),
2121
'query' => 'string|nullable',
2222
'with.*' => 'string',
2323
];

0 commit comments

Comments
 (0)