Implementation of a generic backend of eshop in Crystal
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

21 linhas
500 B

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},
type: {type: UserType, default: UserType::Normal},
)
end