From 1e7b3d3c0e4b2c5937505e73b86055b2cc5e8105 Mon Sep 17 00:00:00 2001 From: dushixiang Date: Sun, 21 Mar 2021 16:44:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E9=A1=B5=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/model/asset.go | 2 +- server/model/command.go | 2 +- server/model/credential.go | 2 +- server/model/login_log.go | 2 +- .../model/{resource-sharer.go => resource_sharer.go} | 0 server/model/session.go | 2 +- server/model/user.go | 2 +- server/model/{user-group.go => user_group.go} | 10 ++++++++-- server/repository/asset.go | 4 ++-- server/repository/command.go | 4 ++-- server/repository/credential.go | 4 ++-- server/repository/login_log.go | 4 ++-- server/repository/session.go | 4 ++-- server/repository/user.go | 4 ++-- server/repository/user_group.go | 4 ++-- 15 files changed, 28 insertions(+), 22 deletions(-) rename server/model/{resource-sharer.go => resource_sharer.go} (100%) rename server/model/{user-group.go => user_group.go} (66%) diff --git a/server/model/asset.go b/server/model/asset.go index 8b8a7b3..0a69c2f 100644 --- a/server/model/asset.go +++ b/server/model/asset.go @@ -23,7 +23,7 @@ type Asset struct { Owner string `gorm:"index" json:"owner"` } -type AssetVo struct { +type AssetForPage struct { ID string `json:"id"` Name string `json:"name"` IP string `json:"ip"` diff --git a/server/model/command.go b/server/model/command.go index b085ea3..821e48a 100644 --- a/server/model/command.go +++ b/server/model/command.go @@ -12,7 +12,7 @@ type Command struct { Owner string `gorm:"index" json:"owner"` } -type CommandVo struct { +type CommandForPage struct { ID string `gorm:"primary_key" json:"id"` Name string `json:"name"` Content string `json:"content"` diff --git a/server/model/credential.go b/server/model/credential.go index ddebdb0..a2fb006 100644 --- a/server/model/credential.go +++ b/server/model/credential.go @@ -20,7 +20,7 @@ func (r *Credential) TableName() string { return "credentials" } -type CredentialVo struct { +type CredentialForPage struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` diff --git a/server/model/login_log.go b/server/model/login_log.go index fcf7856..bc0319c 100644 --- a/server/model/login_log.go +++ b/server/model/login_log.go @@ -14,7 +14,7 @@ type LoginLog struct { Remember bool `json:"remember"` } -type LoginLogVo struct { +type LoginLogForPage struct { ID string `json:"id"` UserId string `json:"userId"` UserName string `json:"userName"` diff --git a/server/model/resource-sharer.go b/server/model/resource_sharer.go similarity index 100% rename from server/model/resource-sharer.go rename to server/model/resource_sharer.go diff --git a/server/model/session.go b/server/model/session.go index dd3a639..e39f7a1 100644 --- a/server/model/session.go +++ b/server/model/session.go @@ -32,7 +32,7 @@ func (r *Session) TableName() string { return "sessions" } -type SessionVo struct { +type SessionForPage struct { ID string `json:"id"` Protocol string `json:"protocol"` IP string `json:"ip"` diff --git a/server/model/user.go b/server/model/user.go index f908e7c..5326a9b 100644 --- a/server/model/user.go +++ b/server/model/user.go @@ -17,7 +17,7 @@ type User struct { Mail string `json:"mail"` } -type UserVo struct { +type UserForPage struct { ID string `json:"id"` Username string `json:"username"` Nickname string `json:"nickname"` diff --git a/server/model/user-group.go b/server/model/user_group.go similarity index 66% rename from server/model/user-group.go rename to server/model/user_group.go index cdf2592..9fc39b6 100644 --- a/server/model/user-group.go +++ b/server/model/user_group.go @@ -5,10 +5,16 @@ import ( ) type UserGroup struct { - ID string `gorm:"primary_key" json:"id"` + ID string `gorm:"primary_key" json:"id"` + Name string `json:"name"` + Created utils.JsonTime `json:"created"` +} + +type UserGroupForPage struct { + ID string `json:"id"` Name string `json:"name"` Created utils.JsonTime `json:"created"` - AssetCount int64 `gorm:"-" json:"assetCount"` + AssetCount int64 `json:"assetCount"` } func (r *UserGroup) TableName() string { diff --git a/server/repository/asset.go b/server/repository/asset.go index 12d0baf..8c9b684 100644 --- a/server/repository/asset.go +++ b/server/repository/asset.go @@ -57,7 +57,7 @@ func (r AssetRepository) FindByProtocolAndUser(protocol string, account model.Us return } -func (r AssetRepository) Find(pageIndex, pageSize int, name, protocol, tags string, account model.User, owner, sharer, userGroupId, ip, order, field string) (o []model.AssetVo, total int64, err error) { +func (r AssetRepository) Find(pageIndex, pageSize int, name, protocol, tags string, account model.User, owner, sharer, userGroupId, ip, order, field string) (o []model.AssetForPage, total int64, err error) { db := r.DB.Table("assets").Select("assets.id,assets.name,assets.ip,assets.port,assets.protocol,assets.active,assets.owner,assets.created,assets.tags, users.nickname as owner_name,COUNT(resource_sharers.user_id) as sharer_count").Joins("left join users on assets.owner = users.id").Joins("left join resource_sharers on assets.id = resource_sharers.resource_id").Group("assets.id") dbCounter := r.DB.Table("assets").Select("DISTINCT assets.id").Joins("left join resource_sharers on assets.id = resource_sharers.resource_id").Group("assets.id") @@ -140,7 +140,7 @@ func (r AssetRepository) Find(pageIndex, pageSize int, name, protocol, tags stri err = db.Order("assets." + field + " " + order).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Error if o == nil { - o = make([]model.AssetVo, 0) + o = make([]model.AssetForPage, 0) } return } diff --git a/server/repository/command.go b/server/repository/command.go index f1f2c78..c9c483c 100644 --- a/server/repository/command.go +++ b/server/repository/command.go @@ -16,7 +16,7 @@ func NewCommandRepository(db *gorm.DB) *CommandRepository { return commandRepository } -func (r CommandRepository) Find(pageIndex, pageSize int, name, content, order, field string, account model.User) (o []model.CommandVo, total int64, err error) { +func (r CommandRepository) Find(pageIndex, pageSize int, name, content, order, field string, account model.User) (o []model.CommandForPage, total int64, err error) { db := r.DB.Table("commands").Select("commands.id,commands.name,commands.content,commands.owner,commands.created, users.nickname as owner_name,COUNT(resource_sharers.user_id) as sharer_count").Joins("left join users on commands.owner = users.id").Joins("left join resource_sharers on commands.id = resource_sharers.resource_id").Group("commands.id") dbCounter := r.DB.Table("commands").Select("DISTINCT commands.id").Joins("left join resource_sharers on commands.id = resource_sharers.resource_id").Group("commands.id") @@ -55,7 +55,7 @@ func (r CommandRepository) Find(pageIndex, pageSize int, name, content, order, f err = db.Order("commands." + field + " " + order).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Error if o == nil { - o = make([]model.CommandVo, 0) + o = make([]model.CommandForPage, 0) } return } diff --git a/server/repository/credential.go b/server/repository/credential.go index c3ad800..0a29b2d 100644 --- a/server/repository/credential.go +++ b/server/repository/credential.go @@ -25,7 +25,7 @@ func (r CredentialRepository) FindByUser(account model.User) (o []model.Credenti return } -func (r CredentialRepository) Find(pageIndex, pageSize int, name, order, field string, account model.User) (o []model.CredentialVo, total int64, err error) { +func (r CredentialRepository) Find(pageIndex, pageSize int, name, order, field string, account model.User) (o []model.CredentialForPage, total int64, err error) { db := r.DB.Table("credentials").Select("credentials.id,credentials.name,credentials.type,credentials.username,credentials.owner,credentials.created,users.nickname as owner_name,COUNT(resource_sharers.user_id) as sharer_count").Joins("left join users on credentials.owner = users.id").Joins("left join resource_sharers on credentials.id = resource_sharers.resource_id").Group("credentials.id") dbCounter := r.DB.Table("credentials").Select("DISTINCT credentials.id").Joins("left join resource_sharers on credentials.id = resource_sharers.resource_id").Group("credentials.id") @@ -59,7 +59,7 @@ func (r CredentialRepository) Find(pageIndex, pageSize int, name, order, field s err = db.Order("credentials." + field + " " + order).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Error if o == nil { - o = make([]model.CredentialVo, 0) + o = make([]model.CredentialForPage, 0) } return } diff --git a/server/repository/login_log.go b/server/repository/login_log.go index c212f6d..0ff7b58 100644 --- a/server/repository/login_log.go +++ b/server/repository/login_log.go @@ -15,7 +15,7 @@ func NewLoginLogRepository(db *gorm.DB) *LoginLogRepository { return loginLogRepository } -func (r LoginLogRepository) Find(pageIndex, pageSize int, userId, clientIp string) (o []model.LoginLogVo, total int64, err error) { +func (r LoginLogRepository) Find(pageIndex, pageSize int, userId, clientIp string) (o []model.LoginLogForPage, total int64, err error) { db := r.DB.Table("login_logs").Select("login_logs.id,login_logs.user_id,login_logs.client_ip,login_logs.client_user_agent,login_logs.login_time, login_logs.logout_time, users.nickname as user_name").Joins("left join users on login_logs.user_id = users.id") dbCounter := r.DB.Table("login_logs").Select("DISTINCT login_logs.id") @@ -37,7 +37,7 @@ func (r LoginLogRepository) Find(pageIndex, pageSize int, userId, clientIp strin err = db.Order("login_logs.login_time desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&o).Error if o == nil { - o = make([]model.LoginLogVo, 0) + o = make([]model.LoginLogForPage, 0) } return } diff --git a/server/repository/session.go b/server/repository/session.go index 1384306..66f082f 100644 --- a/server/repository/session.go +++ b/server/repository/session.go @@ -20,7 +20,7 @@ func NewSessionRepository(db *gorm.DB) *SessionRepository { return sessionRepository } -func (r SessionRepository) Find(pageIndex, pageSize int, status, userId, clientIp, assetId, protocol string) (results []model.SessionVo, total int64, err error) { +func (r SessionRepository) Find(pageIndex, pageSize int, status, userId, clientIp, assetId, protocol string) (results []model.SessionForPage, total int64, err error) { db := r.DB var params []interface{} @@ -62,7 +62,7 @@ func (r SessionRepository) Find(pageIndex, pageSize int, status, userId, clientI err = db.Raw(itemSql, params...).Scan(&results).Error if results == nil { - results = make([]model.SessionVo, 0) + results = make([]model.SessionForPage, 0) } return } diff --git a/server/repository/user.go b/server/repository/user.go index 02d021e..4ba8a33 100644 --- a/server/repository/user.go +++ b/server/repository/user.go @@ -22,7 +22,7 @@ func (r UserRepository) FindAll() (o []model.User) { return } -func (r UserRepository) Find(pageIndex, pageSize int, username, nickname, mail, order, field string) (o []model.UserVo, total int64, err error) { +func (r UserRepository) Find(pageIndex, pageSize int, username, nickname, mail, order, field string) (o []model.UserForPage, total int64, err error) { db := r.DB.Table("users").Select("users.id,users.username,users.nickname,users.mail,users.online,users.enabled,users.created,users.type, count(resource_sharers.user_id) as sharer_asset_count, users.totp_secret").Joins("left join resource_sharers on users.id = resource_sharers.user_id and resource_sharers.resource_type = 'asset'").Group("users.id") dbCounter := r.DB.Table("users") if len(username) > 0 { @@ -61,7 +61,7 @@ func (r UserRepository) Find(pageIndex, pageSize int, username, nickname, mail, err = db.Order("users." + field + " " + order).Find(&o).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Error if o == nil { - o = make([]model.UserVo, 0) + o = make([]model.UserForPage, 0) } for i := 0; i < len(o); i++ { diff --git a/server/repository/user_group.go b/server/repository/user_group.go index c276a36..ade6c42 100644 --- a/server/repository/user_group.go +++ b/server/repository/user_group.go @@ -23,7 +23,7 @@ func (r UserGroupRepository) FindAll() (o []model.UserGroup) { return } -func (r UserGroupRepository) Find(pageIndex, pageSize int, name, order, field string) (o []model.UserGroup, total int64, err error) { +func (r UserGroupRepository) Find(pageIndex, pageSize int, name, order, field string) (o []model.UserGroupForPage, total int64, err error) { db := r.DB.Table("user_groups").Select("user_groups.id, user_groups.name, user_groups.created, count(resource_sharers.user_group_id) as asset_count").Joins("left join resource_sharers on user_groups.id = resource_sharers.user_group_id and resource_sharers.resource_type = 'asset'").Group("user_groups.id") dbCounter := r.DB.Table("user_groups") if len(name) > 0 { @@ -50,7 +50,7 @@ func (r UserGroupRepository) Find(pageIndex, pageSize int, name, order, field st err = db.Order("user_groups." + field + " " + order).Find(&o).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Error if o == nil { - o = make([]model.UserGroup, 0) + o = make([]model.UserGroupForPage, 0) } return }