CompanyController.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.platform2easy.genesis.web.controller;
  2. import com.platform2easy.genesis.domain.model.Company;
  3. import com.platform2easy.genesis.domain.service.CompanyService;
  4. import com.platform2easy.genesis.web.dto.CompanyWithUserDTO;
  5. import lombok.AllArgsConstructor;
  6. import org.springframework.http.HttpStatus;
  7. import org.springframework.web.bind.annotation.*;
  8. import java.util.List;
  9. @RestController
  10. @RequestMapping("/api/company")
  11. @AllArgsConstructor
  12. public class CompanyController {
  13. private final CompanyService service;
  14. @GetMapping
  15. @ResponseStatus(HttpStatus.OK)
  16. public List<Company> listAll() {
  17. return service.listarTodos();
  18. }
  19. @GetMapping("/{id}")
  20. @ResponseStatus(HttpStatus.OK)
  21. public Company getById(@PathVariable Long id) {
  22. return service.buscarPorId(id);
  23. }
  24. @PostMapping
  25. @ResponseStatus(HttpStatus.CREATED)
  26. public Company create(@RequestBody Company company) {
  27. company.setId(null);
  28. return service.salvar(company);
  29. }
  30. @PutMapping("/{id}")
  31. @ResponseStatus(HttpStatus.OK)
  32. public Company update(@PathVariable Long id, @RequestBody Company company) {
  33. company.setId(id);
  34. return service.salvar(company);
  35. }
  36. @DeleteMapping("/{id}")
  37. @ResponseStatus(HttpStatus.NO_CONTENT)
  38. public void delete(@PathVariable Long id) {
  39. service.deletarPorId(id);
  40. }
  41. @PostMapping("/register-with-user")
  42. @ResponseStatus(HttpStatus.CREATED)
  43. public Company registerCompanyWithUser(@RequestBody CompanyWithUserDTO dto) {
  44. return service.registerCompanyWithUser(dto);
  45. }
  46. }