24 lines
820 B
Go
24 lines
820 B
Go
package domain
|
|
|
|
type User struct {
|
|
ID string `db:"id" json:"id"`
|
|
Firstname string `db:"firstname" json:"firstname,omitempty"`
|
|
Lastname string `db:"lastname" json:"lastname,omitempty"`
|
|
Password string `db:"password" json:"-"`
|
|
Email string `db:"email" json:"email,omitempty"`
|
|
PictureID string `db:"picture" json:"picture,omitempty"`
|
|
Enabled bool `db:"enabled" json:"enabled"`
|
|
Administrator bool `db:"administrator" json:"administrator"`
|
|
VersionId string `db:"_version" json:"-"`
|
|
}
|
|
|
|
type UserRepository interface {
|
|
CountUsers() (int, error)
|
|
FindUser(id string) (*User, error)
|
|
FindUserByEmail(email string) (*User, error)
|
|
ListUsers() ([]*User, error)
|
|
CreateUser(user *User) (*User, error)
|
|
UpdateUser(user *User) (*User, error)
|
|
DeleteUser(id string) error
|
|
}
|