package ec.edu.espe.movilidad.MovilidadWS.Controller; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavProgObjEstartegico; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavProgObjEstartegico.IServiceUzyTavProgObjEstartegico; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.http.HttpStatus; import javax.validation.Valid; import java.util.List; import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION; @RestController @CrossOrigin(origins = "*") @RequestMapping(V1_API_VERSION+"/progObjecEstar") public class UzyTavProgObjEstartegicoController { private final IServiceUzyTavProgObjEstartegico serviceUzyTavProgObjEstartegico; public UzyTavProgObjEstartegicoController(IServiceUzyTavProgObjEstartegico serviceUzyTavProgObjEstartegico) { this.serviceUzyTavProgObjEstartegico = serviceUzyTavProgObjEstartegico; } @GetMapping("/exampleFindId/{id}") public ResponseEntity<DtoUzyTavProgObjEstartegico> ListarPorID(@PathVariable Long id) { return new ResponseEntity<>(serviceUzyTavProgObjEstartegico.ListarPorID(id), HttpStatus.OK); } @GetMapping("/getAll") public ResponseEntity<List<DtoUzyTavProgObjEstartegico>> ListarRegistros() { return new ResponseEntity<>(serviceUzyTavProgObjEstartegico.ListarRegistros(), HttpStatus.OK); } @PostMapping("/guardar") public ResponseEntity<DtoUzyTavProgObjEstartegico> guardar(@Valid @RequestBody DtoUzyTavProgObjEstartegico dtoUzyTavProgObjEstartegico) { DtoUzyTavProgObjEstartegico savedDto = serviceUzyTavProgObjEstartegico.guardar(dtoUzyTavProgObjEstartegico); return ResponseEntity.ok(savedDto); } @PutMapping("/editar/{id}") public ResponseEntity<DtoUzyTavProgObjEstartegico> editar(@PathVariable Long id, @RequestBody DtoUzyTavProgObjEstartegico dtoUzyTavProgObjEstartegico) { return new ResponseEntity<>(serviceUzyTavProgObjEstartegico.editar(id, dtoUzyTavProgObjEstartegico), HttpStatus.OK); } @DeleteMapping("/eliminar/{id}") public ResponseEntity<String> eliminar(@PathVariable Long id){ boolean eliminado = serviceUzyTavProgObjEstartegico.eliminar(id); if (eliminado) { return ResponseEntity.ok("El registro se eliminĂ³ exitosamente."); } else { return ResponseEntity.notFound().build(); } } }