add api instansi and user management
This commit is contained in:
@ -0,0 +1,74 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListInstansiResponse;
|
||||
import com.iconplus.smartproc.model.response.InstansiResponse;
|
||||
import com.iconplus.smartproc.service.instansi.*;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
|
||||
@RestController
|
||||
@RequestMapping("/api/instansi")
|
||||
public class InstansiController {
|
||||
|
||||
private final GetListInstansiService getListInstansiService;
|
||||
private final PostCreateInstansiService postCreateInstansiService;
|
||||
private final PutUpdateInstansiService putUpdateInstansiService;
|
||||
private final GetInstansiByIdService getInstansiByIdService;
|
||||
private final DeleteInstansiService deleteInstansiService;
|
||||
|
||||
public InstansiController(GetListInstansiService getListInstansiService,
|
||||
PostCreateInstansiService postCreateInstansiService,
|
||||
PutUpdateInstansiService putUpdateInstansiService,
|
||||
GetInstansiByIdService getInstansiByIdService,
|
||||
DeleteInstansiService deleteInstansiService) {
|
||||
this.getListInstansiService = getListInstansiService;
|
||||
this.postCreateInstansiService = postCreateInstansiService;
|
||||
this.putUpdateInstansiService = putUpdateInstansiService;
|
||||
this.getInstansiByIdService = getInstansiByIdService;
|
||||
this.deleteInstansiService = deleteInstansiService;
|
||||
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
public GetListInstansiResponse getListInstansi(@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);
|
||||
InstansiRequest instansiRequest = InstansiRequest.builder()
|
||||
.search(search)
|
||||
.pageable(pageable)
|
||||
.build();
|
||||
|
||||
return getListInstansiService.execute(instansiRequest);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public InstansiResponse createInstansi(@RequestBody InstansiRequest request) {
|
||||
return postCreateInstansiService.execute(request);
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public InstansiResponse getInstansiById(@PathVariable Long id) {
|
||||
return getInstansiByIdService.execute(InstansiRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public InstansiResponse updateInstansi(@PathVariable Long id, @RequestBody InstansiRequest request){
|
||||
request.setId(id);
|
||||
return putUpdateInstansiService.execute(request);
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public EmptyResponse deleteInstansi(@PathVariable Long id){
|
||||
return deleteInstansiService.execute(InstansiRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
}
|
@ -1,33 +1,34 @@
|
||||
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.helper.model.EmptyResponse;
|
||||
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 com.iconplus.smartproc.model.response.UsersResponse;
|
||||
import com.iconplus.smartproc.service.manajemenuser.*;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
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/users")
|
||||
public class UsersController {
|
||||
@Autowired
|
||||
private UsersRepository usersRepository;
|
||||
|
||||
private final GetListUserService getListUserService;
|
||||
public UsersController(GetListUserService getListUserService) {
|
||||
private final PostCreateUserService postCreateUserService;
|
||||
private final PutUpdateUserService putUpdateUserService;
|
||||
private final GetUserByIdService getUserByIdService;
|
||||
private final DeleteUserService deleteUserService;
|
||||
public UsersController(GetListUserService getListUserService,
|
||||
PostCreateUserService postCreateUserService,
|
||||
PutUpdateUserService putUpdateUserService,
|
||||
GetUserByIdService getUserByIdService,
|
||||
DeleteUserService deleteUserService) {
|
||||
this.getListUserService = getListUserService;
|
||||
this.postCreateUserService = postCreateUserService;
|
||||
this.putUpdateUserService = putUpdateUserService;
|
||||
this.getUserByIdService = getUserByIdService;
|
||||
this.deleteUserService = deleteUserService;
|
||||
}
|
||||
|
||||
|
||||
@ -57,48 +58,28 @@ public class UsersController {
|
||||
return getListUserService.execute(usersRequest);
|
||||
}
|
||||
|
||||
// create
|
||||
@PostMapping
|
||||
public Users createUsers(@RequestBody Users users) {
|
||||
return usersRepository.save(users);
|
||||
public UsersResponse createUsers(@RequestBody UsersRequest request) {
|
||||
return postCreateUserService.execute(request);
|
||||
}
|
||||
|
||||
// get users by id rest api
|
||||
@GetMapping("/{id}")
|
||||
public ResponseEntity<Users> getUsersById(@PathVariable Long id) {
|
||||
Users users = usersRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Users not exist with id :" + id));
|
||||
return ResponseEntity.ok(users);
|
||||
public UsersResponse getUsersById(@PathVariable Long id) {
|
||||
return getUserByIdService.execute(UsersRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
|
||||
// update users rest api
|
||||
@PutMapping("/{id}")
|
||||
public ResponseEntity<Users> updateUsers(@PathVariable Long id, @RequestBody Users usersDetails){
|
||||
Users users = usersRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Users not exist with id :" + id));
|
||||
|
||||
users.setUsername(usersDetails.getUsername());
|
||||
users.setNama(usersDetails.getNama());
|
||||
users.setEmail(usersDetails.getEmail());
|
||||
users.setPassword(usersDetails.getPassword());
|
||||
// users.setInstansi(usersDetails.getInstansi());
|
||||
// users.setBidang(usersDetails.getBidang());
|
||||
// users.setJabatan(usersDetails.getJabatan());
|
||||
// users.setRole(usersDetails.getRole());
|
||||
|
||||
Users updatedUsers = usersRepository.save(users);
|
||||
return ResponseEntity.ok(updatedUsers);
|
||||
public UsersResponse updateUsers(@PathVariable Long id, @RequestBody UsersRequest request){
|
||||
request.setId(id);
|
||||
return putUpdateUserService.execute(request);
|
||||
}
|
||||
|
||||
// delete users rest api
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseEntity<Map<String, Boolean>> deleteUsers(@PathVariable Long id){
|
||||
Users users = usersRepository.findById(id)
|
||||
.orElseThrow(() -> new ResourceNotFoundException("Users not exist with id :" + id));
|
||||
|
||||
usersRepository.delete(users);
|
||||
Map<String, Boolean> response = new HashMap<>();
|
||||
response.put("deleted", Boolean.TRUE);
|
||||
return ResponseEntity.ok(response);
|
||||
public EmptyResponse deleteUsers(@PathVariable Long id){
|
||||
return deleteUserService.execute(UsersRequest.builder()
|
||||
.id(id)
|
||||
.build());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user