This commit is contained in:
Trey t
2025-11-05 10:38:46 -06:00
parent 025fcf677a
commit 2be3a5a3a8
23 changed files with 2837 additions and 124 deletions

View File

@@ -0,0 +1,79 @@
package com.mycrib.shared.models
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class CustomTask (
val id: Int,
val residence: Int,
@SerialName("created_by") val createdBy: Int,
@SerialName("created_by_username") val createdByUsername: String,
val title: String,
val description: String?,
val category: String,
val priority: String,
val status: String,
@SerialName("due_date") val dueDate: String,
@SerialName("estimated_cost") val estimatedCost: String?,
@SerialName("actual_cost") val actualCost: String?,
val notes: String?,
@SerialName("created_at") val createdAt: String,
@SerialName("updated_at") val updatedAt: String,
@SerialName("show_completed_button") val showCompletedButton: Boolean = false,
@SerialName("days_until_due") val daysUntilDue: Int? = null,
@SerialName("is_overdue") val isOverdue: Boolean? = null,
@SerialName("last_completion") val lastCompletion: LastCompletion? = null
)
@Serializable
data class LastCompletion(
@SerialName("completion_date") val completionDate: String,
@SerialName("completed_by") val completedBy: String?,
@SerialName("actual_cost") val actualCost: String?,
val rating: Int?
)
@Serializable
data class TaskCreateRequest(
val residence: Int,
val title: String,
val description: String? = null,
val category: Int,
val frequency: Int,
@SerialName("interval_days") val intervalDays: Int? = null,
val priority: Int,
val status: Int = 9,
@SerialName("due_date") val dueDate: String,
@SerialName("estimated_cost") val estimatedCost: String? = null
)
@Serializable
data class TaskDetail(
val id: Int,
val residence: Int,
//@SerialName("created_by") val createdBy: Int,
//@SerialName("created_by_username") val createdByUsername: String,
val title: String,
val description: String?,
val category: TaskCategory,
val priority: TaskPriority,
val frequency: TaskFrequency,
val status: TaskStatus?,
@SerialName("due_date") val dueDate: String,
@SerialName("estimated_cost") val estimatedCost: String? = null,
@SerialName("actual_cost") val actualCost: String? = null,
val notes: String? = null,
@SerialName("created_at") val createdAt: String,
@SerialName("updated_at") val updatedAt: String,
@SerialName("next_scheduled_date") val nextScheduledDate: String? = null,
@SerialName("show_completed_button") val showCompletedButton: Boolean = false,
val completions: List<TaskCompletion>
)
@Serializable
data class TasksByResidenceResponse(
@SerialName("residence_id") val residenceId: String,
val summary: TaskSummary,
val tasks: List<TaskDetail>
)