관리자 - 회원 타입 수정 기능 추가
This commit is contained in:
parent
b556219e36
commit
14220ff6dc
|
@ -4,6 +4,8 @@ import kr.co.vividnext.sodalive.common.ApiResponse
|
|||
import org.springframework.data.domain.Pageable
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.PutMapping
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
|
@ -12,6 +14,12 @@ import org.springframework.web.bind.annotation.RestController
|
|||
@RequestMapping("/admin/member")
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
class AdminMemberController(private val service: AdminMemberService) {
|
||||
@PutMapping
|
||||
fun updateMember(@RequestBody request: UpdateMemberRequest) = ApiResponse.ok(
|
||||
service.updateMember(request = request),
|
||||
"수정되었습니다."
|
||||
)
|
||||
|
||||
@GetMapping("/list")
|
||||
fun getMemberList(pageable: Pageable) = ApiResponse.ok(service.getMemberList(pageable))
|
||||
|
||||
|
|
|
@ -5,7 +5,9 @@ import kr.co.vividnext.sodalive.member.Member
|
|||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
import org.springframework.beans.factory.annotation.Value
|
||||
import org.springframework.data.domain.Pageable
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
|
@ -16,6 +18,16 @@ class AdminMemberService(
|
|||
@Value("\${cloud.aws.cloud-front.host}")
|
||||
private val cloudFrontHost: String
|
||||
) {
|
||||
@Transactional
|
||||
fun updateMember(request: UpdateMemberRequest) {
|
||||
val member = repository.findByIdOrNull(request.id)
|
||||
?: throw SodaException("해당 유저가 없습니다.")
|
||||
|
||||
if (member.role != request.userType) {
|
||||
member.role = request.userType
|
||||
}
|
||||
}
|
||||
|
||||
fun getMemberList(pageable: Pageable): GetAdminMemberListResponse {
|
||||
val totalCount = repository.getMemberTotalCount()
|
||||
val memberList = processMemberListToGetAdminMemberListResponseItemList(
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
package kr.co.vividnext.sodalive.admin.member
|
||||
|
||||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
|
||||
data class UpdateMemberRequest(
|
||||
val id: Long,
|
||||
val userType: MemberRole
|
||||
)
|
Loading…
Reference in New Issue