74 lines
3.1 KiB
Java
74 lines
3.1 KiB
Java
package com.iconplus.smartproc.controller;
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.model.request.RolesRequest;
|
|
import com.iconplus.smartproc.model.response.GetRolesResponse;
|
|
import com.iconplus.smartproc.model.response.RolesResponse;
|
|
import com.iconplus.smartproc.service.roles.*;
|
|
import org.springframework.data.domain.PageRequest;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
|
|
@RestController
|
|
@RequestMapping("/api/roles")
|
|
public class RolesController {
|
|
|
|
private final GetRolesService getRolesService;
|
|
private final PostCreateRoleService postCreateRoleService;
|
|
private final GetRoleByIdService getRoleByIdService;
|
|
private final PutUpdateRoleService putUpdateRoleService;
|
|
private final DeleteRoleService deleteRoleService;
|
|
|
|
public RolesController(GetRolesService getRolesService,
|
|
PostCreateRoleService postCreateRoleService,
|
|
GetRoleByIdService getRoleByIdService,
|
|
PutUpdateRoleService putUpdateRoleService,
|
|
DeleteRoleService deleteRoleService) {
|
|
this.getRolesService = getRolesService;
|
|
this.postCreateRoleService = postCreateRoleService;
|
|
this.getRoleByIdService = getRoleByIdService;
|
|
this.putUpdateRoleService = putUpdateRoleService;
|
|
this.deleteRoleService = deleteRoleService;
|
|
}
|
|
|
|
@GetMapping
|
|
public GetRolesResponse getRoles(@RequestParam(name = "search", required = false) String search,
|
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
|
|
|
Pageable pageable = PageRequest.of((page - 1), size);
|
|
RolesRequest rolesRequest = RolesRequest.builder()
|
|
.search(search)
|
|
.pageable(pageable)
|
|
.build();
|
|
|
|
return getRolesService.execute(rolesRequest);
|
|
}
|
|
|
|
@PostMapping
|
|
public RolesResponse createRoles(@RequestBody RolesRequest rolesRequest) {
|
|
return postCreateRoleService.execute(rolesRequest);
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
public RolesResponse getRolesById(@PathVariable Long id) {
|
|
return getRoleByIdService.execute(RolesRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
|
|
@PutMapping("/{id}")
|
|
public RolesResponse updateRoles(@PathVariable Long id, @RequestBody RolesRequest rolesRequest){
|
|
rolesRequest.setId(id);
|
|
return putUpdateRoleService.execute(rolesRequest);
|
|
}
|
|
|
|
@DeleteMapping("/{id}")
|
|
public EmptyResponse deleteRoles(@PathVariable Long id){
|
|
return deleteRoleService.execute(RolesRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
}
|