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.

22 linhas
667 B

há 5 anos
há 5 anos
há 5 anos
  1. require "json"
  2. require "uuid"
  3. require "uuid/json"
  4. require "crypto/bcrypt/password"
  5. require "./invoice"
  6. enum UserType
  7. Normal=0,
  8. Administrator=1,
  9. end
  10. class User
  11. JSON.mapping(
  12. addresses: {type: Array(Address), nilable: true},
  13. invoices: {type: Array(Invoice), nilable: true},
  14. tokens: {type: Array(UUID), nilable: true},
  15. email: String,
  16. password_hash: {type: String, nilable: true},
  17. active: {type: Bool, default: false},
  18. type: {type: UserType, default: UserType::Normal},
  19. )
  20. def initialize(@email, @active = false, @type = UserType::Normal) end
  21. end