admin: domain 관심사 분리
This commit is contained in:
parent
f66c5afe0a
commit
bc853e023e
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.entity;
|
package com.bpgroup.poc.admin.domain.base;
|
||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.EntityListeners;
|
import jakarta.persistence.EntityListeners;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.admin.entity;
|
package com.bpgroup.poc.admin.domain.base.admin.entity;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.entity.BaseEntity;
|
import com.bpgroup.poc.admin.domain.base.BaseEntity;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -30,12 +30,13 @@ public class Admin extends BaseEntity {
|
||||||
private AdminRole adminRole;
|
private AdminRole adminRole;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public static Admin of(String loginId, String password, String email, String name) {
|
public static Admin of(String loginId, String password, String email, String name, AdminRole adminRole) {
|
||||||
Admin admin = new Admin();
|
Admin admin = new Admin();
|
||||||
admin.loginId = loginId;
|
admin.loginId = loginId;
|
||||||
admin.password = password;
|
admin.password = password;
|
||||||
admin.email = email;
|
admin.email = email;
|
||||||
admin.name = name;
|
admin.name = name;
|
||||||
|
admin.adminRole = adminRole;
|
||||||
return admin;
|
return admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -46,7 +47,4 @@ public class Admin extends BaseEntity {
|
||||||
this.adminRole = admin.adminRole;
|
this.adminRole = admin.adminRole;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAdminRole(AdminRole adminRole) {
|
|
||||||
this.adminRole = adminRole;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.admin.service;
|
package com.bpgroup.poc.admin.domain.base.admin.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRole;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -19,16 +20,16 @@ public class AdminCreateCommand {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long roleId;
|
private AdminRole adminRole;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public static AdminCreateCommand of(String loginId, String password, String email, String name, Long roleId) {
|
public static AdminCreateCommand of(String loginId, String password, String email, String name, AdminRole adminRole) {
|
||||||
AdminCreateCommand command = new AdminCreateCommand();
|
AdminCreateCommand command = new AdminCreateCommand();
|
||||||
command.loginId = loginId;
|
command.loginId = loginId;
|
||||||
command.password = password;
|
command.password = password;
|
||||||
command.email = email;
|
command.email = email;
|
||||||
command.name = name;
|
command.name = name;
|
||||||
command.roleId = roleId;
|
command.adminRole = adminRole;
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -38,6 +39,7 @@ public class AdminCreateCommand {
|
||||||
.password(password)
|
.password(password)
|
||||||
.email(email)
|
.email(email)
|
||||||
.name(name)
|
.name(name)
|
||||||
|
.adminRole(adminRole)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.admin.service;
|
|
||||||
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@ToString
|
|
||||||
public class AdminCreateResult {
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@Builder
|
|
||||||
public static AdminCreateResult of(Long id) {
|
|
||||||
AdminCreateResult result = new AdminCreateResult();
|
|
||||||
result.id = id;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,9 +2,6 @@ package com.bpgroup.poc.admin.domain.base.admin.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRepository;
|
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRole;
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
@ -21,28 +18,11 @@ import java.util.Optional;
|
||||||
public class AdminService {
|
public class AdminService {
|
||||||
|
|
||||||
private final AdminRepository adminRepository;
|
private final AdminRepository adminRepository;
|
||||||
private final RoleRepository roleRepository;
|
|
||||||
|
|
||||||
public AdminCreateResult create(
|
public Admin create(
|
||||||
@NotNull @Valid AdminCreateCommand command
|
@NotNull @Valid AdminCreateCommand command
|
||||||
) {
|
) {
|
||||||
Optional<Role> findRole = roleRepository.findById(command.getRoleId());
|
return adminRepository.save(command.toEntity());
|
||||||
if (findRole.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException("Not found role");
|
|
||||||
}
|
|
||||||
|
|
||||||
Role role = findRole.get();
|
|
||||||
Admin admin = command.toEntity();
|
|
||||||
admin.setAdminRole(
|
|
||||||
AdminRole.builder()
|
|
||||||
.role(role)
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
Admin savedAdmin = adminRepository.save(admin);
|
|
||||||
|
|
||||||
return AdminCreateResult.builder()
|
|
||||||
.id(savedAdmin.getId())
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update(
|
public void update(
|
||||||
|
|
@ -53,19 +33,8 @@ public class AdminService {
|
||||||
throw new IllegalArgumentException("Not found admin");
|
throw new IllegalArgumentException("Not found admin");
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<Role> findRole = roleRepository.findById(command.getRoleId());
|
|
||||||
if (findRole.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException("Not found role");
|
|
||||||
}
|
|
||||||
|
|
||||||
Role role = findRole.get();
|
|
||||||
Admin admin = findAdmin.get();
|
Admin admin = findAdmin.get();
|
||||||
admin.setAdminRole(
|
admin.update(command.toEntity());
|
||||||
AdminRole.builder()
|
|
||||||
.role(role)
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
admin.update(admin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void delete(@NotNull Long id) {
|
public void delete(@NotNull Long id) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.admin.service;
|
package com.bpgroup.poc.admin.domain.base.admin.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRole;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -19,16 +20,16 @@ public class AdminUpdateCommand {
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long roleId;
|
private AdminRole adminRole;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public static AdminUpdateCommand of(Long id, String password, String email, String name, Long roleId) {
|
public static AdminUpdateCommand of(Long id, String password, String email, String name, AdminRole adminRole) {
|
||||||
AdminUpdateCommand command = new AdminUpdateCommand();
|
AdminUpdateCommand command = new AdminUpdateCommand();
|
||||||
command.id = id;
|
command.id = id;
|
||||||
command.password = password;
|
command.password = password;
|
||||||
command.email = email;
|
command.email = email;
|
||||||
command.name = name;
|
command.name = name;
|
||||||
command.roleId = roleId;
|
command.adminRole = adminRole;
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -37,6 +38,7 @@ public class AdminUpdateCommand {
|
||||||
.password(password)
|
.password(password)
|
||||||
.email(email)
|
.email(email)
|
||||||
.name(name)
|
.name(name)
|
||||||
|
.adminRole(adminRole)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.menu.entity;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.entity.BaseEntity;
|
import com.bpgroup.poc.admin.domain.base.BaseEntity;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -27,7 +27,7 @@ public class Menu extends BaseEntity {
|
||||||
@JoinColumn(name = "menu_group_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
@JoinColumn(name = "menu_group_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||||
private MenuGroup menuGroup;
|
private MenuGroup menuGroup;
|
||||||
|
|
||||||
public void setMenuGroup(MenuGroup menuGroup) {
|
public void addMenuGroup(MenuGroup menuGroup) {
|
||||||
this.menuGroup = menuGroup;
|
this.menuGroup = menuGroup;
|
||||||
menuGroup.getMenus().add(this);
|
menuGroup.getMenus().add(this);
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.menu.entity;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.entity.BaseEntity;
|
import com.bpgroup.poc.admin.domain.base.BaseEntity;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -38,11 +38,6 @@ public class MenuGroup extends BaseEntity {
|
||||||
return menuGroup;
|
return menuGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addMenu(Menu entity) {
|
|
||||||
this.menus.add(entity);
|
|
||||||
entity.setMenuGroup(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void update(MenuGroup entity) {
|
public void update(MenuGroup entity) {
|
||||||
this.uri = entity.uri;
|
this.uri = entity.uri;
|
||||||
this.name = entity.name;
|
this.name = entity.name;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.menu.entity;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.menu.entity;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroup;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroup;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroup;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroupRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroupRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
@ -58,7 +58,7 @@ public class MenuService {
|
||||||
|
|
||||||
MenuGroup menuGroup = findMenuGroup.get();
|
MenuGroup menuGroup = findMenuGroup.get();
|
||||||
Menu menu = command.toEntity();
|
Menu menu = command.toEntity();
|
||||||
menu.setMenuGroup(menuGroup);
|
menu.addMenuGroup(menuGroup);
|
||||||
|
|
||||||
menuRepository.save(menu);
|
menuRepository.save(menu);
|
||||||
}
|
}
|
||||||
|
|
@ -86,4 +86,8 @@ public class MenuService {
|
||||||
public Optional<Menu> findById(Long menuId) {
|
public Optional<Menu> findById(Long menuId) {
|
||||||
return menuRepository.findById(menuId);
|
return menuRepository.findById(menuId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Optional<Menu> find(Long menuId) {
|
||||||
|
return menuRepository.findById(menuId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.role.entity;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.entity.BaseEntity;
|
import com.bpgroup.poc.admin.domain.base.BaseEntity;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.entity;
|
package com.bpgroup.poc.admin.domain.base.role.entity;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.entity.BaseEntity;
|
import com.bpgroup.poc.admin.domain.base.BaseEntity;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -27,6 +28,8 @@ public class RoleMenu extends BaseEntity {
|
||||||
RoleMenu roleMenu = new RoleMenu();
|
RoleMenu roleMenu = new RoleMenu();
|
||||||
roleMenu.role = role;
|
roleMenu.role = role;
|
||||||
roleMenu.menu = menu;
|
roleMenu.menu = menu;
|
||||||
|
roleMenu.role.getRoleMenus().add(roleMenu);
|
||||||
return roleMenu;
|
return roleMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.role.service;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenu;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -9,16 +12,20 @@ import lombok.ToString;
|
||||||
@ToString
|
@ToString
|
||||||
public class RoleAddMenuCommand {
|
public class RoleAddMenuCommand {
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long roleId;
|
private Role role;
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long menuId;
|
private Menu menu;
|
||||||
|
|
||||||
@Builder
|
@Builder
|
||||||
public static RoleAddMenuCommand of(Long roleId, Long menuId) {
|
public static RoleAddMenuCommand of(Role role, Menu menu) {
|
||||||
RoleAddMenuCommand command = new RoleAddMenuCommand();
|
RoleAddMenuCommand command = new RoleAddMenuCommand();
|
||||||
command.roleId = roleId;
|
command.role = role;
|
||||||
command.menuId = menuId;
|
command.menu = menu;
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RoleMenu toEntity() {
|
||||||
|
return RoleMenu.of(role, menu);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.role.service;
|
package com.bpgroup.poc.admin.domain.base.role.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenuRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuRepository;
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenu;
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenuRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
|
@ -67,24 +65,11 @@ public class RoleService {
|
||||||
public void addRoleMenu(
|
public void addRoleMenu(
|
||||||
@NotNull @Valid Set<RoleAddMenuCommand> commands
|
@NotNull @Valid Set<RoleAddMenuCommand> commands
|
||||||
) {
|
) {
|
||||||
RoleAddMenuCommand command = commands.stream().findFirst().orElseThrow();
|
roleMenuRepository.saveAll(
|
||||||
Optional<Role> findRole = roleRepository.findById(command.getRoleId());
|
commands.stream()
|
||||||
if (findRole.isEmpty()) {
|
.map(RoleAddMenuCommand::toEntity)
|
||||||
throw new IllegalArgumentException("Role Not Found");
|
.toList()
|
||||||
}
|
);
|
||||||
|
|
||||||
Role role = findRole.get();
|
|
||||||
commands.forEach(c -> {
|
|
||||||
Optional<Menu> findMenu = menuRepository.findById(c.getMenuId());
|
|
||||||
if (findMenu.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException("Menu Not Found");
|
|
||||||
}
|
|
||||||
|
|
||||||
Menu menu = findMenu.get();
|
|
||||||
RoleMenu roleMenu = RoleMenu.of(role, menu);
|
|
||||||
roleMenuRepository.save(roleMenu);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteRoleMenu(@NotNull Long roleId) {
|
public void deleteRoleMenu(@NotNull Long roleId) {
|
||||||
|
|
@ -96,4 +81,8 @@ public class RoleService {
|
||||||
Role role = findRole.get();
|
Role role = findRole.get();
|
||||||
role.deleteRoleMenus();
|
role.deleteRoleMenus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Optional<Role> find(Long roleId) {
|
||||||
|
return roleRepository.findById(roleId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ import java.util.*;
|
||||||
|
|
||||||
import static com.bpgroup.poc.admin.domain.base.admin.entity.QAdmin.admin;
|
import static com.bpgroup.poc.admin.domain.base.admin.entity.QAdmin.admin;
|
||||||
import static com.bpgroup.poc.admin.domain.base.admin.entity.QAdminRole.adminRole;
|
import static com.bpgroup.poc.admin.domain.base.admin.entity.QAdminRole.adminRole;
|
||||||
import static com.bpgroup.poc.admin.domain.base.role.entity.QMenu.menu;
|
import static com.bpgroup.poc.admin.domain.base.menu.entity.QMenu.menu;
|
||||||
import static com.bpgroup.poc.admin.domain.base.role.entity.QMenuGroup.menuGroup;
|
import static com.bpgroup.poc.admin.domain.base.menu.entity.QMenuGroup.menuGroup;
|
||||||
import static com.bpgroup.poc.admin.domain.base.role.entity.QRole.role;
|
import static com.bpgroup.poc.admin.domain.base.role.entity.QRole.role;
|
||||||
import static com.bpgroup.poc.admin.domain.base.role.entity.QRoleMenu.roleMenu;
|
import static com.bpgroup.poc.admin.domain.base.role.entity.QRoleMenu.roleMenu;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.management;
|
package com.bpgroup.poc.admin.web.main.admin.management;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.domain.base.admin.entity.Admin;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.admin.entity.AdminRole;
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.service.AdminCreateCommand;
|
import com.bpgroup.poc.admin.domain.base.admin.service.AdminCreateCommand;
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.service.AdminCreateResult;
|
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.service.AdminService;
|
import com.bpgroup.poc.admin.domain.base.admin.service.AdminService;
|
||||||
import com.bpgroup.poc.admin.domain.base.admin.service.AdminUpdateCommand;
|
import com.bpgroup.poc.admin.domain.base.admin.service.AdminUpdateCommand;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.role.service.RoleService;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminCreate;
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminCreate;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminDelete;
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminDelete;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminFind;
|
import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminFind;
|
||||||
|
|
@ -11,16 +14,21 @@ import com.bpgroup.poc.admin.web.main.admin.management.reqres.AdminUpdate;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@Transactional
|
||||||
public class AdminManagementWebService {
|
public class AdminManagementWebService {
|
||||||
|
|
||||||
private final PasswordEncoder passwordEncoder;
|
private final PasswordEncoder passwordEncoder;
|
||||||
|
|
||||||
private final AdminService adminService;
|
private final AdminService adminService;
|
||||||
|
private final RoleService roleService;
|
||||||
|
|
||||||
private final AdminManagementQueryRepository queryRepository;
|
private final AdminManagementQueryRepository queryRepository;
|
||||||
|
|
||||||
public List<AdminFind.Response> findAll() {
|
public List<AdminFind.Response> findAll() {
|
||||||
|
|
@ -32,25 +40,38 @@ public class AdminManagementWebService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdminCreate.Response create(AdminCreate.Request request) {
|
public AdminCreate.Response create(AdminCreate.Request request) {
|
||||||
AdminCreateResult adminCreateResult = adminService.create(
|
Optional<Role> findRole = roleService.find(request.getRoleId());
|
||||||
|
if (findRole.isEmpty()) {
|
||||||
|
throw new IllegalArgumentException("Role Not Found");
|
||||||
|
}
|
||||||
|
Role role = findRole.get();
|
||||||
|
|
||||||
|
Admin savedAdmin = adminService.create(
|
||||||
AdminCreateCommand.builder()
|
AdminCreateCommand.builder()
|
||||||
.loginId(request.getLoginId())
|
.loginId(request.getLoginId())
|
||||||
.password(passwordEncoder.encode(request.getPassword()))
|
.password(passwordEncoder.encode(request.getPassword()))
|
||||||
.email(request.getEmail())
|
.email(request.getEmail())
|
||||||
.name(request.getName())
|
.name(request.getName())
|
||||||
|
.adminRole(AdminRole.of(role))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
|
||||||
return AdminCreate.Response.success(adminCreateResult.getId());
|
return AdminCreate.Response.success(savedAdmin.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdminUpdate.Response update(AdminUpdate.Request request) {
|
public AdminUpdate.Response update(AdminUpdate.Request request) {
|
||||||
|
Optional<Role> findRole = roleService.find(request.getRoleId());
|
||||||
|
if (findRole.isEmpty()) {
|
||||||
|
throw new IllegalArgumentException("Role Not Found");
|
||||||
|
}
|
||||||
|
Role role = findRole.get();
|
||||||
|
|
||||||
adminService.update(
|
adminService.update(
|
||||||
AdminUpdateCommand.builder()
|
AdminUpdateCommand.builder()
|
||||||
.id(request.getId())
|
.id(request.getId())
|
||||||
.roleId(request.getRoleId())
|
|
||||||
.email(request.getEmail())
|
.email(request.getEmail())
|
||||||
.name(request.getName())
|
.name(request.getName())
|
||||||
|
.adminRole(AdminRole.of(role))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.bpgroup.poc.admin.web.main.admin.management.reqres;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.web.common.CommonResponse;
|
import com.bpgroup.poc.admin.web.common.CommonResponse;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -19,8 +20,8 @@ public class AdminCreate {
|
||||||
private String email;
|
private String email;
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String name;
|
private String name;
|
||||||
@NotBlank
|
@NotNull
|
||||||
private String roleId;
|
private Long roleId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.menu;
|
package com.bpgroup.poc.admin.web.main.admin.menu;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.service.*;
|
import com.bpgroup.poc.admin.domain.base.menu.service.*;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.menu.reqres.*;
|
import com.bpgroup.poc.admin.web.main.admin.menu.reqres.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@Transactional
|
||||||
public class MenuWebService {
|
public class MenuWebService {
|
||||||
|
|
||||||
private final MenuService menuService;
|
private final MenuService menuService;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
package com.bpgroup.poc.admin.web.main.admin.role;
|
package com.bpgroup.poc.admin.web.main.admin.role;
|
||||||
|
|
||||||
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.menu.service.MenuService;
|
||||||
|
import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.service.*;
|
import com.bpgroup.poc.admin.domain.base.role.service.*;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleAddMenu;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleAddMenu;
|
||||||
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
import com.bpgroup.poc.admin.web.main.admin.role.reqres.RoleCreate;
|
||||||
|
|
@ -9,15 +12,19 @@ import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
@Transactional
|
||||||
public class RoleWebService {
|
public class RoleWebService {
|
||||||
|
|
||||||
private final RoleService roleService;
|
private final RoleService roleService;
|
||||||
|
private final MenuService menuService;
|
||||||
|
|
||||||
public RoleCreate.Response create(RoleCreate.Request request) {
|
public RoleCreate.Response create(RoleCreate.Request request) {
|
||||||
RoleCreateResult createResult = roleService.create(
|
RoleCreateResult createResult = roleService.create(
|
||||||
|
|
@ -47,11 +54,24 @@ public class RoleWebService {
|
||||||
public void putMenu(@NotNull @Valid RoleAddMenu.Request request) {
|
public void putMenu(@NotNull @Valid RoleAddMenu.Request request) {
|
||||||
roleService.deleteRoleMenu(request.getRoleId());
|
roleService.deleteRoleMenu(request.getRoleId());
|
||||||
|
|
||||||
Set<RoleAddMenuCommand> commands = request.getMenuIds().stream()
|
Optional<Role> findRole = roleService.find(request.getRoleId());
|
||||||
.map(menuId -> RoleAddMenuCommand.builder()
|
if (findRole.isEmpty()) {
|
||||||
.roleId(request.getRoleId())
|
throw new IllegalArgumentException("Role Not Found");
|
||||||
.menuId(menuId)
|
}
|
||||||
.build()
|
Role role = findRole.get();
|
||||||
|
|
||||||
|
Set<RoleAddMenuCommand> commands = request.getMenus().stream()
|
||||||
|
.map(menuId -> {
|
||||||
|
Optional<Menu> findMenu = menuService.find(menuId);
|
||||||
|
if (findMenu.isEmpty()) {
|
||||||
|
throw new IllegalArgumentException("Menu Not Found");
|
||||||
|
}
|
||||||
|
Menu menu = findMenu.get();
|
||||||
|
return RoleAddMenuCommand.builder()
|
||||||
|
.role(role)
|
||||||
|
.menu(menu)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
)
|
)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ public class RoleAddMenu {
|
||||||
private Long roleId;
|
private Long roleId;
|
||||||
@NotNull
|
@NotNull
|
||||||
@Size(min = 1)
|
@Size(min = 1)
|
||||||
private Set<Long> menuIds = new HashSet<>();
|
private Set<Long> menus = new HashSet<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,21 +43,21 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
flushAndClear();
|
flushAndClear();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
AdminCreateResult createResult = service.create(
|
Admin savedAdmin = service.create(
|
||||||
AdminCreateCommand.builder()
|
AdminCreateCommand.builder()
|
||||||
.loginId("test")
|
.loginId("test")
|
||||||
.password("test")
|
.password("test")
|
||||||
.email("test")
|
.email("test")
|
||||||
.name("test")
|
.name("test")
|
||||||
.roleId(role.getId())
|
.adminRole(AdminRole.of(role))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
flushAndClear();
|
flushAndClear();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(createResult.getId()).isNotNull();
|
assertThat(savedAdmin.getId()).isNotNull();
|
||||||
|
|
||||||
Admin findAdmin = adminRepository.findById(createResult.getId()).orElseThrow();
|
Admin findAdmin = adminRepository.findById(savedAdmin.getId()).orElseThrow();
|
||||||
assertThat(findAdmin.getAdminRole().getRole().getName()).isEqualTo("test");
|
assertThat(findAdmin.getAdminRole().getRole().getName()).isEqualTo("test");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,7 +86,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
.password("test2")
|
.password("test2")
|
||||||
.email("test2")
|
.email("test2")
|
||||||
.name("test2")
|
.name("test2")
|
||||||
.roleId(updateRole.getId())
|
.adminRole(AdminRole.of(updateRole))
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
flushAndClear();
|
flushAndClear();
|
||||||
|
|
@ -148,44 +148,40 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private Admin createAdmin(Role role) {
|
private Admin createAdmin(Role role) {
|
||||||
Admin admin = Admin.builder()
|
return adminRepository.save(
|
||||||
.loginId("test2")
|
Admin.builder()
|
||||||
.password("test2")
|
.loginId("test")
|
||||||
.email("test2")
|
.password("test")
|
||||||
.name("test2")
|
.email("test")
|
||||||
.build();
|
.name("test")
|
||||||
admin.setAdminRole(
|
.adminRole(AdminRole.of(role))
|
||||||
AdminRole.builder()
|
|
||||||
.role(role)
|
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
|
||||||
return adminRepository.save(admin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("AdminService method 호출 유효성 검사 테스트")
|
@DisplayName("AdminService method 호출 유효성 검사 테스트")
|
||||||
void validationTest() {
|
void validationTest() {
|
||||||
// create
|
// create
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId(null).password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId(null).password("password").email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("").password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("").password("password").email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password(null).email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password(null).email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("").email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email(null).name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email(null).name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name(null).roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name(null).adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name("").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name("").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name("name").roleId(null).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.create(AdminCreateCommand.builder().loginId("loginId").password("password").email("email").name("name").adminRole(null).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
||||||
// update
|
// update
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(null).password("password").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(null).password("password").email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password(null).email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password(null).email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("").email("email").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("").email("email").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email(null).name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email(null).name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("").name("name").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("").name("name").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name(null).roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name(null).adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name("").roleId(1L).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name("").adminRole(AdminRole.of(new Role())).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name("name").roleId(null).build())).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.update(AdminUpdateCommand.builder().id(1L).password("password").email("email").name("name").adminRole(null).build())).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
||||||
// delete
|
// delete
|
||||||
assertThatThrownBy(() -> service.delete(null)).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> service.delete(null)).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
package com.bpgroup.poc.admin.domain.base.menu.service;
|
package com.bpgroup.poc.admin.domain.base.menu.service;
|
||||||
|
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroup;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroupRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroupRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.service.*;
|
|
||||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||||
import jakarta.validation.ConstraintViolationException;
|
import jakarta.validation.ConstraintViolationException;
|
||||||
import org.assertj.core.api.Assertions;
|
import org.assertj.core.api.Assertions;
|
||||||
|
|
@ -134,7 +133,7 @@ class MenuServiceTest extends MariaDBTestEnv {
|
||||||
.name("name")
|
.name("name")
|
||||||
.sortOrder(1)
|
.sortOrder(1)
|
||||||
.build();
|
.build();
|
||||||
menu.setMenuGroup(saveMenuGroup);
|
menu.addMenuGroup(saveMenuGroup);
|
||||||
|
|
||||||
Menu saveMenu = menuRepository.save(menu);
|
Menu saveMenu = menuRepository.save(menu);
|
||||||
flushAndClear();
|
flushAndClear();
|
||||||
|
|
@ -168,7 +167,7 @@ class MenuServiceTest extends MariaDBTestEnv {
|
||||||
.name("name")
|
.name("name")
|
||||||
.sortOrder(1)
|
.sortOrder(1)
|
||||||
.build();
|
.build();
|
||||||
menu.setMenuGroup(saveMenuGroup);
|
menu.addMenuGroup(saveMenuGroup);
|
||||||
|
|
||||||
Menu saveMenu = menuRepository.save(menu);
|
Menu saveMenu = menuRepository.save(menu);
|
||||||
flushAndClear();
|
flushAndClear();
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,10 @@ import com.bpgroup.poc.admin.domain.base.role.entity.Role;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenu;
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenu;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenuRepository;
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleMenuRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
import com.bpgroup.poc.admin.domain.base.role.entity.RoleRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.service.*;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.Menu;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.Menu;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroup;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroup;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuGroupRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuGroupRepository;
|
import com.bpgroup.poc.admin.domain.base.menu.entity.MenuRepository;
|
||||||
import com.bpgroup.poc.admin.domain.base.role.entity.MenuRepository;
|
|
||||||
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
import com.bpgroup.poc.admin.env.MariaDBTestEnv;
|
||||||
import jakarta.validation.ConstraintViolationException;
|
import jakarta.validation.ConstraintViolationException;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
|
@ -120,12 +119,12 @@ class RoleServiceTest extends MariaDBTestEnv {
|
||||||
roleService.addRoleMenu(
|
roleService.addRoleMenu(
|
||||||
Set.of(
|
Set.of(
|
||||||
RoleAddMenuCommand.builder()
|
RoleAddMenuCommand.builder()
|
||||||
.roleId(saveRole.getId())
|
.role(saveRole)
|
||||||
.menuId(menu1.getId())
|
.menu(menu1)
|
||||||
.build(),
|
.build(),
|
||||||
RoleAddMenuCommand.builder()
|
RoleAddMenuCommand.builder()
|
||||||
.roleId(saveRole.getId())
|
.role(saveRole)
|
||||||
.menuId(menu2.getId())
|
.menu(menu2)
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
@ -233,7 +232,7 @@ class RoleServiceTest extends MariaDBTestEnv {
|
||||||
.name("TEST")
|
.name("TEST")
|
||||||
.sortOrder(1)
|
.sortOrder(1)
|
||||||
.build();
|
.build();
|
||||||
menu.setMenuGroup(menuGroup);
|
menu.addMenuGroup(menuGroup);
|
||||||
return menuRepository.save(menu);
|
return menuRepository.save(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -253,8 +252,8 @@ class RoleServiceTest extends MariaDBTestEnv {
|
||||||
assertThatThrownBy(() -> roleService.delete(null)).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> roleService.delete(null)).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
||||||
// add Role Menu
|
// add Role Menu
|
||||||
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().roleId(null).menuId(null).build()))).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().role(null).menu(new Menu()).build()))).isInstanceOf(ConstraintViolationException.class);
|
||||||
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().roleId(1L).menuId(null).build()))).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> roleService.addRoleMenu(Set.of(RoleAddMenuCommand.builder().role(new Role()).menu(null).build()))).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
||||||
// delete Role Menu
|
// delete Role Menu
|
||||||
assertThatThrownBy(() -> roleService.deleteRoleMenu(null)).isInstanceOf(ConstraintViolationException.class);
|
assertThatThrownBy(() -> roleService.deleteRoleMenu(null)).isInstanceOf(ConstraintViolationException.class);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue