오디션

- 엔티티 작성
- 관리자 - 오디션 생성, 수정, 리스트 API
This commit is contained in:
2024-12-24 03:26:20 +09:00
parent 0c4dc7e5df
commit e29e71b8bd
10 changed files with 351 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
package kr.co.vividnext.sodalive.audition
import kr.co.vividnext.sodalive.common.BaseEntity
import java.time.LocalDateTime
import javax.persistence.Entity
@Entity
data class Audition(
var title: String,
var information: String,
var isAdult: Boolean = false,
var endDate: LocalDateTime? = null,
// 원작 URL
var originalWorkUrl: String? = null
) : BaseEntity() {
var isActive: Boolean = true
var imagePath: String? = null
}

View File

@@ -0,0 +1,23 @@
package kr.co.vividnext.sodalive.audition
import kr.co.vividnext.sodalive.common.BaseEntity
import kr.co.vividnext.sodalive.member.Member
import javax.persistence.Entity
import javax.persistence.FetchType
import javax.persistence.JoinColumn
import javax.persistence.ManyToOne
@Entity
data class AuditionApplicant(
val voicePath: String,
val phoneNumber: String,
val isActive: Boolean = true
) : BaseEntity() {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "role_id", nullable = false)
var role: AuditionRole? = null
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id", nullable = false)
var member: Member? = null
}

View File

@@ -0,0 +1,20 @@
package kr.co.vividnext.sodalive.audition
import kr.co.vividnext.sodalive.common.BaseEntity
import javax.persistence.Entity
import javax.persistence.FetchType
import javax.persistence.JoinColumn
import javax.persistence.ManyToOne
@Entity
data class AuditionRole(
val name: String,
val imagePath: String,
// 오디션 대본 URL
val auditionScriptUrl: String,
val isActive: Boolean
) : BaseEntity() {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "audition_id", nullable = false)
var audition: Audition? = null
}

View File

@@ -0,0 +1,18 @@
package kr.co.vividnext.sodalive.audition
import kr.co.vividnext.sodalive.common.BaseEntity
import kr.co.vividnext.sodalive.member.Member
import javax.persistence.Entity
import javax.persistence.JoinColumn
import javax.persistence.ManyToOne
@Entity
class AuditionVote : BaseEntity() {
@ManyToOne
@JoinColumn(name = "member_id", nullable = false)
var member: Member? = null
@ManyToOne
@JoinColumn(name = "applicant_id", nullable = false)
var applicant: AuditionApplicant? = null
}