feat(user/controller): implementado borrado lógico y reactivación (solo ADMIN)…

feat(user/controller): implementado borrado lógico y reactivación (solo ADMIN) en UpdateUserController
parent 5458ac4b
package com.example.apprecetas.user.infrastructure.controller; package com.example.apprecetas.user.infrastructure.controller;
import com.example.apprecetas.exception.UnprocessableEntityException; import com.example.apprecetas.exception.UnprocessableEntityException;
import com.example.apprecetas.user.application.ReadUserUseCase;
import com.example.apprecetas.user.application.UpdateUserUseCase; import com.example.apprecetas.user.application.UpdateUserUseCase;
import com.example.apprecetas.user.infrastructure.controller.dto.UserInputDto; import com.example.apprecetas.user.infrastructure.controller.dto.UserInputDto;
import com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto; import com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto;
...@@ -12,10 +11,7 @@ import org.mapstruct.factory.Mappers; ...@@ -12,10 +11,7 @@ import org.mapstruct.factory.Mappers;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -26,8 +22,6 @@ public class UpdateUserController { ...@@ -26,8 +22,6 @@ public class UpdateUserController {
private final UpdateUserUseCase service; private final UpdateUserUseCase service;
private final ReadUserUseCase readUserUseCase;
private final UserMapper mapper = Mappers.getMapper(UserMapper.class); private final UserMapper mapper = Mappers.getMapper(UserMapper.class);
@PutMapping @PutMapping
...@@ -42,4 +36,17 @@ public class UpdateUserController { ...@@ -42,4 +36,17 @@ public class UpdateUserController {
return ResponseEntity.ok().body(mapper.map(service.updateById(userId, mapper.map(userInputDto)))); return ResponseEntity.ok().body(mapper.map(service.updateById(userId, mapper.map(userInputDto))));
} }
@PatchMapping("/{id}/deactivate")
public ResponseEntity<String> deactivate(@PathVariable String id) {
// Añadir autorización
service.deactivateById(id);
return ResponseEntity.ok().body("Usuario con id " + id + " desactivado");
}
@PatchMapping("/{id}/activate")
public ResponseEntity<String> activate(@PathVariable String id) {
service.activateById(id);
return ResponseEntity.ok().body("Usuario con id " + id + " activado");
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment