omnivore/apple/OmnivoreKit/Sources/Models/DataModels/Subscription.swift

69 lines
1.6 KiB
Swift
Raw Normal View History

2022-05-26 05:51:41 +00:00
import Foundation
import SwiftGraphQL
2022-05-26 05:51:41 +00:00
public struct Subscription {
public let createdAt: Date?
public let description: String?
public let subscriptionID: String
public let name: String
public let type: SubscriptionType
2023-12-19 01:59:40 +00:00
public let folder: String
public let fetchContentType: FetchContentType
public let newsletterEmailAddress: String?
2022-05-26 05:51:41 +00:00
public let status: SubscriptionStatus
public let unsubscribeHttpUrl: String?
public let unsubscribeMailTo: String?
public let updatedAt: Date?
public let url: String?
public let icon: String?
2022-05-26 05:51:41 +00:00
public init(
createdAt: Date?,
description: String?,
subscriptionID: String,
name: String,
type: SubscriptionType,
2023-12-19 01:59:40 +00:00
folder: String,
fetchContentType: FetchContentType,
newsletterEmailAddress: String?,
2022-05-26 05:51:41 +00:00
status: SubscriptionStatus,
unsubscribeHttpUrl: String?,
unsubscribeMailTo: String?,
updatedAt: Date?,
url: String?,
icon: String?
2022-05-26 05:51:41 +00:00
) {
self.createdAt = createdAt
self.description = description
self.subscriptionID = subscriptionID
self.name = name
self.type = type
2023-12-19 01:59:40 +00:00
self.folder = folder
self.fetchContentType = fetchContentType
2022-05-26 05:51:41 +00:00
self.newsletterEmailAddress = newsletterEmailAddress
self.status = status
self.unsubscribeHttpUrl = unsubscribeHttpUrl
self.unsubscribeMailTo = unsubscribeMailTo
self.updatedAt = updatedAt
self.url = url
self.icon = icon
2022-05-26 05:51:41 +00:00
}
}
public enum SubscriptionStatus {
case active
case deleted
case unsubscribed
}
public enum SubscriptionType {
case newsletter
case feed
}
public enum FetchContentType {
case always
case never
case whenEmpty
}