diff --git a/README.md b/README.md index 3f5a478..64e9b3a 100644 --- a/README.md +++ b/README.md @@ -557,7 +557,17 @@ Resultado esperado "success": "Subtarefa deletada com sucesso" } ``` +### Atualizando subtarefas +Faça uma requisição PUT na rota `api/empresas/subtarefas/{subtarefa}/{hash}`, `{subtarefa}` é o id da subtarefa que vai ser alterada e `{hash}` é o id do usuario. +Exemplo de corpo: + +``` +PUT /api/empresas/subtarefas/2/G499A5017c4674h4872b540 +{ + "subtarefa": "Essa é a subtarefa atualizada" +} +``` ### Alterando estados das tarefas e subtarefas Para alternar o estado das tarefas entre feito e não feito basta fazer requisições PATCH nas rotas `api/empresas/tarefas/{tarefa}/{hash}` e `api/empresas/subtarefas/{subtarefa}/{hash}`. Nenhum body é necessario e sera enviado um feeedback do estado atual da tarefa. diff --git a/app/Http/Controllers/EmpresaController.php b/app/Http/Controllers/EmpresaController.php index 2c0dbb8..a0f6208 100644 --- a/app/Http/Controllers/EmpresaController.php +++ b/app/Http/Controllers/EmpresaController.php @@ -170,6 +170,21 @@ function companieTasks(Empresa $empresa, Usuario $hash) return $tarefas->load('tarefa.subtarefas:id,tarefa_id,subtarefa'); } + function updateSubtasks(Request $request, Subtarefa $subtarefa) + { + $validator = Validator::make($request->all(), [ + 'subtarefa' => 'required' + ]); + + if ($validator->fails()) { + return response()->json(['errors' => $validator->errors()], 422); + } + $value = $validator->validate()['subtarefa']; + $subtarefa->subtarefa = $value; + $subtarefa->save(); + return response()->json(['success' => "Subtarefa atualizada com sucesso"], 201); + } + public function show(string $empresaId, string $userHash) { /** diff --git a/routes/api.php b/routes/api.php index 7975207..500c4fe 100644 --- a/routes/api.php +++ b/routes/api.php @@ -83,6 +83,8 @@ // Define uma rota POST para adicionar subtarefas a uma tarefa Route::post('subtarefas/{tarefa}/{hash}', 'addSubtasks'); + // Define uma rota PUT para atualizar tarefa + Route::put('subtarefas/{subtarefa}/{hash}', 'updateSubtasks'); // Define uma rota DELETE para deletar subtarefas de uma tarefa Route::delete('subtarefas/{subtarefa}/{hash}', 'removeSubtask'); //Define uma rota PATCH para alterar estado de uma tarefa