parent
d090631d1c
commit
6182a7a77e
|
@ -0,0 +1,19 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition.applicant
|
||||
|
||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.DeleteMapping
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
|
||||
@RestController
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
@RequestMapping("/admin/audition/applicant")
|
||||
class AdminAuditionApplicantController(private val service: AdminAuditionApplicantService) {
|
||||
@DeleteMapping("/{id}")
|
||||
fun deleteAuditionApplicant(@PathVariable id: Long) = ApiResponse.ok(
|
||||
service.deleteAuditionApplicant(id),
|
||||
"삭제되었습니다."
|
||||
)
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition.applicant
|
||||
|
||||
import kr.co.vividnext.sodalive.audition.AuditionApplicant
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
|
||||
interface AdminAuditionApplicantRepository : JpaRepository<AuditionApplicant, Long>
|
|
@ -0,0 +1,17 @@
|
|||
package kr.co.vividnext.sodalive.admin.audition.applicant
|
||||
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
|
||||
@Service
|
||||
class AdminAuditionApplicantService(private val repository: AdminAuditionApplicantRepository) {
|
||||
@Transactional
|
||||
fun deleteAuditionApplicant(id: Long) {
|
||||
val applicant = repository.findByIdOrNull(id)
|
||||
?: throw SodaException("잘못된 요청입니다.")
|
||||
|
||||
applicant.isActive = false
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue