Files
vapor-po/Sources/SharedModels/User.swift

39 lines
867 B
Swift

import Dependencies
import Foundation
public struct User: Codable, Equatable, Identifiable, Sendable {
public var id: UUID
public var createdAt: Date
public var email: String
public var updatedAt: Date
public var username: String
public init(
id: UUID? = nil,
createdAt: Date? = nil,
email: String,
updatedAt: Date? = nil,
username: String
) {
@Dependency(\.date) var date
@Dependency(\.uuid) var uuid
self.id = id ?? uuid()
self.createdAt = createdAt ?? date.now
self.email = email
self.updatedAt = updatedAt ?? date.now
self.username = username
}
}
public extension User {
static var mocks: [Self] {
[
.init(email: "blob@test.com", username: "blob"),
.init(email: "blob-jr@test.com", username: "blob-jr"),
.init(email: "blob-sr@test.com", username: "blob-sr")
]
}
}