user.go 540 B

1234567891011121314151617181920212223242526272829303132333435
  1. package protocol
  2. type UserLevel byte
  3. const (
  4. UserLevelAdmin = UserLevel(255)
  5. UserLevelUntrusted = UserLevel(0)
  6. )
  7. type User struct {
  8. Account Account
  9. Level UserLevel
  10. Email string
  11. }
  12. func NewUser(level UserLevel, email string) *User {
  13. return &User{
  14. Level: level,
  15. Email: email,
  16. }
  17. }
  18. type UserSettings struct {
  19. PayloadReadTimeout uint32
  20. }
  21. func GetUserSettings(level UserLevel) UserSettings {
  22. settings := UserSettings{
  23. PayloadReadTimeout: 120,
  24. }
  25. if level > 0 {
  26. settings.PayloadReadTimeout = 0
  27. }
  28. return settings
  29. }