     }
 }
 
-//extension BlogPost: Migration {}
-
-//
-//extension BlogPost: Parameterizable {}
-//
-//// MARK: - Node
-//
-//public enum BlogPostContext: Context {
-//    case all
-//    case shortSnippet
-//    case longSnippet
-//}
-//
-//extension BlogPost: NodeRepresentable {
-//    public func makeNode(in context: Context?) throws -> Node {
-//        let createdTime = created.timeIntervalSince1970
-//
-//        var node = Node([:], in: context)
-//        try node.set(Properties.blogPostID, id)
-//        try node.set(Properties.title, title)
-//        try node.set(Properties.contents, contents)
-//        try node.set(BlogUser.foreignIdKey, author)
-//        try node.set(Properties.created, createdTime)
-//        try node.set(Properties.slugUrl, slugUrl)
-//        try node.set(Properties.published, published)
-//
-//        if let lastEdited = lastEdited {
-//            try node.set(Properties.lastEdited, lastEdited.timeIntervalSince1970)
-//        }
-//
-//        guard let providedContext = context else {
-//            return node
-//        }
-//
-//        if type(of: providedContext) != BlogPostContext.self {
-//            return node
-//        }
-//
-//        let dateFormatter = DateFormatter()
-//        dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
-//        dateFormatter.dateStyle = .full
-//        dateFormatter.timeStyle = .none
-//        let createdDate = dateFormatter.string(from: created)
-//
-//        try node.set(Properties.authorName, postAuthor.get()?.name)
-//        try node.set(Properties.authorUsername, postAuthor.get()?.username)
-//        try node.set(Properties.createdDate, createdDate)
-//
-//        switch providedContext {
-//        case BlogPostContext.shortSnippet:
-//            try node.set(Properties.shortSnippet, shortSnippet())
-//            break
-//        case BlogPostContext.longSnippet:
-//            try node.set(Properties.longSnippet, longSnippet())
-//
-//            let allTags = try tags.all()
-//            if !allTags.isEmpty {
-//                try node.set(Properties.tags, allTags)
-//            }
-//            break
-//        case BlogPostContext.all:
-//            let allTags = try tags.all()
-//
-//            if !allTags.isEmpty {
-//                try node.set(Properties.tags, allTags)
-//            }
-//
-//            let iso8601Formatter = DateFormatter()
-//            iso8601Formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
-//            iso8601Formatter.locale = Locale(identifier: "en_US_POSIX")
-//            iso8601Formatter.timeZone = TimeZone(secondsFromGMT: 0)
-//
-//            try node.set(Properties.createdDateIso8601, iso8601Formatter.string(from: created))
-//
-//            if let lastEdited = lastEdited {
-//                let lastEditedDate = dateFormatter.string(from: lastEdited)
-//                try node.set(Properties.lastEditedDate, lastEditedDate)
-//                try node.set(Properties.lastEditedDateIso8601, iso8601Formatter.string(from: lastEdited))
-//            }
-//            try node.set(Properties.shortSnippet, shortSnippet())
-//            try node.set(Properties.longSnippet, longSnippet())
-//        default: break
-//        }
-//
-//        return node
-//    }
-//}
-//
 // MARK: - BlogPost Utilities
 
 extension BlogPost {

// MARK: - Model

public final class BlogPost: Codable {    

//    public struct Properties {
//        public static let blogPostID = "id"
//        public static let title = "title"
//        public static let contents = "contents"
//        public static let slugUrl = "slug_url"
//        public static let published = "published"
//        public static let created = "created"
//        public static let lastEdited = "last_edited"
//        public static let authorName = "author_name"
//        public static let authorUsername = "author_username"
//        public static let createdDate = "created_date"
//        public static let createdDateIso8601 = "created_date_iso8601"
//        public static let lastEditedDate = "last_edited_date"
//        public static let lastEditedDateIso8601 = "last_edited_date_iso8601"
//        public static let shortSnippet = "short_snippet"
//        public static let longSnippet = "long_snippet"
//        public static let tags = "tags"
//    }

//    static var postsPerPage = 10

    // TODO convert to UUID?
//    public typealias ID = Int
//    public static var idKey: IDKey {
//        return \BlogPost.blogID
//    }
//    public typealias Database = DatabaseType

    public var blogID: Int?
    public var title: String

//        return newSlugUrl
//    }
}
