38 lines
855 B
Swift
38 lines
855 B
Swift
import Fluent
|
|
import Vapor
|
|
|
|
struct UserDTO: Content {
|
|
var id: UUID?
|
|
var username: String?
|
|
var email: String?
|
|
var password: String?
|
|
var group: String?
|
|
var isSuperuser: Bool?
|
|
|
|
func toModel() -> User {
|
|
let model = User()
|
|
|
|
model.id = self.id
|
|
if let username = self.username {
|
|
model.username = username
|
|
}
|
|
if let email = self.email {
|
|
model.email = email
|
|
}
|
|
if let password = self.password {
|
|
model.password = password
|
|
}
|
|
if let group = self.group {
|
|
model.group = group
|
|
} else {
|
|
model.group = "users"
|
|
}
|
|
if let isSuperuser = self.isSuperuser {
|
|
model.isSuperuser = isSuperuser
|
|
} else {
|
|
model.isSuperuser = false
|
|
}
|
|
return model
|
|
}
|
|
}
|