Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
import Vapor
import FluentProvider
import HTTP
final class User: Model {
let storage = Storage()
var name: String
static let idKey = "id"
static let nameKey = "name"
init(name: String) { = name
init(row: Row) throws {
name = try row.get(User.nameKey)
func makeRow() throws -> Row {
var row = Row()
try row.set(User.nameKey, name)
return row
extension User: Preparation {
static func prepare(_ database: Database) throws {
try database.create(self) { builder in
static func revert(_ database: Database) throws {
try database.delete(self)
extension User: JSONConvertible {
convenience init(json: JSON) throws {
try self.init(
content: json.get(User.nameKey)
func makeJSON() throws -> JSON {
var json = JSON()
try json.set(User.idKey, id)
try json.set(User.nameKey, name)
return json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.