Mercurial > packages > magicforger
changeset 42:62953a663acc ls_dev_2025_09
changes for stubs around the base controller and filters, aswell as pagination
| author | luka |
|---|---|
| date | Thu, 12 Nov 2026 21:17:11 -0500 |
| parents | 59eb5b4424ca |
| children | cde7e0f145fa |
| files | src/Generator/Controller/stubs/controller.stub src/Generator/Requests/FilterRequestGenerator.php src/Generator/Requests/stubs/filter_request.stub src/Generator/View/stubs/index.stub |
| diffstat | 4 files changed, 37 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Generator/Controller/stubs/controller.stub Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/Controller/stubs/controller.stub Thu Nov 12 21:17:11 2026 -0500 @@ -25,11 +25,10 @@ public function get_data({{ filterRequest }} $request) { - $filters = $request->validated()['filters'] ?? []; + $validated = $request->validated() ?? []; $data = []; - $data['records'] = {{ model }}::get_data($filters); - $data['total_records'] = count($data['records']); + $data = array_merge($data, {{ model }}::get_data($validated)); return $data; }
--- a/src/Generator/Requests/FilterRequestGenerator.php Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/Requests/FilterRequestGenerator.php Thu Nov 12 21:17:11 2026 -0500 @@ -44,7 +44,7 @@ */ protected function getStub() { - return $this->resolveStubPath('/stubs/request.stub'); + return $this->resolveStubPath('/stubs/filter_request.stub'); } /**
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Generator/Requests/stubs/filter_request.stub Thu Nov 12 21:17:11 2026 -0500 @@ -0,0 +1,33 @@ +<?php + +namespace {{ namespace }}; + +use Illuminate\Foundation\Http\FormRequest; + +class {{ class }} extends FormRequest +{ + /** + * Determine if the user is authorized to make this request. + */ + public function authorize(): bool + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string> + */ + public function rules(): array + { + return [ + 'filters' => [ + // {{ valuesForValidation }} + ], + 'page' => ['nullable', 'int', 'min:0'], + 'page_size' => ['nullable', 'int', 'min:0'], + 'sort' => ['nullable', 'array'], + ]; + } +}
--- a/src/Generator/View/stubs/index.stub Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/View/stubs/index.stub Thu Nov 12 21:17:11 2026 -0500 @@ -28,6 +28,7 @@ if (el) { new ServerTable(el, { endpoint: '/{{ tableName }}/get_data', + filters: Object.fromEntries(new URLSearchParams(location.search)), columns: [ {{ columnInsertPoint }} {
