diff --git a/internal/db/models/node_grant_dao.go b/internal/db/models/node_grant_dao.go index 0dba7013..5d8ec3ed 100644 --- a/internal/db/models/node_grant_dao.go +++ b/internal/db/models/node_grant_dao.go @@ -34,7 +34,7 @@ func init() { }) } -// 启用条目 +// EnableNodeGrant 启用条目 func (this *NodeGrantDAO) EnableNodeGrant(tx *dbs.Tx, id uint32) (rowsAffected int64, err error) { return this.Query(tx). Pk(id). @@ -42,7 +42,7 @@ func (this *NodeGrantDAO) EnableNodeGrant(tx *dbs.Tx, id uint32) (rowsAffected i Update() } -// 禁用条目 +// DisableNodeGrant 禁用条目 func (this *NodeGrantDAO) DisableNodeGrant(tx *dbs.Tx, id int64) (err error) { _, err = this.Query(tx). Pk(id). @@ -51,7 +51,7 @@ func (this *NodeGrantDAO) DisableNodeGrant(tx *dbs.Tx, id int64) (err error) { return err } -// 查找启用中的条目 +// FindEnabledNodeGrant 查找启用中的条目 func (this *NodeGrantDAO) FindEnabledNodeGrant(tx *dbs.Tx, id int64) (*NodeGrant, error) { result, err := this.Query(tx). Pk(id). @@ -63,7 +63,7 @@ func (this *NodeGrantDAO) FindEnabledNodeGrant(tx *dbs.Tx, id int64) (*NodeGrant return result.(*NodeGrant), err } -// 根据主键查找名称 +// FindNodeGrantName 根据主键查找名称 func (this *NodeGrantDAO) FindNodeGrantName(tx *dbs.Tx, id uint32) (string, error) { name, err := this.Query(tx). Pk(id). @@ -72,7 +72,7 @@ func (this *NodeGrantDAO) FindNodeGrantName(tx *dbs.Tx, id uint32) (string, erro return name.(string), err } -// 创建认证信息 +// CreateGrant 创建认证信息 func (this *NodeGrantDAO) CreateGrant(tx *dbs.Tx, adminId int64, name string, method string, username string, password string, privateKey string, description string, nodeId int64) (grantId int64, err error) { op := NewNodeGrantOperator() op.AdminId = adminId @@ -94,7 +94,7 @@ func (this *NodeGrantDAO) CreateGrant(tx *dbs.Tx, adminId int64, name string, me return types.Int64(op.Id), err } -// 修改认证信息 +// UpdateGrant 修改认证信息 func (this *NodeGrantDAO) UpdateGrant(tx *dbs.Tx, grantId int64, name string, method string, username string, password string, privateKey string, description string, nodeId int64) error { if grantId <= 0 { return errors.New("invalid grantId") @@ -119,17 +119,26 @@ func (this *NodeGrantDAO) UpdateGrant(tx *dbs.Tx, grantId int64, name string, me return err } -// 计算所有认证信息数量 -func (this *NodeGrantDAO) CountAllEnabledGrants(tx *dbs.Tx) (int64, error) { - return this.Query(tx). - State(NodeGrantStateEnabled). - Count() +// CountAllEnabledGrants 计算所有认证信息数量 +func (this *NodeGrantDAO) CountAllEnabledGrants(tx *dbs.Tx, keyword string) (int64, error) { + query := this.Query(tx). + State(NodeGrantStateEnabled) + if len(keyword) > 0 { + query.Where("(name LIKE :keyword OR username LIKE :keyword OR description LIKE :keyword)"). + Param("keyword", "%"+keyword+"%") + } + return query.Count() } -// 列出单页的认证信息 -func (this *NodeGrantDAO) ListEnabledGrants(tx *dbs.Tx, offset int64, size int64) (result []*NodeGrant, err error) { - _, err = this.Query(tx). - State(NodeGrantStateEnabled). +// ListEnabledGrants 列出单页的认证信息 +func (this *NodeGrantDAO) ListEnabledGrants(tx *dbs.Tx, keyword string, offset int64, size int64) (result []*NodeGrant, err error) { + query := this.Query(tx). + State(NodeGrantStateEnabled) + if len(keyword) > 0 { + query.Where("(name LIKE :keyword OR username LIKE :keyword OR description LIKE :keyword)"). + Param("keyword", "%"+keyword+"%") + } + _, err = query. Offset(offset). Size(size). DescPk(). @@ -138,7 +147,7 @@ func (this *NodeGrantDAO) ListEnabledGrants(tx *dbs.Tx, offset int64, size int64 return } -// 列出所有的认证信息 +// FindAllEnabledGrants 列出所有的认证信息 func (this *NodeGrantDAO) FindAllEnabledGrants(tx *dbs.Tx) (result []*NodeGrant, err error) { _, err = this.Query(tx). State(NodeGrantStateEnabled). diff --git a/internal/rpc/services/service_node_grant.go b/internal/rpc/services/service_node_grant.go index 97b82a91..de6bbd54 100644 --- a/internal/rpc/services/service_node_grant.go +++ b/internal/rpc/services/service_node_grant.go @@ -73,7 +73,7 @@ func (this *NodeGrantService) CountAllEnabledNodeGrants(ctx context.Context, req tx := this.NullTx() - count, err := models.SharedNodeGrantDAO.CountAllEnabledGrants(tx) + count, err := models.SharedNodeGrantDAO.CountAllEnabledGrants(tx, req.Keyword) if err != nil { return nil, err } @@ -89,7 +89,7 @@ func (this *NodeGrantService) ListEnabledNodeGrants(ctx context.Context, req *pb tx := this.NullTx() - grants, err := models.SharedNodeGrantDAO.ListEnabledGrants(tx, req.Offset, req.Size) + grants, err := models.SharedNodeGrantDAO.ListEnabledGrants(tx, req.Keyword, req.Offset, req.Size) if err != nil { return nil, err } @@ -99,6 +99,7 @@ func (this *NodeGrantService) ListEnabledNodeGrants(ctx context.Context, req *pb Id: int64(grant.Id), Name: grant.Name, Method: grant.Method, + Username: grant.Username, Password: grant.Password, Su: grant.Su == 1, PrivateKey: grant.PrivateKey, @@ -126,6 +127,7 @@ func (this *NodeGrantService) FindAllEnabledNodeGrants(ctx context.Context, req Id: int64(grant.Id), Name: grant.Name, Method: grant.Method, + Username: grant.Username, Password: grant.Password, Su: grant.Su == 1, PrivateKey: grant.PrivateKey,