-
Notifications
You must be signed in to change notification settings - Fork 0
/
models.go
61 lines (49 loc) · 1.08 KB
/
models.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package users
import (
"time"
. "github.com/eynstudio/gobreak"
)
var PtrAuthUser = &AuthUser{}
// UserZt 状态:0正常,1锁定
type UserStatus int
const (
UserStatusDefault UserStatus = 0
UserStatusLock UserStatus = 1
)
type AuthUser struct {
Id GUID
Name string
Nick string
Pwd string
Status UserStatus
Img string
Created time.Time
Updated time.Time
Auth []UserAuth
Groups []GUID
}
// IsLock 是否锁定
func (au AuthUser) IsLock() bool { return au.Status == UserStatusLock }
func (p *AuthUser) AddGroup(gid GUID) {
if -1 == Slice(&p.Groups).FindEntityIndex(gid) {
p.Groups = append(p.Groups, gid)
}
}
func (p *AuthUser) DelGroup(id GUID) {
Slice(&p.Groups).RemoveEntity(id)
}
func NewUser() *AuthUser {
return &AuthUser{Id: Guid(), Auth: make([]UserAuth, 0), Created: time.Now(), Updated: time.Now(), Groups: make([]GUID, 0)}
}
type UserAuth struct {
Name string
Type string
}
func (p *AuthUser) AddAuth(name, _type string) {
p.Auth = append(p.Auth, UserAuth{name, _type})
}
type UserLine struct {
Id GUID
Name string
Nick string
}