#68 Clean Entities
This commit is contained in:
30
src/main/kotlin/fr/dcproject/common/entity/Date.kt
Normal file
30
src/main/kotlin/fr/dcproject/common/entity/Date.kt
Normal file
@@ -0,0 +1,30 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user