init
This commit is contained in:
40
src/main/kotlin/space/luminic/finance/models/Goal.kt
Normal file
40
src/main/kotlin/space/luminic/finance/models/Goal.kt
Normal file
@@ -0,0 +1,40 @@
|
||||
package space.luminic.finance.models
|
||||
|
||||
import org.springframework.data.annotation.CreatedBy
|
||||
import org.springframework.data.annotation.CreatedDate
|
||||
import org.springframework.data.annotation.Id
|
||||
import org.springframework.data.annotation.LastModifiedBy
|
||||
import org.springframework.data.annotation.LastModifiedDate
|
||||
import org.springframework.data.mongodb.core.mapping.Document
|
||||
import org.springframework.data.annotation.Transient
|
||||
import space.luminic.finance.dtos.UserDTO
|
||||
import java.math.BigDecimal
|
||||
import java.text.Bidi
|
||||
import java.time.Instant
|
||||
import java.time.LocalDate
|
||||
|
||||
|
||||
@Document(collection = "goals")
|
||||
data class Goal(
|
||||
@Id val id: String? = null,
|
||||
val spaceId: String,
|
||||
val type: GoalType,
|
||||
val name: String,
|
||||
val description: String? = null,
|
||||
val goalAmount: BigDecimal,
|
||||
val goalDate: LocalDate,
|
||||
@CreatedBy val createdById: String,
|
||||
@Transient val createdBy: User? = null,
|
||||
@CreatedDate val createdAt: Instant? = null,
|
||||
@LastModifiedBy val updatedById: String,
|
||||
@Transient val updatedBy: User? = null,
|
||||
@LastModifiedDate val updatedAt: Instant? = null,
|
||||
) {
|
||||
|
||||
enum class GoalType(val displayName: String, val icon: String) {
|
||||
AUTO("Авто", "🏎️"),
|
||||
VACATION("Отпуск", "🏖️"),
|
||||
GOODS("Покупка", "🛍️"),
|
||||
OTHER("Прочее", "💸")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user