Skip to content

Instantly share code, notes, and snippets.



Created Aug 26, 2017
What would you like to do?
import Vapor
import FluentProvider
import HTTP
final class Pet: 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(Pet.nameKey)
func makeRow() throws -> Row {
var row = Row()
try row.set(Pet.nameKey, name)
return row
extension Pet: Preparation {
static func prepare(_ database: Database) throws {
try database.create(self) { builder in
static func revert(_ database: Database) throws {
try database.delete(self)
extension Pet: JSONConvertible {
convenience init(json: JSON) throws {
try self.init(
name: json.get(Pet.nameKey)
func makeJSON() throws -> JSON {
var json = JSON()
try json.set(Pet.idKey, id)
try json.set(Pet.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.