26 lines
610 B
Swift
26 lines
610 B
Swift
import Foundation
|
|
|
|
public enum Permission: String, CaseIterable, Sendable {
|
|
|
|
case locationAuthor
|
|
}
|
|
|
|
@MainActor
|
|
public struct User: Codable, Sendable {
|
|
public let email: String
|
|
public var token: String
|
|
public var firebaseIdToken: String?
|
|
public var firebaseRefreshToken: String?
|
|
public var permissions: [String]?
|
|
|
|
public init(email: String = "", token: String = "") {
|
|
self.email = email
|
|
self.token = token
|
|
}
|
|
|
|
public func hasPermission(_ permission: Permission) -> Bool {
|
|
|
|
permissions?.contains(permission.rawValue) == true
|
|
}
|
|
}
|