generated from example/golang-server-template
32 lines
531 B
Go
32 lines
531 B
Go
package data
|
|
|
|
import (
|
|
"errors"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
ErrDuplicateEmail = errors.New("duplicate email")
|
|
)
|
|
|
|
type User struct {
|
|
ID int64 `json:"id"`
|
|
CreateAt time.Time `json:"create_at"`
|
|
Name string `json:"name"`
|
|
Email string `json:"email"`
|
|
Password password `json:"-"`
|
|
Activated bool `json:"activated"`
|
|
Version int `json:"-"`
|
|
}
|
|
|
|
var AnonymousUser = &User{}
|
|
|
|
type password struct {
|
|
plaintext *string
|
|
hash []byte
|
|
}
|
|
|
|
func (u *User) IsAnonymous() bool {
|
|
return u == AnonymousUser
|
|
}
|