From 725eba300f429245c59801fdee5d779ba6633976 Mon Sep 17 00:00:00 2001 From: Frank Rotermund Date: Tue, 29 Aug 2023 07:57:07 +0200 Subject: [PATCH] MESSENGER-5071 use ios8601 for maintenance --- .../ServerDowntimeDefaultService.swift | 16 ++++++++-------- bwi/ServerMaintenance/exampleDowntime.json | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bwi/ServerMaintenance/ServerDowntimeDefaultService.swift b/bwi/ServerMaintenance/ServerDowntimeDefaultService.swift index 479dc484b..11bba57aa 100644 --- a/bwi/ServerMaintenance/ServerDowntimeDefaultService.swift +++ b/bwi/ServerMaintenance/ServerDowntimeDefaultService.swift @@ -42,25 +42,25 @@ fileprivate let maintenanceURL = "/_matrix/cmaintenance" .compactMap { try? JSONDecoder().decode(ServerDowntime.self, from: $0) } .filter { // remove downtimes that are already done - guard let downtimeEndDate = $0.endTime.iso8601LocalDate else { + guard let downtimeEndDate = $0.endTime.iso8601Date else { return false } return downtimeEndDate.timeIntervalSinceNow >= 0 } .filter { // remove downtimes where the warning time is still in the future - guard let warningStartDate = $0.warningStartTime.iso8601LocalDate else { + guard let warningStartDate = $0.warningStartTime.iso8601Date else { return false } return warningStartDate.timeIntervalSinceNow <= 0 } .filter { // remove downtimes with invalid formed start or end times - return $0.startTime.iso8601LocalDate != nil && $0.endTime.iso8601LocalDate != nil + return $0.startTime.iso8601Date != nil && $0.endTime.iso8601Date != nil } .sorted { // sort downtimes be startTime - guard let downtimeStartDate1 = $0.startTime.iso8601LocalDate, let downtimeStartDate2 = $1.startTime.iso8601LocalDate else { + guard let downtimeStartDate1 = $0.startTime.iso8601Date, let downtimeStartDate2 = $1.startTime.iso8601Date else { return false } return downtimeStartDate1 < downtimeStartDate2 @@ -76,7 +76,7 @@ fileprivate let maintenanceURL = "/_matrix/cmaintenance" return .none } - if let startDate = downTime.startTime.iso8601LocalDate { + if let startDate = downTime.startTime.iso8601Date { if startDate.timeIntervalSinceNow < 0 { return .ongoing } @@ -213,7 +213,7 @@ extension ServerDowntimeDefaultService : ServerDowntimeService { case .adhocMessage: return downTime.description case .maintenance: - guard let startDate = downTime.startTime.iso8601LocalDate, let endDate = downTime.endTime.iso8601LocalDate else { + guard let startDate = downTime.startTime.iso8601Date, let endDate = downTime.endTime.iso8601Date else { return "" } @@ -262,7 +262,7 @@ extension ServerDowntimeDefaultService : ServerDowntimeService { } @objc func isDowntimeNow() -> Bool { - guard let downTime = self.nextDowntime(), let startDate = downTime.startTime.iso8601LocalDate, let endDate = downTime.endTime.iso8601LocalDate else { + guard let downTime = self.nextDowntime(), let startDate = downTime.startTime.iso8601Date, let endDate = downTime.endTime.iso8601Date else { return false } return startDate <= Date() && Date() <= endDate @@ -310,7 +310,7 @@ extension ServerDowntimeDefaultService : ServerDowntimeService { } @objc func isSameDay() -> Bool { - guard let downTime = self.nextDowntime(), let startDate = downTime.startTime.iso8601LocalDate, let endDate = downTime.endTime.iso8601LocalDate else { + guard let downTime = self.nextDowntime(), let startDate = downTime.startTime.iso8601Date, let endDate = downTime.endTime.iso8601Date else { return false } diff --git a/bwi/ServerMaintenance/exampleDowntime.json b/bwi/ServerMaintenance/exampleDowntime.json index f6fcf9bf9..be6beed35 100644 --- a/bwi/ServerMaintenance/exampleDowntime.json +++ b/bwi/ServerMaintenance/exampleDowntime.json @@ -1,10 +1,10 @@ { "downtime": [ { - "warning_start_time": "2023-04-01T00:00:00Z", - "start_time": "2023-07-17T22:30:00Z", - "end_time": "2023-08-21T14:41:00Z", - "type": "ADHOC_MESSAGE", + "warning_start_time": "2023-08-01T00:00:00+01:00", + "start_time": "2023-08-17T22:30:00+02:00", + "end_time": "2023-08-30T14:41:00+02:00", + "type": "MAINTENANCE", "description": "Spezifischer Fehlertext.", "blocking": true }