修改创建人为所有者

This commit is contained in:
dushixiang
2021-01-14 19:55:59 +08:00
parent 4fe33eaa41
commit a27657e92e
7 changed files with 146 additions and 52 deletions

View File

@ -22,7 +22,20 @@ type Asset struct {
Active bool `json:"active"`
Created utils.JsonTime `json:"created"`
Tags string `json:"tags"`
Creator string `json:"creator"`
Owner string `json:"owner"`
}
type AssetVo struct {
ID string `json:"id"`
Name string `json:"name"`
IP string `json:"ip"`
Protocol string `json:"protocol"`
Port int `json:"port"`
Active bool `json:"active"`
Created utils.JsonTime `json:"created"`
Tags string `json:"tags"`
Owner string `json:"owner"`
OwnerName string `json:"ownerName"`
}
func (r *Asset) TableName() string {
@ -44,27 +57,28 @@ func FindAssetByConditions(protocol string) (o []Asset, err error) {
return
}
func FindPageAsset(pageIndex, pageSize int, name, protocol, tags string) (o []Asset, total int64, err error) {
func FindPageAsset(pageIndex, pageSize int, name, protocol, tags string) (o []AssetVo, total int64, err error) {
db := global.DB
db = db.Table("assets").Select("assets.id,assets.name,assets.ip,assets.port,assets.protocol,assets.active,assets.owner,assets.created, users.nickname as creator_name").Joins("left join users on assets.owner = users.id")
if len(name) > 0 {
db = db.Where("name like ?", "%"+name+"%")
db = db.Where("assets.name like ?", "%"+name+"%")
}
if len(protocol) > 0 {
db = db.Where("protocol = ?", protocol)
db = db.Where("assets.protocol = ?", protocol)
}
if len(tags) > 0 {
tagArr := strings.Split(tags, ",")
for i := range tagArr {
db = db.Where("find_in_set(?, tags)", tagArr[i])
db = db.Where("find_in_set(?, assets.tags)", tagArr[i])
}
}
err = db.Order("created desc").Find(&o).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Count(&total).Error
err = db.Order("assets.created desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Count(&total).Error
if o == nil {
o = make([]Asset, 0)
o = make([]AssetVo, 0)
}
return
}

View File

@ -28,7 +28,7 @@ func FindPageCommand(pageIndex, pageSize int, name, content string) (o []Command
db = db.Where("content like ?", "%"+content+"%")
}
err = db.Find(&o).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Count(&total).Error
err = db.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Count(&total).Find(&o).Error
if o == nil {
o = make([]Command, 0)
}

View File

@ -20,7 +20,7 @@ type Credential struct {
PrivateKey string `json:"privateKey"`
Passphrase string `json:"passphrase"`
Created utils.JsonTime `json:"created"`
Creator string `json:"creator"`
Owner string `json:"owner"`
}
func (r *Credential) TableName() string {
@ -28,13 +28,13 @@ func (r *Credential) TableName() string {
}
type CredentialVo struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Username string `json:"username"`
Created utils.JsonTime `json:"created"`
Creator string `json:"creator"`
CreatorName string `json:"creatorName"`
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Username string `json:"username"`
Created utils.JsonTime `json:"created"`
Owner string `json:"owner"`
OwnerName string `json:"ownerName"`
}
func FindAllCredential() (o []Credential, err error) {
@ -42,17 +42,17 @@ func FindAllCredential() (o []Credential, err error) {
return
}
func FindPageCredential(pageIndex, pageSize int, name, creator string) (o []CredentialVo, total int64, err error) {
func FindPageCredential(pageIndex, pageSize int, name, owner string) (o []CredentialVo, total int64, err error) {
db := global.DB
db = db.Table("credentials").Select("credentials.id,credentials.name,credentials.type,credentials.username,credentials.creator,credentials.created,users.nickname as creator_name").Joins("left join users on credentials.creator = users.id")
db = db.Table("credentials").Select("credentials.id,credentials.name,credentials.type,credentials.username,credentials.owner,credentials.created,users.nickname as owner_name").Joins("left join users on credentials.owner = users.id")
if len(name) > 0 {
db = db.Where("credentials.name like ?", "%"+name+"%")
}
if len(creator) > 0 {
db = db.Where("credentials.creator = ?", creator)
if len(owner) > 0 {
db = db.Where("credentials.owner = ?", owner)
}
err = db.Order("credentials.created desc").Find(&o).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Count(&total).Error
err = db.Order("credentials.created desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Count(&total).Error
if o == nil {
o = make([]CredentialVo, 0)
}