Files
Michael Housh 9478fae371 Reset Password (#1)
Implements reset password routes, views, and tests.

Reviewed-on: #1
2025-01-27 14:07:37 +00:00

32 lines
1.1 KiB
Swift

import Dependencies
import DependenciesMacros
import Foundation
import SharedModels
import Vapor
public extension DatabaseClient {
@DependencyClient
struct Users: Sendable {
public var count: @Sendable () async throws -> Int
public var create: @Sendable (User.Create) async throws -> User
public var delete: @Sendable (User.ID) async throws -> Void
public var fetchAll: @Sendable () async throws -> [User]
public var get: @Sendable (User.ID) async throws -> User?
public var login: @Sendable (User.Login) async throws -> User.Token
public var logout: @Sendable (User.Token.ID) async throws -> Void
public var resetPassword: @Sendable (User.ID, User.ResetPassword) async throws -> Void
public var token: @Sendable (User.ID) async throws -> User.Token
public var update: @Sendable (User.ID, User.Update) async throws -> User
}
}
extension User: Content {}
extension User.Create: Content {}
extension User.Token: Content {}
extension User.Update: Content {}
extension DatabaseClient.Users: TestDependencyKey {
public static let testValue: DatabaseClient.Users = Self()
}