first commit
This commit is contained in:
32
app/Http/Requests/Teams/AcceptTeamInvitationRequest.php
Normal file
32
app/Http/Requests/Teams/AcceptTeamInvitationRequest.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Teams;
|
||||
|
||||
use App\Rules\ValidTeamInvitation;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class AcceptTeamInvitationRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'invitation' => ['required', new ValidTeamInvitation($this->user())],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation data from the request.
|
||||
*/
|
||||
public function validationData(): array
|
||||
{
|
||||
return array_merge(parent::validationData(), [
|
||||
'invitation' => $this->route('invitation'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
25
app/Http/Requests/Teams/CreateTeamInvitationRequest.php
Normal file
25
app/Http/Requests/Teams/CreateTeamInvitationRequest.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Teams;
|
||||
|
||||
use App\Enums\TeamRole;
|
||||
use App\Rules\UniqueTeamInvitation;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class CreateTeamInvitationRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'email' => ['required', 'string', 'email', 'max:255', new UniqueTeamInvitation($this->route('team'))],
|
||||
'role' => ['required', 'string', Rule::enum(TeamRole::class)],
|
||||
];
|
||||
}
|
||||
}
|
||||
47
app/Http/Requests/Teams/DeleteTeamRequest.php
Normal file
47
app/Http/Requests/Teams/DeleteTeamRequest.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Teams;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Validation\Validator;
|
||||
|
||||
class DeleteTeamRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize(): bool
|
||||
{
|
||||
return Gate::allows('delete', $this->route('team'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => ['required', 'string'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the validator instance.
|
||||
*/
|
||||
public function after(): array
|
||||
{
|
||||
return [
|
||||
function (Validator $validator) {
|
||||
$team = $this->route('team');
|
||||
|
||||
if ($this->input('name') !== $team->name) {
|
||||
$validator->errors()->add('name', __('The team name does not match.'));
|
||||
}
|
||||
},
|
||||
];
|
||||
}
|
||||
}
|
||||
22
app/Http/Requests/Teams/SaveTeamRequest.php
Normal file
22
app/Http/Requests/Teams/SaveTeamRequest.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Teams;
|
||||
|
||||
use App\Rules\TeamName;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class SaveTeamRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'name' => ['required', 'string', 'max:255', new TeamName],
|
||||
];
|
||||
}
|
||||
}
|
||||
23
app/Http/Requests/Teams/UpdateTeamMemberRequest.php
Normal file
23
app/Http/Requests/Teams/UpdateTeamMemberRequest.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Teams;
|
||||
|
||||
use App\Enums\TeamRole;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class UpdateTeamMemberRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, ValidationRule|array<mixed>|string>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'role' => ['required', 'string', Rule::in(array_column(TeamRole::assignable(), 'value'))],
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user