From cab86cf8fa5c3eda173ddb74195ba95dccc20c45 Mon Sep 17 00:00:00 2001 From: dirgantarasiahaan Date: Fri, 26 May 2023 17:18:41 +0700 Subject: [PATCH] fix crud user --- .../smartproc/configuration/JwtTokenUtil.java | 7 +++++++ .../com/iconplus/smartproc/model/entity/Users.java | 4 ++-- .../smartproc/model/projection/UserRoleView.java | 2 ++ .../smartproc/model/request/UsersRequest.java | 1 + .../smartproc/model/response/UsersResponse.java | 2 ++ .../smartproc/model/token/TokenContent.java | 11 +++++++++-- .../smartproc/repository/UsersRepository.java | 14 ++++++++++---- .../service/authentication/LoginService.java | 7 +++++++ .../authentication/TokenManagementService.java | 5 +++++ .../service/manajemenuser/GetListUserService.java | 1 + .../service/manajemenuser/GetUserByIdService.java | 1 + .../manajemenuser/PostCreateUserService.java | 2 +- .../manajemenuser/PutUpdateUserService.java | 2 +- 13 files changed, 49 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/iconplus/smartproc/configuration/JwtTokenUtil.java b/src/main/java/com/iconplus/smartproc/configuration/JwtTokenUtil.java index aff55c6..76efbfd 100644 --- a/src/main/java/com/iconplus/smartproc/configuration/JwtTokenUtil.java +++ b/src/main/java/com/iconplus/smartproc/configuration/JwtTokenUtil.java @@ -46,7 +46,14 @@ public class JwtTokenUtil implements Serializable { claims.put("nama", tokenContent.getNama()); claims.put("username", tokenContent.getUsername()); claims.put("user_id", tokenContent.getUserId()); + claims.put("roleId", tokenContent.getRoleId()); claims.put("role", tokenContent.getRole()); + claims.put("instansiId", tokenContent.getInstansiId()); + claims.put("instansi", tokenContent.getInstansi()); + claims.put("bidangId", tokenContent.getBidangId()); + claims.put("bidang", tokenContent.getBidang()); + claims.put("jabatanId", tokenContent.getJabatanId()); + claims.put("jabatan", tokenContent.getJabatan()); return doGenerateToken(claims, username, expirationInMs); } diff --git a/src/main/java/com/iconplus/smartproc/model/entity/Users.java b/src/main/java/com/iconplus/smartproc/model/entity/Users.java index 0ec4c8d..06c169f 100644 --- a/src/main/java/com/iconplus/smartproc/model/entity/Users.java +++ b/src/main/java/com/iconplus/smartproc/model/entity/Users.java @@ -39,8 +39,8 @@ public class Users extends BaseEntity { @Column(name = "bidang_id") private Long bidangId; - @Column(name = "jabatan") - private String jabatan; + @Column(name = "jabatan_id") + private Long jabatanId; @Column(name = "role_id") private Long roleId; diff --git a/src/main/java/com/iconplus/smartproc/model/projection/UserRoleView.java b/src/main/java/com/iconplus/smartproc/model/projection/UserRoleView.java index 39dbd1b..c8f0759 100644 --- a/src/main/java/com/iconplus/smartproc/model/projection/UserRoleView.java +++ b/src/main/java/com/iconplus/smartproc/model/projection/UserRoleView.java @@ -10,6 +10,7 @@ public interface UserRoleView { String getInstansi(); Long getBidangId(); String getBidang(); + Long getJabatanId(); String getJabatan(); Boolean getIsActive(); String getPassword(); @@ -25,6 +26,7 @@ public interface UserRoleView { void setInstansi(String instansi); void setBidangId(Long bidangId); void setBidang(String bidang); + void setJabatanId(Long jabatanId); void setJabatan(String Jabatan); void setIsActive(Boolean isActive); void setPassword(String password); diff --git a/src/main/java/com/iconplus/smartproc/model/request/UsersRequest.java b/src/main/java/com/iconplus/smartproc/model/request/UsersRequest.java index c90a863..77244bd 100644 --- a/src/main/java/com/iconplus/smartproc/model/request/UsersRequest.java +++ b/src/main/java/com/iconplus/smartproc/model/request/UsersRequest.java @@ -21,6 +21,7 @@ public class UsersRequest extends BaseRequest { private Long bidangId; private String bidang; private String nama; + private Long jabatanId; private String jabatan; private Long roleId; private String role; diff --git a/src/main/java/com/iconplus/smartproc/model/response/UsersResponse.java b/src/main/java/com/iconplus/smartproc/model/response/UsersResponse.java index d180742..b001a4a 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/UsersResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/UsersResponse.java @@ -14,6 +14,8 @@ public class UsersResponse extends BaseResponse { private Long id; private String nama; private String username; + + private Long jabatanId; private String jabatan; private Long instansiId; diff --git a/src/main/java/com/iconplus/smartproc/model/token/TokenContent.java b/src/main/java/com/iconplus/smartproc/model/token/TokenContent.java index 3efd7fb..1cf3b34 100644 --- a/src/main/java/com/iconplus/smartproc/model/token/TokenContent.java +++ b/src/main/java/com/iconplus/smartproc/model/token/TokenContent.java @@ -9,8 +9,15 @@ import java.util.Set; @Data public class TokenContent { private Long userId; - private String role; - private Set accessMenu; private String nama; private String username; + private Long roleId; + private String role; + private Long instansiId; + private String instansi; + private Long bidangId; + private String bidang; + private Long jabatanId; + private String jabatan; + private Set accessMenu; } diff --git a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java index 652c64c..28c7327 100644 --- a/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/UsersRepository.java @@ -16,7 +16,8 @@ public interface UsersRepository extends JpaRepository { @Query("SELECT u.id as id, " + "u.nama as nama, " + "u.username as username, " + - "u.jabatan as jabatan, " + + "u.jabatanId as jabatanId, " + + "j.jabatan as jabatan, " + "u.roleId as roleId, " + "r.role as role, " + "u.bidangId as bidangId, " + @@ -30,10 +31,11 @@ public interface UsersRepository extends JpaRepository { "JOIN Roles r ON r.id = u.roleId " + "JOIN Bidang b ON b.id = u.bidangId " + "JOIN Instansi i ON i.id = u.instansiId " + + "JOIN Jabatan j ON j.id = u.jabatanId " + "Where u.isDelete = false " + "AND (:search='' " + "or (UPPER(u.nama) like :search " + - " OR UPPER(u.jabatan) like :search " + + " OR UPPER(j.jabatan) like :search " + " OR UPPER(r.role) like :search " + " OR UPPER(b.bidang) like :search " + " OR UPPER(i.instansi) like :search " + @@ -48,7 +50,8 @@ public interface UsersRepository extends JpaRepository { "u.nama as nama, " + "u.username as username, " + "u.password as password, " + - "u.jabatan as jabatan, " + + "u.jabatanId as jabatanId, " + + "j.jabatan as jabatan, " + "u.roleId as roleId, " + "r.role as role, " + "u.bidangId as bidangId, " + @@ -62,6 +65,7 @@ public interface UsersRepository extends JpaRepository { "JOIN Roles r ON r.id = u.roleId " + "JOIN Bidang b ON b.id = u.bidangId " + "JOIN Instansi i ON i.id = u.instansiId " + + "JOIN Jabatan j ON j.id = u.jabatanId " + "Where u.isDelete = false " + "AND (u.username = :input OR u.email = :input)") Optional getByUsernameOrEmail(String input); @@ -71,7 +75,8 @@ public interface UsersRepository extends JpaRepository { @Query("SELECT u.id as id, " + "u.nama as nama, " + "u.username as username, " + - "u.jabatan as jabatan, " + + "u.jabatanId as jabatanId, " + + "j.jabatan as jabatan, " + "u.roleId as roleId, " + "r.role as role, " + "u.bidangId as bidangId, " + @@ -85,6 +90,7 @@ public interface UsersRepository extends JpaRepository { "JOIN Roles r ON r.id = u.roleId " + "JOIN Bidang b ON b.id = u.bidangId " + "JOIN Instansi i ON i.id = u.instansiId " + + "JOIN Jabatan j ON j.id = u.jabatanId " + "Where u.isDelete = false " + "AND u.id = :id") Optional getUserByIdAndDeletedFase(Long id); diff --git a/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java b/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java index e52c99b..ba447df 100644 --- a/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java +++ b/src/main/java/com/iconplus/smartproc/service/authentication/LoginService.java @@ -65,7 +65,14 @@ public class LoginService implements BaseService { .userId(userRoleView.getId()) .username(userRoleView.getUsername()) .nama(userRoleView.getNama()) + .roleId(userRoleView.getRoleId()) .role(userRoleView.getRole()) + .instansiId(userRoleView.getInstansiId()) + .instansi(userRoleView.getInstansi()) + .bidangId(userRoleView.getBidangId()) + .bidang(userRoleView.getBidang()) + .jabatanId(userRoleView.getJabatanId()) + .jabatan(userRoleView.getJabatan()) .accessMenu(new HashSet<>()) .build(); diff --git a/src/main/java/com/iconplus/smartproc/service/authentication/TokenManagementService.java b/src/main/java/com/iconplus/smartproc/service/authentication/TokenManagementService.java index e32bdd4..1518953 100644 --- a/src/main/java/com/iconplus/smartproc/service/authentication/TokenManagementService.java +++ b/src/main/java/com/iconplus/smartproc/service/authentication/TokenManagementService.java @@ -72,7 +72,12 @@ public class TokenManagementService implements BaseService()) .build(); diff --git a/src/main/java/com/iconplus/smartproc/service/manajemenuser/GetListUserService.java b/src/main/java/com/iconplus/smartproc/service/manajemenuser/GetListUserService.java index 487bfd8..51cd721 100644 --- a/src/main/java/com/iconplus/smartproc/service/manajemenuser/GetListUserService.java +++ b/src/main/java/com/iconplus/smartproc/service/manajemenuser/GetListUserService.java @@ -35,6 +35,7 @@ public class GetListUserService implements BaseService