Files
pulse-mobile/PulseHealth/Models/HabitModels.swift

49 lines
1.3 KiB
Swift

import Foundation
enum HabitFrequency: String, Codable {
case daily, weekly, monthly
var displayName: String {
switch self {
case .daily: return "Ежедневно"
case .weekly: return "Еженедельно"
case .monthly: return "Ежемесячно"
}
}
}
struct Habit: Codable, Identifiable {
let id: Int
var name: String
var description: String?
var icon: String?
var color: String?
var frequency: HabitFrequency
var reminderTime: String?
var targetDays: [Int]?
var targetCount: Int?
var currentStreak: Int?
var longestStreak: Int?
var completedToday: Bool?
var totalCompleted: Int?
enum CodingKeys: String, CodingKey {
case id, name, description, icon, color, frequency
case reminderTime = "reminder_time"
case targetDays = "target_days"
case targetCount = "target_count"
case currentStreak = "current_streak"
case longestStreak = "longest_streak"
case completedToday = "completed_today"
case totalCompleted = "total_completed"
}
}
struct HabitLogRequest: Codable {
var completedAt: String?
var note: String?
enum CodingKeys: String, CodingKey {
case completedAt = "completed_at"
case note
}
}