-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathCreateDeviceRequest.php
More file actions
51 lines (47 loc) · 2.39 KB
/
Copy pathCreateDeviceRequest.php
File metadata and controls
51 lines (47 loc) · 2.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace Fleetbase\FleetOps\Http\Requests;
use Fleetbase\FleetOps\Rules\ResolvablePoint;
use Fleetbase\Http\Requests\FleetbaseRequest;
use Illuminate\Validation\Rule;
class CreateDeviceRequest extends FleetbaseRequest
{
public function authorize(): bool
{
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
}
public function rules(): array
{
return [
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
'type' => ['nullable', 'string'],
'device_id' => ['nullable', 'string'],
'internal_id' => ['nullable', 'string'],
'imei' => ['nullable', 'string'],
'imsi' => ['nullable', 'string'],
'firmware_version' => ['nullable', 'string'],
'provider' => ['nullable', 'string'],
'model' => ['nullable', 'string'],
'manufacturer' => ['nullable', 'string'],
'serial_number' => ['nullable', 'string'],
'location' => ['nullable'],
'last_position' => ['nullable', new ResolvablePoint()],
'latitude' => ['nullable', 'required_with:longitude'],
'longitude' => ['nullable', 'required_with:latitude'],
'installation_date' => ['nullable', 'date'],
'last_maintenance_date' => ['nullable', 'date'],
'last_online_at' => ['nullable', 'date'],
'online' => ['nullable', 'boolean'],
'status' => ['nullable', 'string'],
'data_frequency' => ['nullable', 'integer'],
'notes' => ['nullable', 'string'],
'telematic' => ['nullable', 'string'],
'warranty' => ['nullable', 'string'],
'photo' => ['nullable', 'string'],
'attachable_type' => ['nullable', 'string'],
'attachable' => ['nullable', 'required_with:attachable_type', 'string'],
'meta' => ['nullable', 'array'],
'data' => ['nullable', 'array'],
'options' => ['nullable', 'array'],
];
}
}