TacheEntity.swift 29 lignes · 1090 octets
import Foundation

/// Room entity `taches`.
struct TacheEntity: Equatable {
    var localId: Int64 = 0
    var serverId: String? = nil
    var projetLocalId: Int64? = nil
    var projetServerId: String = ""
    var titre: String = ""
    var description: String = ""
    var colonneId: String = ""
    var ordre: Int = 0
    var assigneA: String? = nil
    /// Premier jour planifié, format ISO `AAAA-MM-JJ` (miroir Rust `debut`).
    var debut: String? = nil
    /// Durée en jours **ouvrés** selon le rythme du projet.
    var dureeJours: Int? = nil
    /// Étiquette normalisée ; la couleur s'en déduit (cf. `CouleurEtiquette`).
    var etiquette: String? = nil
    /// Tâche parente (regroupement). Affichée, non éditable sur mobile.
    var parentId: String? = nil
    /// Identifiants des tâches dont celle-ci dépend, en JSON.
    var dependDeJson: String = "[]"
    /// Sous-tâches `{id, titre, fait}` en JSON (même forme que côté serveur).
    var sousTachesJson: String = "[]"
    var auteur: String = ""
    var createdAt: Int64 = 0
    var updatedAt: Int64 = 0
}