feat: Working on hummingbird app
This commit is contained in:
@@ -10,16 +10,16 @@ public extension DatabaseClient.Users {
|
||||
.init { create in
|
||||
let model = try create.toModel()
|
||||
try await model.save(on: database)
|
||||
return model.toDTO()
|
||||
return try model.toDTO()
|
||||
} delete: { id in
|
||||
guard let model = try await UserModel.find(id, on: database) else {
|
||||
throw NotFoundError()
|
||||
}
|
||||
try await model.delete(on: database)
|
||||
} fetchAll: {
|
||||
try await UserModel.query(on: database).all().map { $0.toDTO() }
|
||||
try await UserModel.query(on: database).all().map { try $0.toDTO() }
|
||||
} get: { id in
|
||||
try await UserModel.find(id, on: database).map { $0.toDTO() }
|
||||
try await UserModel.find(id, on: database).map { try $0.toDTO() }
|
||||
} login: { login in
|
||||
try login.validate()
|
||||
|
||||
@@ -168,13 +168,13 @@ final class UserModel: Model, @unchecked Sendable {
|
||||
self.passwordHash = passwordHash
|
||||
}
|
||||
|
||||
func toDTO() -> User {
|
||||
.init(
|
||||
id: id,
|
||||
createdAt: createdAt,
|
||||
func toDTO() throws -> User {
|
||||
try .init(
|
||||
id: requireID(),
|
||||
email: email,
|
||||
updatedAt: updatedAt,
|
||||
username: username
|
||||
username: username,
|
||||
createdAt: createdAt,
|
||||
updatedAt: updatedAt
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user