require "json" require "uuid" require "uuid/json" require "crypto/bcrypt/password" require "./invoice" enum UserType Normal=0, Administrator=1, end class User JSON.mapping( addresses: {type: Array(Address), nilable: true}, invoices: {type: Array(Invoice), nilable: true}, tokens: {type: Array(UUID), nilable: true}, email: String, password_hash: {type: String, nilable: true}, active: {type: Bool, default: false}, type: {type: UserType, default: UserType::Normal}, ) def initialize(@email, @active = false, @type = UserType::Normal) end end