asfoury/projmag

View on GitHub
app/src/main/java/com/sdp13epfl2021/projmag/model/Candidature.kt

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package com.sdp13epfl2021.projmag.model

import android.os.Parcelable
import com.sdp13epfl2021.projmag.curriculumvitae.CurriculumVitae
import com.sdp13epfl2021.projmag.database.interfaces.ProjectId
import kotlinx.parcelize.Parcelize
import java.io.Serializable

@Parcelize
data class Candidature(
    val projectId: ProjectId,
    val userId: String,
    val profile: ImmutableProfile,
    val cv: CurriculumVitae,
    val state: State
) : Parcelable, Serializable {

    enum class State {
        Waiting, Accepted, Rejected;

        companion object {
            fun enumOf(s: String?): State? {
                return when (s) {
                    Waiting.name -> Waiting
                    Accepted.name -> Accepted
                    Rejected.name -> Rejected
                    else -> null
                }
            }
        }
    }
}