36 lines
954 B
Kotlin
36 lines
954 B
Kotlin
package space.luminic.finance.dtos
|
|
|
|
import space.luminic.finance.models.AISummaryData
|
|
import java.time.LocalDate
|
|
|
|
data class DashboardDataDTO(
|
|
val analyzedText: AISummaryData? = null,
|
|
val totalExpense: Int,
|
|
val totalIncome: Int,
|
|
val balance: Int,
|
|
val categories: List<DashboardCategoryDTO>,
|
|
val upcomingTransactions: List<TransactionDTO>,
|
|
val recentTransactions: List<TransactionDTO>,
|
|
val weeks: List<DashboardWeeksDTO>
|
|
)
|
|
|
|
data class DashboardWeeksDTO(
|
|
val startDate: LocalDate,
|
|
val endDate: LocalDate,
|
|
val expenseSum: Int,
|
|
val categories: List<WeekCategoryDTO>
|
|
)
|
|
|
|
data class WeekCategoryDTO(
|
|
val categoryId: Int?,
|
|
val categoryName: String?,
|
|
val categoryIcon: String?,
|
|
val sum: Int? = 0
|
|
)
|
|
data class DashboardCategoryDTO (
|
|
val category: CategoryDTO,
|
|
val currentPeriodAmount: Int,
|
|
val previousPeriodAmount: Int,
|
|
val changeDiff: Double,
|
|
val changeDiffPercentage: Double,
|
|
) |