user.go 578 B

123456789101112131415161718192021222324252627282930313233343536
  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(account Account, level UserLevel, email string) *User {
  13. return &User{
  14. Account: account,
  15. Level: level,
  16. Email: email,
  17. }
  18. }
  19. type UserSettings struct {
  20. PayloadReadTimeout int
  21. }
  22. func GetUserSettings(level UserLevel) UserSettings {
  23. settings := UserSettings{
  24. PayloadReadTimeout: 120,
  25. }
  26. if level > 0 {
  27. settings.PayloadReadTimeout = 0
  28. }
  29. return settings
  30. }