-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApplicationStatusResponse.kt
More file actions
39 lines (37 loc) · 1.37 KB
/
ApplicationStatusResponse.kt
File metadata and controls
39 lines (37 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package land.leets.domain.application.presentation.dto
import land.leets.domain.application.domain.Application
import land.leets.domain.application.type.ApplicationStatus
import land.leets.domain.interview.domain.Interview
import land.leets.domain.interview.type.HasInterview
import java.time.LocalDateTime
data class ApplicationStatusResponse(
val id: Long,
val status: ApplicationStatus,
val hasInterview: HasInterview?,
val interviewDate: LocalDateTime?,
val interviewPlace: String?,
) {
companion object {
fun of(
application: Application,
interview: Interview?,
): ApplicationStatusResponse {
if (application.applicationStatus != ApplicationStatus.PASS_PAPER) {
return ApplicationStatusResponse(
id = application.id!!,
status = application.applicationStatus,
hasInterview = null,
interviewDate = null,
interviewPlace = null,
)
}
return ApplicationStatusResponse(
id = application.id!!,
status = application.applicationStatus,
hasInterview = interview!!.hasInterview,
interviewDate = interview.fixedInterviewDate,
interviewPlace = interview.place,
)
}
}
}