-
Notifications
You must be signed in to change notification settings - Fork 0
/
store.go
38 lines (32 loc) · 993 Bytes
/
store.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package auth
import "time"
type User struct {
Id string
CreatedAt time.Time
Email string
Lang string
ConfirmedAt time.Time
}
type privateUser struct {
id string
createdAt time.Time
email string
hashedPass string
lang string
confirmationKey string
confirmedAt time.Time
resetKey string
}
type store interface {
createSchema() error
createUser(userId string, createdAt time.Time, email, hashedPass, lang, confirmationKey string) error
removeUsers(userIds ...string) error
setUserConfirmedAt(userId string, confirmedAt time.Time) error
setUserResetKey(userId, resetKey string) error
setUserHashedPass(userId, hashedPass string) error
setUserEmail(userId, email string) error
getUserId(email string) (userId string, err error)
getPrivateUser(userId string) (user privateUser, err error)
getAllUsers() (users []User, err error)
removeUnconfirmedUsersCreatedBefore(date time.Time) error
}