You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
544 B
25 lines
544 B
import Fluent |
|
import Vapor |
|
|
|
struct TodoDTO: Content { |
|
var id: UUID? |
|
var title: String? |
|
|
|
func toModel() -> Todo { |
|
let model = Todo() |
|
|
|
model.id = self.id |
|
if let title = self.title { |
|
model.title = title |
|
} |
|
return model |
|
} |
|
} |
|
|
|
extension TodoDTO: Validatable { |
|
static func validations(_ validations: inout Validations) { |
|
validations.add( |
|
"title", as: String.self, is: !.empty, required: true, |
|
customFailureDescription: "Title is required") |
|
} |
|
}
|
|
|