diff --git a/app/Http/Controllers/Member/CreateMemberController.php b/app/Http/Controllers/Member/CreateMemberController.php index c9798c6..cb989ed 100644 --- a/app/Http/Controllers/Member/CreateMemberController.php +++ b/app/Http/Controllers/Member/CreateMemberController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Member; +use App\Models\Squad; use Ramsey\Uuid\Uuid; use App\Models\Member; use Illuminate\Http\Request; @@ -13,10 +14,24 @@ public function __invoke(Request $request, string $squadUuid) { $member = new Member(); + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'role' => ['required', 'string', 'max:30'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'role.required' => 'O campo cargo é obrigatório', + 'role.string' => 'O campo cargo deve ser uma string.', + 'role.max' => 'O campo cargo não pode ter mais de :max caracteres.' + ]); + $member->uuid = Uuid::uuid4()->toString(); $member->name = $request->input('name'); $member->role = $request->input('role'); - $member->squad_uuid = $request->input('squad_uuid'); + $member->squad_uuid = $squadUuid; $member->save(); return response()->json([ diff --git a/app/Http/Controllers/Member/EditMemberController.php b/app/Http/Controllers/Member/EditMemberController.php index 2ea1e13..3aee014 100644 --- a/app/Http/Controllers/Member/EditMemberController.php +++ b/app/Http/Controllers/Member/EditMemberController.php @@ -17,6 +17,20 @@ public function __invoke(request $request, string $uuid, string $memberUuid) return response()->json(['error' => 'Membro não encontrado'], 404); } + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'role' => ['required', 'string', 'max:30'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'role.required' => 'O campo cargo é obrigatório', + 'role.string' => 'O campo cargo deve ser uma string.', + 'role.max' => 'O campo cargo não pode ter mais de :max caracteres.' + ]); + $member->name = $request->input('name'); $member->role = $request->input('role'); $member->save(); diff --git a/app/Http/Controllers/Product/CreateProductController.php b/app/Http/Controllers/Product/CreateProductController.php index 2330cdd..363bfd0 100644 --- a/app/Http/Controllers/Product/CreateProductController.php +++ b/app/Http/Controllers/Product/CreateProductController.php @@ -15,6 +15,19 @@ public function __invoke(Request $request) $product = new Product(); + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'description' => ['required', 'string'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'description.required' => 'Ocampo descrição é obrigatório', + 'description.string' => 'O campo descrição deve ser uma string.' + ]); + $product->uuid = Uuid::uuid4()->toString(); $product->owner_uuid = $user->uuid; $product->name = $request->input('name'); diff --git a/app/Http/Controllers/Product/EditProductController.php b/app/Http/Controllers/Product/EditProductController.php index c182a94..3104703 100644 --- a/app/Http/Controllers/Product/EditProductController.php +++ b/app/Http/Controllers/Product/EditProductController.php @@ -28,6 +28,19 @@ public function __invoke(Request $request, string $uuid) ], 403); } + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'description' => ['required', 'string'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'description.required' => 'Ocampo descrição é obrigatório', + 'description.string' => 'O campo descrição deve ser uma string.' + ]); + $product->name = $request->input('name'); $product->description = $request->input('description'); $product->save(); diff --git a/app/Http/Controllers/Squad/CreateSquadController.php b/app/Http/Controllers/Squad/CreateSquadController.php index 61e0e3b..bf53ba9 100644 --- a/app/Http/Controllers/Squad/CreateSquadController.php +++ b/app/Http/Controllers/Squad/CreateSquadController.php @@ -16,6 +16,19 @@ public function __invoke(Request $request) $product = Product::query()->where('owner_uuid', $user->uuid)->first(); $squad = new Squad(); + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'description' => ['required', 'string'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'description.required' => 'Ocampo descrição é obrigatório', + 'description.string' => 'O campo descrição deve ser uma string.' + ]); + $squad->uuid = Uuid::uuid4()->toString(); $squad->product_uuid = $product->uuid; $squad->name = $request->input('name'); diff --git a/app/Http/Controllers/Squad/EditSquadController.php b/app/Http/Controllers/Squad/EditSquadController.php index 7b966f6..f9af62c 100644 --- a/app/Http/Controllers/Squad/EditSquadController.php +++ b/app/Http/Controllers/Squad/EditSquadController.php @@ -19,7 +19,6 @@ public function __invoke(Request $request, string $uuid) return response()->json(['error' => 'Squad não encontrada'], 404); } - $product = Product::query()->where('uuid', $squad->product_uuid)->first(); if (!$product) { @@ -27,13 +26,26 @@ public function __invoke(Request $request, string $uuid) return response()->json(['error' => 'Produto não encontrado'], 404); } - if ($user->uuid !== $product->owner_uuid) { return response()->json(['error' => 'Você não tem permissão para atualizar esse produto'], 403); } + $request->validate([ + + 'name' => ['required', 'string', 'max:60'], + 'role' => ['required', 'string', 'max:30'] + + ], [ + 'name.required' => 'O campo nome é obrigatório.', + 'name.string' => 'O campo nome deve ser uma string.', + 'name.max' => 'O campo nome não pode ter mais de :max caracteres.', + 'role.required' => 'O campo cargo é obrigatório', + 'role.string' => 'O campo cargo deve ser uma string.', + 'role.max' => 'O campo cargo não pode ter mais de :max caracteres.' + ]); + $squad->name = $request->input('name'); $squad->description = $request->input('description'); $squad->save(); diff --git a/routes/api.php b/routes/api.php index a5aa1b7..f65b82f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -59,7 +59,7 @@ Route::put('/{uuid}', [EditUserController::class, '__invoke']) ->whereUuid('uuid') - ->name('apr.user.edit'); + ->name('api.user.edit'); Route::delete('/{uuid}', [DeleteUserController::class, '__invoke']) ->whereUuid('uuid') @@ -116,6 +116,7 @@ ->name('api.member.show'); Route::post('/', [CreateMemberController::class, '__invoke']) + ->whereUuid('uuid') ->name('api.member.create'); Route::put('/{memberUuid}', [EditMemberController::class, '__invoke']) @@ -138,4 +139,4 @@ Route::prefix('user')->group(function () { Route::post('/', [CreateUserController::class, '__invoke']) ->name('api.user.create'); -}); \ No newline at end of file +});