Skip to content

Commit

Permalink
hotfix: locker controller 권한 검증 로직 수정 (#768)
Browse files Browse the repository at this point in the history
### 🚩 관련사항


### 📢 전달사항
- locker controller 권한 검증 로직 수정


### 📸 스크린샷

### 📃 진행사항

### ⚙️ 기타사항
기타 참고사항을 적어주세요.

개발기간:
  • Loading branch information
sanggae4133 authored Nov 26, 2024
2 parents 4bfee60 + 3ff044b commit b962756
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions src/main/java/net/causw/adapter/web/LockerController.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class LockerController {
private final LockerService lockerService;

@GetMapping(value = "/{lockerId}")
@Operation(summary = "사물함 조회 Api(완료)", description = "사물함 id를 바탕으로 사물함 정보를 가져오는 Api 입니다.")
@Operation(summary = "사물함 조회 Api", description = "사물함 id를 바탕으로 사물함 정보를 가져오는 Api 입니다.")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified()")
public LockerResponseDto findById(
Expand All @@ -49,7 +49,7 @@ public LockerResponseDto findById(
}

@PostMapping(value = "")
@Operation(summary = "사물함 생성 Api(완료)", description = "사물함을 생성하는 Api입니다.")
@Operation(summary = "사물함 생성 Api(관리자/회장 전용)", description = "사물함을 생성하는 Api입니다.")
@ResponseStatus(value = HttpStatus.CREATED)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand All @@ -63,7 +63,8 @@ public LockerResponseDto create(
@PutMapping(value = "/{lockerId}")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified()")
@Operation(summary = "사물함 상태 update Api", description = "사물함 상태를 변경하는 Api입니다.")
@Operation(summary = "사물함 상태 update Api", description = "사물함 상태를 변경하는 Api입니다.\n" +
"허용 동작 목록: \"ENABLE(관리자/회장 전용)\", \"DISABLE(관리자/회장 전용)\", \"REGISTER\", \"RETURN\", \"EXTEND\"")
public LockerResponseDto update(
@PathVariable("lockerId") String lockerId,
@Valid @RequestBody LockerUpdateRequestDto lockerUpdateRequestDto,
Expand All @@ -80,7 +81,7 @@ public LockerResponseDto update(
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
@Operation(summary = "사물함 위치 이동 Api(완료)", description = "사물함의 위치(locker location)를 이동(변경)시키는 Api입니다. ex) 1번 사물함에 있어서 1층 1번 -> 2층 1번, 층만 바뀜")
@Operation(summary = "사물함 위치 이동 Api(관리자/회장 전용)", description = "사물함의 위치(locker location)를 이동(변경)시키는 Api입니다. ex) 1번 사물함에 있어서 1층 1번 -> 2층 1번, 층만 바뀜")
public LockerResponseDto move(
@PathVariable("lockerId") String lockerId,
@Valid @RequestBody LockerMoveRequestDto lockerMoveRequestDto,
Expand All @@ -97,7 +98,7 @@ public LockerResponseDto move(
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
@Operation(summary = "사물함 삭제 Api(완료)", description = "사물함을 삭제하는 Api입니다.")
@Operation(summary = "사물함 삭제 Api(관리자/회장 전용)", description = "사물함을 삭제하는 Api입니다.")
public LockerResponseDto delete(
@PathVariable("lockerId") String lockerId,
@AuthenticationPrincipal CustomUserDetails userDetails
Expand All @@ -107,15 +108,14 @@ public LockerResponseDto delete(

@GetMapping(value = "/locations")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
@Operation(summary = "사물함 층별 사용가능 여부 조회 Api(완료)", description = "사물함 층별 개수 정보와 사용 가능 개수를 제공하는 API입니다.")
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified()")
@Operation(summary = "사물함 층별 사용가능 여부 조회 Api", description = "사물함 층별 개수 정보와 사용 가능 개수를 제공하는 API입니다.")
public LockerLocationsResponseDto findAllLocation(@AuthenticationPrincipal CustomUserDetails userDetails) {
return this.lockerService.findAllLocation(userDetails.getUser());
}

@GetMapping(value = "/locations/{locationId}")
@Operation(summary = "사물함 특정 층별 사용가능 여부 조회 Api(완료)", description = "사물함 특정 층별 개수 정보와 사용 가능 개수를 제공하는 API입니다.")
@Operation(summary = "사물함 특정 층별 사용가능 여부 조회 Api", description = "사물함 특정 층별 개수 정보와 사용 가능 개수를 제공하는 API입니다.")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified()")
public LockersResponseDto findByLocation(
Expand All @@ -126,7 +126,7 @@ public LockersResponseDto findByLocation(
}

@PostMapping(value = "/locations")
@Operation(summary = "사물함 위치 생성 API(완료)", description = "사물함 특정 층 생성 API 입니다.")
@Operation(summary = "사물함 위치 생성 API(관리자/회장 전용)", description = "사물함 특정 층 생성 API 입니다.")
@ResponseStatus(value = HttpStatus.CREATED)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand All @@ -138,7 +138,7 @@ public LockerLocationResponseDto createLocation(
}

@PutMapping(value = "/locations/{locationId}")
@Operation(summary = "사물함 위치 업데이트 API(완료)", description = "사물함 특정 층 업데이트 API 입니다.")
@Operation(summary = "사물함 위치 업데이트 API(관리자/회장 전용)", description = "사물함 특정 층 업데이트 API 입니다.")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand All @@ -155,7 +155,7 @@ public LockerLocationResponseDto updateLocation(
}

@DeleteMapping(value = "/locations/{locationId}")
@Operation(summary = "사물함 위치 삭제 API(완료)", description = "사물함 특정 층 삭제 API 입니다.")
@Operation(summary = "사물함 위치 삭제 API(관리자/회장 전용)", description = "사물함 특정 층 삭제 API 입니다.")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand All @@ -168,6 +168,7 @@ public LockerLocationResponseDto deleteLocation(

@GetMapping(value = "/{lockerId}/log")
@ResponseStatus(value = HttpStatus.OK)
@Operation(summary = "사물함 로그 조회 API(관리자/회장 전용)", description = "사물함 로그를 조회하는 API입니다.")
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
public List<LockerLogResponseDto> findLog(
Expand All @@ -177,7 +178,7 @@ public List<LockerLogResponseDto> findLog(
}

@PostMapping(value = "/expire")
@Operation(summary = "사물함 만료 기한 설정 Api(완료)", description = "사물함 만료 기한을 설정하는 API입니다.(학생회장만 가능)")
@Operation(summary = "사물함 만료 기한 설정 Api(관리자/회장 전용)", description = "사물함 만료 기한을 설정하는 API입니다.(학생회장만 가능)")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand All @@ -189,7 +190,7 @@ public void setExpireDate(
}

@PostMapping(value = "/createAll")
@Operation(summary = "사물함 전체 생성 API(관리자)" , description = "현재 존재하는 모든 사물함을 생성하는 API입니다.")
@Operation(summary = "사물함 전체 생성 API(관리자/회장 전용)" , description = "현재 존재하는 모든 사물함을 생성하는 API입니다.")
@ResponseStatus(value = HttpStatus.OK)
@PreAuthorize("@securityService.isActiveAndNotNoneUserAndAcademicRecordCertified() and " +
"hasAnyRole('ADMIN','PERSIDENT', 'VICE_PRESIDENT')")
Expand Down

0 comments on commit b962756

Please sign in to comment.