Files
Vari a0e2e321cc Created a middleware for checking permissions in admin controllers, so I cannot forget to add permission checks.
Changed some descriptions of the admin tools for Miraak.

Aded some more Permissions and added a moderator role.
2024-08-11 16:34:59 +02:00

55 lines
1.4 KiB
PHP

<?php
namespace App\Http\Requests\Api\Admin\Tools;
use App\APIClients\HttpMethod;
use App\Enums\Auth\Permissions;
use Auth;
use Carbon\Carbon;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class BanPostRequest extends FormRequest
{
public string $reason;
public Carbon $startDate;
public Carbon $endDate;
public HttpMethod $editMethod;
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return Auth::user()?->can(Permissions::USER_BANS->value);
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'method' => [Rule::enum(HttpMethod::class), 'required'],
'reason' => 'string|required',
'startDate' => 'date|required',
'endDate' => 'date|required',
];
}
public function passedValidation()
{
$fromTimezone = 'Europe/Berlin';
$this->reason = $this->input('reason');
$this->startDate = Carbon::parse($this->input('startDate'), $fromTimezone);
$this->endDate = Carbon::parse($this->input('endDate'), $fromTimezone);
$this->editMethod = HttpMethod::from($this->input('method'));
}
}