From 1a71de851a8d3715b3a75a577d5fe349834ea007 Mon Sep 17 00:00:00 2001 From: alick-liming Date: Fri, 13 Nov 2020 13:39:28 +0800 Subject: [PATCH] =?UTF-8?q?rdb=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=B6=E9=97=B4=20(#397)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * rdb资源增加volume * rdb用户增加创建时间 * rdb用户添加时间 Co-authored-by: alickliming --- sql/n9e_rdb.sql | 1 + src/models/user.go | 11 +++++++++++ src/modules/rdb/http/router_user.go | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sql/n9e_rdb.sql b/sql/n9e_rdb.sql index f0100531..53793ba0 100644 --- a/sql/n9e_rdb.sql +++ b/sql/n9e_rdb.sql @@ -19,6 +19,7 @@ CREATE TABLE `user` `is_root` tinyint(1) not null, `leader_id` int unsigned not null default 0, `leader_name` varchar(32) not null default '', + `create_at` int unsigned not null default 0, PRIMARY KEY (`id`), UNIQUE KEY (`username`), UNIQUE KEY (`uuid`) diff --git a/src/models/user.go b/src/models/user.go index f485eb6a..3cb8f1e1 100644 --- a/src/models/user.go +++ b/src/models/user.go @@ -41,6 +41,7 @@ type User struct { IsRoot int `json:"is_root"` LeaderId int64 `json:"leader_id"` LeaderName string `json:"leader_name"` + CreateAt int64 `json:"create_at"` } func (u *User) CopyLdapAttr(sr *ldap.SearchResult) { @@ -640,3 +641,13 @@ func GetUsersNameByIds(ids string) ([]string, error) { } return names, err } + +func UsersGet(where string, args ...interface{}) ([]User, error) { + var objs []User + err := DB["rdb"].Where(where, args...).Find(&objs) + if err != nil { + return nil, err + } + + return objs, nil +} diff --git a/src/modules/rdb/http/router_user.go b/src/modules/rdb/http/router_user.go index c2cb5da0..871543a5 100644 --- a/src/modules/rdb/http/router_user.go +++ b/src/modules/rdb/http/router_user.go @@ -64,6 +64,7 @@ func userAddPost(c *gin.Context) { IsRoot: f.IsRoot, LeaderId: f.LeaderId, UUID: models.GenUUIDForUser(f.Username), + CreateAt: time.Now().Unix(), } if f.LeaderId != 0 { @@ -272,7 +273,8 @@ func userInvitePost(c *gin.Context) { inv, err := models.InviteGet("token=?", f.Token) dangerous(err) - if inv.Expire < time.Now().Unix() { + now := time.Now().Unix() + if inv.Expire < now { dangerous("invite url already expired") } @@ -283,6 +285,7 @@ func userInvitePost(c *gin.Context) { Email: f.Email, Im: f.Im, UUID: models.GenUUIDForUser(f.Username), + CreateAt: now, } u.Password, err = models.CryptoPass(f.Password)