 import Vapor
 import Authentication
-////import BCrypt
-//import Foundation
 
 // MARK: - Model
 
 public final class BlogUser: Codable {
-
-    // TODO
-//    public struct Properties {
-//        public static let userID = "id"
-//        public static let name = "name"
-//        public static let username = "username"
-//        public static let password = "password"
-//        public static let resetPasswordRequired = "reset_password_required"
-//        public static let profilePicture = "profile_picture"
-//        public static let twitterHandle = "twitter_handle"
-//        public static let biography = "biography"
-//        public static let tagline = "tagline"
-//        public static let postCount = "post_count"
-//    }
 
     public var userID: Int?
     public var name: String

        try unauthenticate(BlogUser.self)
    }
}

//extension BlogUser: SessionPersistable {}
//
//extension Request {
//    func user() throws -> BlogUser {
//        return try auth.assertAuthenticated()
//    }
//}
//
//extension BlogUser: PasswordAuthenticatable {
//    public static let usernameKey = Properties.username
//    public static let passwordVerifier: PasswordVerifier? = BlogUser.passwordHasher
//    public var hashedPassword: String? {
//        return password.makeString()
//    }
//    internal(set) static var passwordHasher: PasswordHasherVerifier = BCryptHasher(cost: 10)
//}
//
//protocol PasswordHasherVerifier: PasswordVerifier, HashProtocol {}
//
//extension BCryptHasher: PasswordHasherVerifier {}
//
//// MARK: - Relations
//
//extension BlogUser {
//    public var posts: Children<BlogUser, BlogPost> {
//        return children()
//    }
//
//    public func sortedPosts() throws -> Query<BlogPost> {
//        return try posts.filter(BlogPost.Properties.published, true).sort(BlogPost.Properties.created, .descending)
//    }
//}


}

// MARK: - Authentication

extension BlogUser: Authenticatable {
