Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#111] Fix: Admin 인증인가 #120

Merged
merged 5 commits into from
Jun 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 23 additions & 11 deletions src/main/java/com/syncd/adapter/in/web/AdminController.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,24 +53,29 @@ public CreateAdminResponseDto createAdmin(@RequestBody CreateAdminRequestDto req

@GetMapping("/user")
public GetAllUserResponseDto getAllUser(HttpServletRequest request){
return getAllUserAdminUsecase.getAllUser();
String token = jwtService.resolveToken(request);
return getAllUserAdminUsecase.getAllUser(jwtService.getAdminIdFromToken(token));
}

@PostMapping("/user/add")
public CreateUserResponseDto addUser(HttpServletRequest request, @RequestBody CreateUserRequestDto requestDto){
return createUserAdminUsecase.addUser(requestDto.email(),
String token = jwtService.resolveToken(request);
return createUserAdminUsecase.addUser(
jwtService.getAdminIdFromToken(token), requestDto.email(),
requestDto.name(), requestDto.status(),
requestDto.profileImg(), requestDto.projectIds());
}

@PostMapping("/user/delete")
public DeleteUserResponseDto deleteUser(HttpServletRequest request, @RequestBody DeleteUserRequestDto requestDto){
return deleteUserAdminUsecase.deleteUser(requestDto.userId());
String token = jwtService.resolveToken(request);
return deleteUserAdminUsecase.deleteUser(jwtService.getAdminIdFromToken(token), requestDto.userId());
}

@PostMapping("/user/update")
public UpdateUserResponseDto updateUser(HttpServletRequest request, @RequestBody UpdateUserRequestDto requestDto){
return updateUserAdminUsecase.updateUser(requestDto.userId(), requestDto.email(),requestDto.name(), requestDto.status(), requestDto.profileImg(), requestDto.projectIds());
String token = jwtService.resolveToken(request);
return updateUserAdminUsecase.updateUser(jwtService.getAdminIdFromToken(token), requestDto.userId(), requestDto.email(),requestDto.name(), requestDto.status(), requestDto.profileImg(), requestDto.projectIds());
}

@GetMapping("/user/search")
Expand All @@ -79,30 +84,35 @@ public SearchUserAdminResponseDto searchUsers(
@RequestParam(required = false) String status,
@RequestParam(required = false) String searchType,
@RequestParam(required = false) String searchText) {
return searchUserAdminUsecase.searchUsers(status, searchType, searchText);
String token = jwtService.resolveToken(request);
return searchUserAdminUsecase.searchUsers(jwtService.getAdminIdFromToken(token), status, searchType, searchText);
}
// ======================================
// PROJECT
// ======================================

@GetMapping("/project")
public GetAllProjectResponseDto getAllProject(HttpServletRequest request){
return getAllProjectAdminUsecase.getAllProject();
String token = jwtService.resolveToken(request);
return getAllProjectAdminUsecase.getAllProject(jwtService.getAdminIdFromToken(token));
}

@PostMapping("/project/create")
public CreateProjectAdminResponseDto createProject(HttpServletRequest request, @RequestBody CreateProjectAdminRequestDto requestDto){
return createProjectAdminUsecase.createProject(requestDto.name(), requestDto.description(), requestDto.img(), requestDto.users(), requestDto.progress(),requestDto.leftChanceForUserstory());
String token = jwtService.resolveToken(request);
return createProjectAdminUsecase.createProject(jwtService.getAdminIdFromToken(token), requestDto.name(), requestDto.description(), requestDto.img(), requestDto.users(), requestDto.progress(),requestDto.leftChanceForUserstory());
}

@PostMapping("/project/delete")
public DeleteProjectAdminResponseDto deleteProject(HttpServletRequest request, @RequestBody DeleteProjectAdminRequestDto requestDto){
return deleteProjectAdminUsecase.deleteProject(requestDto.projectId());
String token = jwtService.resolveToken(request);
return deleteProjectAdminUsecase.deleteProject(jwtService.getAdminIdFromToken(token), requestDto.projectId());
}

@PostMapping("/project/update")
public UpdateProjectAdminResponseDto updateProject(HttpServletRequest request, @RequestBody UpdateProjectAdminRequestDto requestDto){
return updateProjectAdminUsecase.updateProject(requestDto.projectId(), requestDto.name(), requestDto.description(),requestDto.img(),requestDto.users(),requestDto.progress(),requestDto.leftChanceForUserstory()) ;
String token = jwtService.resolveToken(request);
return updateProjectAdminUsecase.updateProject(jwtService.getAdminIdFromToken(token), requestDto.projectId(), requestDto.name(), requestDto.description(),requestDto.img(),requestDto.users(),requestDto.progress(),requestDto.leftChanceForUserstory()) ;
}

@GetMapping("/project/search")
Expand All @@ -117,14 +127,16 @@ public SearchProjectAdminResponseDto searchProjects(
@RequestParam(defaultValue = "1") int page,
@RequestParam(defaultValue = "10") int pageSize
) {
return searchProjectAdminUsecase.searchProjects(name, userId, leftChanceForUserstory, startDate, endDate, progress, page, pageSize);
String token = jwtService.resolveToken(request);
return searchProjectAdminUsecase.searchProjects(jwtService.getAdminIdFromToken(token), name, userId, leftChanceForUserstory, startDate, endDate, progress, page, pageSize);
}

// ======================================
// CHATGPT
// ======================================
@GetMapping("/chatgpt")
public GetChatgptPriceResponseDto GetChatgptPrice(HttpServletRequest request){
return getChatgptPriceAdminUsecase.getChatgptPrice();
String token = jwtService.resolveToken(request);
return getChatgptPriceAdminUsecase.getChatgptPrice(jwtService.getAdminIdFromToken(token));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.syncd.application.port.in.admin;

import com.syncd.enums.Role;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
Expand All @@ -9,7 +11,13 @@ public interface CreateProjectAdminUsecase {
// ======================================
// METHOD
// ======================================
CreateProjectAdminResponseDto createProject(String name, String description, String img, List<UserInProjectRequestDto> users, int progress, int leftChanceForUserstory);
CreateProjectAdminResponseDto createProject(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String name, String description, String img,
List<UserInProjectRequestDto> users,
int progress, int leftChanceForUserstory
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.syncd.application.port.in.admin;

import com.syncd.enums.UserAccountStatus;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;

Expand All @@ -9,7 +11,10 @@ public interface CreateUserAdminUsecase {
// ======================================
// METHOD
// ======================================
CreateUserResponseDto addUser(String email, String name, UserAccountStatus status, String profileImg, List<String> projectIds);
CreateUserResponseDto addUser(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String email, String name, UserAccountStatus status, String profileImg, List<String> projectIds);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
package com.syncd.application.port.in.admin;

import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

public interface DeleteProjectAdminUsecase {
// ======================================
// METHOD
// ======================================
DeleteProjectAdminResponseDto deleteProject(String projectId);
DeleteProjectAdminResponseDto deleteProject(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String projectId
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
package com.syncd.application.port.in.admin;

import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

public interface DeleteUserAdminUsecase {

// ======================================
// METHOD
// ======================================
DeleteUserResponseDto deleteUser(String userId);
DeleteUserResponseDto deleteUser(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String userId
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.syncd.application.port.in.admin;

import com.syncd.adapter.out.persistence.repository.project.ProjectEntity;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;

Expand All @@ -9,7 +11,10 @@ public interface GetAllProjectAdminUsecase {
// ======================================
// METHOD
// ======================================
GetAllProjectResponseDto getAllProject();
GetAllProjectResponseDto getAllProject(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.syncd.application.port.in.admin;

import com.syncd.adapter.out.persistence.repository.user.UserEntity;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;

Expand All @@ -9,7 +11,10 @@ public interface GetAllUserAdminUsecase {
// ======================================
// METHOD
// ======================================
GetAllUserResponseDto getAllUser();
GetAllUserResponseDto getAllUser(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId
);


// ======================================
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
package com.syncd.application.port.in.admin;

import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

public interface GetChatgptPriceAdminUsecase {

// ======================================
// METHOD
// ======================================
GetChatgptPriceResponseDto getChatgptPrice();
GetChatgptPriceResponseDto getChatgptPrice(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.syncd.adapter.out.persistence.repository.project.ProjectEntity;
import com.syncd.adapter.out.persistence.repository.user.UserEntity;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;
import java.util.Map;
Expand All @@ -11,7 +13,12 @@ public interface SearchProjectAdminUsecase {
// ======================================
// METHOD
// ======================================
SearchProjectAdminResponseDto searchProjects(String name, String userId, Integer leftChanceForUserstory, String startDate, String endDate, Integer progress, int page, int pageSize);
SearchProjectAdminResponseDto searchProjects(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String name, String userId, Integer leftChanceForUserstory,
String startDate, String endDate, Integer progress, int page, int pageSize
);

// ======================================
// Search DTO
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.syncd.adapter.out.persistence.repository.project.ProjectEntity;
import com.syncd.adapter.out.persistence.repository.user.UserEntity;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;

Expand All @@ -10,7 +12,11 @@ public interface SearchUserAdminUsecase {
// ======================================
// METHOD
// ======================================
SearchUserAdminResponseDto searchUsers(String status, String searchType, String searchText);
SearchUserAdminResponseDto searchUsers(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String status, String searchType, String searchText
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.syncd.application.port.in.admin;

import com.syncd.enums.Role;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
Expand All @@ -10,11 +12,17 @@ public interface UpdateProjectAdminUsecase {
// ======================================
// METHOD
// ======================================
UpdateProjectAdminResponseDto updateProject(String projectId, String name, String description,
String img,
List<UserInProjectRequestDto> users,
int progress,
int leftChanceForUserstory);
UpdateProjectAdminResponseDto updateProject(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String projectId,
String name,
String description,
String img,
List<UserInProjectRequestDto> users,
int progress,
int leftChanceForUserstory
);

// ======================================
// DTO
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.syncd.adapter.out.persistence.repository.user.UserEntity;
import com.syncd.enums.UserAccountStatus;
import com.syncd.exceptions.ValidationMessages;
import jakarta.validation.constraints.NotBlank;

import java.util.List;

Expand All @@ -10,11 +12,15 @@ public interface UpdateUserAdminUsecase {
// ======================================
// METHOD
// ======================================
UpdateUserResponseDto updateUser(String userId, String email,
String name,
UserAccountStatus status,
String profileImg,
List<String> projectIds);
UpdateUserResponseDto updateUser(
@NotBlank(message = ValidationMessages.ADMIN_ID_NOT_BLANK)
String adminId,
String userId, String email,
String name,
UserAccountStatus status,
String profileImg,
List<String> projectIds
);

record UpdateUserRequestDto(
String userId,
Expand Down
Loading