Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 30
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
ShortcutFormRequest
0.00% covered (danger)
0.00%
0 / 30
0.00% covered (danger)
0.00%
0 / 3
30
0.00% covered (danger)
0.00%
0 / 1
 authorize
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 rules
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
12
 messages
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Http\Requests;
4
5use Illuminate\Foundation\Http\FormRequest;
6use Illuminate\Validation\Rule;
7
8class 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}