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 }