Feat: Organize videos by sector
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class CreateSectorRequest 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<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => 'required|string|max:50|unique:sectors,name',
|
||||
'slug' => 'sometimes|string|max:50|unique:sectors,slug',
|
||||
];
|
||||
}
|
||||
|
||||
public function messages(): array
|
||||
{
|
||||
return [
|
||||
'name.required' => 'O nome do setor é obrigatório',
|
||||
'name.max' => 'O nome do setor deve ter no máximo 50 caracteres',
|
||||
'slug.required' => 'O slug é obrigatório',
|
||||
'slug.max' => 'O slug deve ter no máximo 50 caracteres',
|
||||
'slug.unique' => 'O slug já existe',
|
||||
'name.unique' => 'O setor já existe',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,7 @@ class CreateUserRequest extends FormRequest
|
||||
'email' => 'required|email|unique:users,email',
|
||||
'password' => 'required|string|min:6|confirmed',
|
||||
'role_id' => 'required|exists:roles,id',
|
||||
'sector_id' => 'required|exists:sectors,id',
|
||||
];
|
||||
|
||||
}
|
||||
@@ -44,6 +45,8 @@ class CreateUserRequest extends FormRequest
|
||||
'password.required' => 'A password é obrigatória',
|
||||
'password.min' => 'A password deve ter pelo menos 6 caracteres',
|
||||
'password.confirmed' => 'As passwords não coincidem',
|
||||
'sector_id.required' => 'Obrigatório selecionar um setor',
|
||||
'sector_id.exists' => 'Setor não encontrado',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,7 @@ class CreateVideoRequest extends FormRequest
|
||||
'duration' => 'nullable|string|max:10',
|
||||
'tags' => 'nullable|string|max:255', // nullable para não ser obrigatório
|
||||
'category_ids' => 'nullable|array|exists:categories,id', // nullable caso não selecione
|
||||
'sector_ids' => 'nullable|array|exists:sectors,id', // nullable caso não selecione
|
||||
'order' => 'nullable|integer|min:0',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ class UpdateUserRequest extends FormRequest
|
||||
Rule::unique('users', 'email')->ignore($userId),
|
||||
],
|
||||
'role_id' => 'sometimes|exists:roles,id',
|
||||
'sector_id' => 'sometimes|exists:sectors,id',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -43,6 +44,7 @@ class UpdateUserRequest extends FormRequest
|
||||
'email.email' => 'O email deve ser um email válido',
|
||||
'email.unique' => 'O email já está em uso',
|
||||
'role_id.exists' => 'Cargo não encontrado',
|
||||
'sector_id.exists' => 'Setor não encontrado',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ class UpdateVideoRequest extends FormRequest
|
||||
'tags' => 'sometimes|string|max:100',
|
||||
'category_ids' => 'sometimes|array',
|
||||
'category_ids.*' => 'exists:categories,id',
|
||||
'sector_ids' => 'sometimes|array',
|
||||
'sector_ids.*' => 'exists:sectors,id',
|
||||
'is_active' => 'sometimes|boolean',
|
||||
'order' => 'sometimes|integer|min:0',
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user