Skip to content

Commit

Permalink
fix : Admin authentication
Browse files Browse the repository at this point in the history
  • Loading branch information
KimTaeWook committed Jun 8, 2024
1 parent 786dfd8 commit b39bbcf
Show file tree
Hide file tree
Showing 14 changed files with 125 additions and 40 deletions.
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

0 comments on commit b39bbcf

Please sign in to comment.