Skip to content

Commit

Permalink
feat: 가입 요청 거절 기능 구현 (#27)
Browse files Browse the repository at this point in the history
* feat: 소속 단위 선거 기본 정보 추가 기능 구현

s3 업로드 기능 global로 수정 필요

* feat: 소속 단위 선거 기본 정보 등록용 엔티티 추가

* 온프레미스 환경 회원가입/로그인 코드 추가 (#9)

* feat: refreshtoken 저장 엔터티 추가

* feat: 패스워드 암호화 빈 추가

* feat: 회원 가입 로직 구현

* feat: 로그인 필터 추가

* feat: 온프레미스 서버 환경 로그인 기능 추가 (#10)

* feat: refreshtoken 저장 엔터티 추가

* feat: 패스워드 암호화 빈 추가

* feat: 회원 가입 로직 구현

* feat: 로그인 필터 추가

* feat: UserDetailsService, dto 구현

* feat: 서울 기준 시 설정

* feat: JWT 발급 코드 추가

* feat: JWTFilter 추가

* feat: cors 설정 추가

* feat: userdetailsservice 예외처리 추가

* fix: url length 추가

length가 255이상 인 경우 오류 가능 수정

* fix: dto추가

requestparam dto로 수정

* feat:선거기본정보 에러코드 추가

* fix: validation, lombok, dto 추가

validation, lombok, dto 추가

* docs: 회원가입 api 스웨거 작성 (#12)

* feat: refreshtoken 저장 엔터티 추가

* feat: 패스워드 암호화 빈 추가

* feat: 회원 가입 로직 구현

* feat: 로그인 필터 추가

* feat: UserDetailsService, dto 구현

* feat: 서울 기준 시 설정

* feat: JWT 발급 코드 추가

* feat: JWTFilter 추가

* feat: cors 설정 추가

* feat: userdetailsservice 예외처리 추가

* docs: 회원가입 api 스웨거 작성

* feat: 필터기반 로그인 -> 수동 인증 로직으로 수정 (#13)

* feat: refreshtoken 저장 엔터티 추가

* feat: 패스워드 암호화 빈 추가

* feat: 회원 가입 로직 구현

* feat: 로그인 필터 추가

* feat: UserDetailsService, dto 구현

* feat: 서울 기준 시 설정

* feat: JWT 발급 코드 추가

* feat: JWTFilter 추가

* feat: cors 설정 추가

* feat: userdetailsservice 예외처리 추가

* docs: 회원가입 api 스웨거 작성

* feat: 필터기반 로그인 -> 수동 인증 로직으로 수정

* feat: refreshToken 저장 추가 (#14)

* feat: refreshtoken 저장 엔터티 추가

* feat: 패스워드 암호화 빈 추가

* feat: 회원 가입 로직 구현

* feat: 로그인 필터 추가

* feat: UserDetailsService, dto 구현

* feat: 서울 기준 시 설정

* feat: JWT 발급 코드 추가

* feat: JWTFilter 추가

* feat: cors 설정 추가

* feat: userdetailsservice 예외처리 추가

* docs: 회원가입 api 스웨거 작성

* feat: 필터기반 로그인 -> 수동 인증 로직으로 수정

* feat: refreshToken 저장 추가

* feat: 회원가입 요청한 유저의 목록 조회 기능 구현 (#16)

* feat:s3 bean추가

* fix:import수정

* infra: cicd 연결 테스트

* infra: ci test

* fix:후보자 정보 등록 엔티티 요소 수정

피그마 등록화면에 맞게 선거유형, 선본명, 선본 통신공간 주소, 입후보자 공고 이미지, 로고 이미지로 교체

* feat:후보자 등록 선거 유형 단선/경선 선택 옵션

* feat:후보자 등록 기능 개발

* feat : s3서비스 파일 생성, 후보자 등록 시 poster/유저id값 경로에 저장

* fix:엔드포인트 추가

* fix:문자열비교 수정 , transactional추가

* fix:공개 접속 옵션 삭제

* fix:후보자 기본 정보 업로드 클래스명 poster -> candidateInfo로 변경

* fix:엔드포인트 수정

* fix:후보자 정보 등록 폴더명 변경

* feat:각 후보 별 게시물 등록 엔티티 생성

* feat: 각 후보의 게시물 등록 기능

* fix:엔드포인트추가

* fix:dto타입으로 반환

* feat: 유저 가입 승인 기능 구현 (#24)

* feat: 회원가입 요청한 유저의 목록 조회 기능 구현

* feat: 유저 가입 승인 기능 구현

* feat: 가입 요청 거절 기능 구현 (#26)

* feat: 회원가입 요청한 유저의 목록 조회 기능 구현

* feat: 유저 가입 승인 기능 구현

* feat: 가입 요청 거절 기능 구현

---------

Co-authored-by: ssm00 <[email protected]>
Co-authored-by: ssm00 <[email protected]>
Co-authored-by: ssm00 <[email protected]>
  • Loading branch information
4 people authored Dec 19, 2024
1 parent b80e9cb commit 035385e
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.studentvote.domain.admin.application;

import com.studentvote.domain.admin.dto.response.AccountsWaitingForApprovalResponse;
import com.studentvote.domain.admin.exception.AlreadyApprovedUser;
import com.studentvote.domain.auth.dto.response.CustomUserDetails;
import com.studentvote.domain.user.domain.ApprovalStatus;
import com.studentvote.domain.user.domain.User;
Expand Down Expand Up @@ -65,4 +66,25 @@ public Message admitUser(CustomUserDetails userDetails, Long userId) {
.message("해당 유저의 승인이 완료되었습니다.")
.build();
}

@Transactional
public Message denyUser(CustomUserDetails userDetails, Long userId) throws AlreadyApprovedUser {

if (!userDetails.getUsername().equals(MASTER_USERNAME)) {
throw new IllegalArgumentException("접근 권한이 없습니다.");
}

User user = userRepository.findById(userId)
.orElseThrow(() -> new IllegalArgumentException());

if (user.getApprovalStatus() == ApprovalStatus.APPROVED) {
throw new AlreadyApprovedUser();
}

user.updateApprovalStatus(ApprovalStatus.REJECTED);

return Message.builder()
.message("해당 유저의 승인이 거절되었습니다.")
.build();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.studentvote.domain.admin.exception;

public class AlreadyApprovedUser extends IllegalArgumentException {
public AlreadyApprovedUser() {
super("이미 승인된 유저입니다.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,13 @@ public ResponseCustom<Message> admitUser(
) {
return ResponseCustom.OK(adminService.admitUser(userDetails, userId));
}

@Operation(summary = "가입 거절", description = "가입 대기중인 선택한 유저에 대한 가입을 거절합니다.")
@PostMapping("/deny/{userId}")
public ResponseCustom<Message> denyUser(
@AuthenticationPrincipal CustomUserDetails userDetails,
@PathVariable Long userId
) {
return ResponseCustom.OK(adminService.denyUser(userDetails, userId));
}
}

0 comments on commit 035385e

Please sign in to comment.