31 lines
626 B
Kotlin
31 lines
626 B
Kotlin
package fr.dcproject.common.entity
|
|
|
|
import org.joda.time.DateTime
|
|
|
|
/* Interface */
|
|
interface CreatedAt {
|
|
val createdAt: DateTime
|
|
class Imp(
|
|
override val createdAt: DateTime = DateTime.now()
|
|
) : CreatedAt
|
|
}
|
|
interface UpdatedAt {
|
|
val updatedAt: DateTime
|
|
class Imp(
|
|
override val updatedAt: DateTime = DateTime.now()
|
|
) : UpdatedAt
|
|
}
|
|
|
|
interface DeletedAt {
|
|
val deletedAt: DateTime?
|
|
fun isDeleted(): Boolean {
|
|
return deletedAt?.let {
|
|
it < DateTime.now()
|
|
} ?: false
|
|
}
|
|
|
|
class Imp(
|
|
override val deletedAt: DateTime? = null
|
|
) : DeletedAt
|
|
}
|