From 02d8b408317093613e5100caea85f527cbd1c5ad Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sun, 17 Jan 2021 13:12:13 -0500 Subject: [PATCH] [+] Create Alarms object and save and read functions --- ProjectClock/Models.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ProjectClock/Models.swift b/ProjectClock/Models.swift index 6ca30e9..ec445f1 100644 --- a/ProjectClock/Models.swift +++ b/ProjectClock/Models.swift @@ -33,6 +33,9 @@ struct Alarm: Codable var alarmTime: Date var text: String var wakeMethod: WVM + + /// When is the last time that the alarm went off + var lastEnabled: Date? = nil } struct Family: Codable @@ -42,3 +45,17 @@ struct Family: Codable var members: [String] // And a hidden field: admin pin } + +class Alarms: Codable +{ + var list: [Alarm] = [] + + /// Save alarms to local storage + func localSave() -> Alarms { localStorage.setValue(JSON.stringify(list)!, forKey: "alarms"); return self } + + /// Read alarms from local storage + func localRead() -> Alarms { list = JSON.parse([Alarm].self, localStorage.string(forKey: "alarms")!)!; return self } + + /// Read an alarm object from local storage + static func fromLocal() -> Alarms { return Alarms().localRead() } +}