Bark/Model/MessageDeleteTimeRange.swift
2025-09-05 11:47:32 +08:00

93 lines
2.2 KiB
Swift

//
// MessageDeleteTimeRange.swift
// Bark
//
// Created by huangfeng on 1/7/25.
// Copyright © 2025 Fin. All rights reserved.
//
import Foundation
enum MessageDeleteTimeRange {
///
case lastHour
///
case today
///
case todayAndYesterday
///
case lastMonth
///
case allTime
///
case beforeOneHour
///
case beforeToday
///
case beforeYesterday
///
case beforeOneMonth
var string: String {
switch self {
case .lastHour:
return "lastHour".localized
case .today:
return "today".localized
case .todayAndYesterday:
return "todayAndYesterday".localized
case .lastMonth:
return "lastMonth".localized
case .allTime:
return "allTime".localized
case .beforeOneHour:
return "beforeAnHour".localized
case .beforeToday:
return "beforeToday".localized
case .beforeYesterday:
return "beforeYesterday".localized
case .beforeOneMonth:
return "beforeAMonth".localized
}
}
var startDate: Date {
switch self {
case .lastHour:
return Date.lastHour
case .today:
return Date().startOfDay
case .todayAndYesterday:
return Date.yesterday
case .lastMonth:
return Date.lastMonth
case .allTime,
.beforeOneHour,
.beforeToday,
.beforeYesterday,
.beforeOneMonth:
return Date(timeIntervalSince1970: 0)
}
}
var endDate: Date {
switch self {
case .lastHour,
.today,
.todayAndYesterday,
.lastMonth,
.allTime:
return Date()
case .beforeOneHour:
return Date.lastHour
case .beforeToday:
return Date().startOfDay
case .beforeYesterday:
return Date.yesterday
case .beforeOneMonth:
return Date.lastMonth
}
}
}