refactor v2

This commit is contained in:
dirgantarasiahaan
2023-05-24 09:23:51 +07:00
parent ed88afcdde
commit b49a2425c1
52 changed files with 809 additions and 172 deletions

View File

@ -1,66 +1,73 @@
package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.model.entity.Roles;
import com.iconplus.smartproc.exception.ResourceNotFoundException;
import com.iconplus.smartproc.repository.RolesRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
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.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
@RestController
@RequestMapping("/api/roles")
public class RolesController {
@Autowired
private RolesRepository rolesRepository;
//get all data
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 List<Roles> getAllRoless(){
return rolesRepository.findAll();
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);
}
// create
@PostMapping
public Roles createRoles(@RequestBody Roles roles) {
return rolesRepository.save(roles);
public RolesResponse createRoles(@RequestBody RolesRequest rolesRequest) {
return postCreateRoleService.execute(rolesRequest);
}
// get roles by id rest api
@GetMapping("/{id}")
public ResponseEntity<Roles> getRolesById(@PathVariable Long id) {
Roles roles = rolesRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Roles not exist with id :" + id));
return ResponseEntity.ok(roles);
public RolesResponse getRolesById(@PathVariable Long id) {
return getRoleByIdService.execute(RolesRequest.builder()
.id(id)
.build());
}
// update roles rest api
@PutMapping("/{id}")
public ResponseEntity<Roles> updateRoles(@PathVariable Long id, @RequestBody Roles rolesDetails){
Roles roles = rolesRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Roles not exist with id :" + id));
roles.setRole(rolesDetails.getRole());
roles.setKeterangan(rolesDetails.getKeterangan());
roles.setIsActive(rolesDetails.getIsActive());
Roles updatedRoles = rolesRepository.save(roles);
return ResponseEntity.ok(updatedRoles);
public RolesResponse updateRoles(@PathVariable Long id, @RequestBody RolesRequest rolesRequest){
rolesRequest.setId(id);
return putUpdateRoleService.execute(rolesRequest);
}
// delete roles rest api
@DeleteMapping("/{id}")
public ResponseEntity<Map<String, Boolean>> deleteRoles(@PathVariable Long id){
Roles roles = rolesRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Supposmatrix not exist with id :" + id));
rolesRepository.delete(roles);
Map<String, Boolean> response = new HashMap<>();
response.put("deleted", Boolean.TRUE);
return ResponseEntity.ok(response);
public EmptyResponse deleteRoles(@PathVariable Long id){
return deleteRoleService.execute(RolesRequest.builder()
.id(id)
.build());
}
}

View File

@ -2,8 +2,15 @@ package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.model.entity.Users;
import com.iconplus.smartproc.exception.ResourceNotFoundException;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.GetRolesResponse;
import com.iconplus.smartproc.model.response.GetUsersResponse;
import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.manajemenuser.GetListUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@ -18,10 +25,36 @@ public class UsersController {
@Autowired
private UsersRepository usersRepository;
//get all data
private final GetListUserService getListUserService;
public UsersController(GetListUserService getListUserService) {
this.getListUserService = getListUserService;
}
@GetMapping
public List<Users> getAllUserss(){
return usersRepository.findAll();
public GetUsersResponse getUsers(@RequestParam(name = "search", required = false) String search,
@RequestParam(name = "instansi", required = false) String instansi,
@RequestParam(name = "bidang", required = false) String bidang,
@RequestParam(name = "nama", required = false) String nama,
@RequestParam(name = "jabatan", required = false) String jabatan,
@RequestParam(name = "role", required = false) String role,
@RequestParam(name = "email", required = false) String email,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
Pageable pageable = PageRequest.of((page - 1), size);
UsersRequest usersRequest = UsersRequest.builder()
.search(search)
.instansi(instansi)
.bidang(bidang)
.nama(nama)
.jabatan(jabatan)
.role(role)
.email(email)
.pageable(pageable)
.build();
return getListUserService.execute(usersRequest);
}
// create
@ -45,7 +78,7 @@ public class UsersController {
.orElseThrow(() -> new ResourceNotFoundException("Users not exist with id :" + id));
users.setUsername(usersDetails.getUsername());
users.setFullname(usersDetails.getFullname());
users.setNama(usersDetails.getNama());
users.setEmail(usersDetails.getEmail());
users.setPassword(usersDetails.getPassword());
// users.setInstansi(usersDetails.getInstansi());