19 lines
660 B
Go
19 lines
660 B
Go
package user
|
|
|
|
import "time"
|
|
|
|
type Repository interface {
|
|
Get(id uint32) (User, error)
|
|
GetByUsername(username string) (User, error)
|
|
GetByEmail(email string) (User, error)
|
|
GetAll() []User
|
|
Create(user User) (User, error)
|
|
Delete(id uint32) error
|
|
UpdateVerificationStatus(userId uint32, isVerified bool) (User, error)
|
|
UpdatePassword(userId uint32, password string) (User, error)
|
|
UpdatePasswordResetCode(userId uint32, code string, expiration time.Time) (User, error)
|
|
ClearVerificationCode(userId uint32) (User, error)
|
|
ResetPassword(userId uint32, hashedPassword string) (User, error)
|
|
UpdateDisplayName(userId uint32, displayName string) (User, error)
|
|
}
|