Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 30 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 1 |
ShortcutFormRequest | |
0.00% |
0 / 30 |
|
0.00% |
0 / 3 |
30 | |
0.00% |
0 / 1 |
authorize | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
rules | |
0.00% |
0 / 26 |
|
0.00% |
0 / 1 |
12 | |||
messages | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace App\Http\Requests; |
4 | |
5 | use Illuminate\Foundation\Http\FormRequest; |
6 | use Illuminate\Validation\Rule; |
7 | |
8 | class ShortcutFormRequest extends FormRequest |
9 | { |
10 | public function authorize(): bool |
11 | { |
12 | return true; |
13 | } |
14 | |
15 | public function rules(): array |
16 | { |
17 | $userId = request()->user()->getKey(); |
18 | $rules = []; |
19 | switch ($this->method()) { |
20 | case 'POST': |
21 | $rules = [ |
22 | 'title' => 'string', |
23 | 'shortcut' => ['required', Rule::unique('shortcuts', 'shortcut')->where('user_id', $userId)], |
24 | 'first_line' => 'sometimes|string|nullable', |
25 | 'text' => 'sometimes|string|nullable', |
26 | 'html' => 'required|string', |
27 | 'uploads' => 'sometimes|array', |
28 | 'onboarding' => 'sometimes|boolean', |
29 | ]; |
30 | |
31 | break; |
32 | |
33 | case 'PUT': |
34 | $id = request()->route('id'); |
35 | $rules = [ |
36 | 'title' => 'sometimes|string', |
37 | 'shortcut' => ['required', Rule::unique('shortcuts', 'shortcut')->where('user_id', $userId)->ignore($id, '_id')], |
38 | 'first_line' => 'sometimes|string|nullable', |
39 | 'text' => 'sometimes|string|nullable', |
40 | 'html' => 'sometimes|required|string', |
41 | 'uploads' => 'sometimes|array', |
42 | ]; |
43 | break; |
44 | } |
45 | |
46 | return $rules; |
47 | } |
48 | |
49 | public function messages(): array |
50 | { |
51 | return [ |
52 | 'shortcut.unique' => 'This FlyCut code already exists. Please make sure your FlyCut code is unique.', |
53 | ]; |
54 | } |
55 | } |