import Fluent final class Session: Model, @unchecked Sendable { static let schema: String = "sessions" @ID(custom: "token", generatedBy: .random) var id: String? @Parent(key: "accountId") var account: Account @Field(key: "expires") var expires: Date @Field(key: "type") var type: SessionType init() { } init(account: Account, expires: Date, type: SessionType) throws { self.id = UUID().uuidString self.$account.id = try account.requireID() self.expires = expires self.type = type } } enum SessionType: Int, Codable { case ZAT = 0 case ZRT = 1 case VIEWER = 2 }