2015-12-13 12:42:28 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Requests\API;
|
|
|
|
|
2018-09-03 19:41:49 +07:00
|
|
|
use App\Models\User;
|
2021-05-21 19:14:00 +02:00
|
|
|
use Illuminate\Validation\Rules\Password;
|
2018-09-03 19:41:49 +07:00
|
|
|
|
2016-08-03 18:42:11 +08:00
|
|
|
/**
|
2020-09-06 23:20:42 +02:00
|
|
|
* @property string $password
|
|
|
|
* @property string $name
|
|
|
|
* @property string $email
|
2021-06-05 12:47:56 +02:00
|
|
|
* @property bool $is_admin
|
2016-08-03 18:42:11 +08:00
|
|
|
*/
|
2015-12-13 12:42:28 +08:00
|
|
|
class UserUpdateRequest extends Request
|
|
|
|
{
|
2018-08-30 10:11:47 +07:00
|
|
|
public function authorize(): bool
|
2015-12-13 12:42:28 +08:00
|
|
|
{
|
|
|
|
return auth()->user()->is_admin;
|
|
|
|
}
|
|
|
|
|
2020-12-22 21:11:22 +01:00
|
|
|
/** @return array<mixed> */
|
2018-08-30 10:11:47 +07:00
|
|
|
public function rules(): array
|
2015-12-13 12:42:28 +08:00
|
|
|
{
|
2018-09-03 19:41:49 +07:00
|
|
|
/** @var User $user */
|
|
|
|
$user = $this->route('user');
|
|
|
|
|
2015-12-13 12:42:28 +08:00
|
|
|
return [
|
|
|
|
'name' => 'required',
|
2020-12-22 21:11:22 +01:00
|
|
|
'email' => 'required|email|unique:users,email,' . $user->id,
|
2021-05-21 19:14:00 +02:00
|
|
|
'password' => ['sometimes', Password::defaults()],
|
2015-12-13 12:42:28 +08:00
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|