完善 admin 接口筛选机制
This commit is contained in:
@@ -108,6 +108,27 @@ func newLogsUserUsage(db *gorm.DB, opts ...gen.DOOption) logsUserUsage {
|
||||
},
|
||||
}
|
||||
|
||||
_logsUserUsage.Resource = logsUserUsageBelongsToResource{
|
||||
db: db.Session(&gorm.Session{}),
|
||||
|
||||
RelationField: field.NewRelation("Resource", "models.Resource"),
|
||||
User: struct {
|
||||
field.RelationField
|
||||
}{
|
||||
RelationField: field.NewRelation("Resource.User", "models.User"),
|
||||
},
|
||||
Short: struct {
|
||||
field.RelationField
|
||||
}{
|
||||
RelationField: field.NewRelation("Resource.Short", "models.ResourceShort"),
|
||||
},
|
||||
Long: struct {
|
||||
field.RelationField
|
||||
}{
|
||||
RelationField: field.NewRelation("Resource.Long", "models.ResourceLong"),
|
||||
},
|
||||
}
|
||||
|
||||
_logsUserUsage.fillFieldMap()
|
||||
|
||||
return _logsUserUsage
|
||||
@@ -129,6 +150,8 @@ type logsUserUsage struct {
|
||||
Time field.Time
|
||||
User logsUserUsageBelongsToUser
|
||||
|
||||
Resource logsUserUsageBelongsToResource
|
||||
|
||||
fieldMap map[string]field.Expr
|
||||
}
|
||||
|
||||
@@ -170,7 +193,7 @@ func (l *logsUserUsage) GetFieldByName(fieldName string) (field.OrderExpr, bool)
|
||||
}
|
||||
|
||||
func (l *logsUserUsage) fillFieldMap() {
|
||||
l.fieldMap = make(map[string]field.Expr, 11)
|
||||
l.fieldMap = make(map[string]field.Expr, 12)
|
||||
l.fieldMap["id"] = l.ID
|
||||
l.fieldMap["user_id"] = l.UserID
|
||||
l.fieldMap["resource_id"] = l.ResourceID
|
||||
@@ -188,12 +211,15 @@ func (l logsUserUsage) clone(db *gorm.DB) logsUserUsage {
|
||||
l.logsUserUsageDo.ReplaceConnPool(db.Statement.ConnPool)
|
||||
l.User.db = db.Session(&gorm.Session{Initialized: true})
|
||||
l.User.db.Statement.ConnPool = db.Statement.ConnPool
|
||||
l.Resource.db = db.Session(&gorm.Session{Initialized: true})
|
||||
l.Resource.db.Statement.ConnPool = db.Statement.ConnPool
|
||||
return l
|
||||
}
|
||||
|
||||
func (l logsUserUsage) replaceDB(db *gorm.DB) logsUserUsage {
|
||||
l.logsUserUsageDo.ReplaceDB(db)
|
||||
l.User.db = db.Session(&gorm.Session{})
|
||||
l.Resource.db = db.Session(&gorm.Session{})
|
||||
return l
|
||||
}
|
||||
|
||||
@@ -300,6 +326,97 @@ func (a logsUserUsageBelongsToUserTx) Unscoped() *logsUserUsageBelongsToUserTx {
|
||||
return &a
|
||||
}
|
||||
|
||||
type logsUserUsageBelongsToResource struct {
|
||||
db *gorm.DB
|
||||
|
||||
field.RelationField
|
||||
|
||||
User struct {
|
||||
field.RelationField
|
||||
}
|
||||
Short struct {
|
||||
field.RelationField
|
||||
}
|
||||
Long struct {
|
||||
field.RelationField
|
||||
}
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResource) Where(conds ...field.Expr) *logsUserUsageBelongsToResource {
|
||||
if len(conds) == 0 {
|
||||
return &a
|
||||
}
|
||||
|
||||
exprs := make([]clause.Expression, 0, len(conds))
|
||||
for _, cond := range conds {
|
||||
exprs = append(exprs, cond.BeCond().(clause.Expression))
|
||||
}
|
||||
a.db = a.db.Clauses(clause.Where{Exprs: exprs})
|
||||
return &a
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResource) WithContext(ctx context.Context) *logsUserUsageBelongsToResource {
|
||||
a.db = a.db.WithContext(ctx)
|
||||
return &a
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResource) Session(session *gorm.Session) *logsUserUsageBelongsToResource {
|
||||
a.db = a.db.Session(session)
|
||||
return &a
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResource) Model(m *models.LogsUserUsage) *logsUserUsageBelongsToResourceTx {
|
||||
return &logsUserUsageBelongsToResourceTx{a.db.Model(m).Association(a.Name())}
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResource) Unscoped() *logsUserUsageBelongsToResource {
|
||||
a.db = a.db.Unscoped()
|
||||
return &a
|
||||
}
|
||||
|
||||
type logsUserUsageBelongsToResourceTx struct{ tx *gorm.Association }
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Find() (result *models.Resource, err error) {
|
||||
return result, a.tx.Find(&result)
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Append(values ...*models.Resource) (err error) {
|
||||
targetValues := make([]interface{}, len(values))
|
||||
for i, v := range values {
|
||||
targetValues[i] = v
|
||||
}
|
||||
return a.tx.Append(targetValues...)
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Replace(values ...*models.Resource) (err error) {
|
||||
targetValues := make([]interface{}, len(values))
|
||||
for i, v := range values {
|
||||
targetValues[i] = v
|
||||
}
|
||||
return a.tx.Replace(targetValues...)
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Delete(values ...*models.Resource) (err error) {
|
||||
targetValues := make([]interface{}, len(values))
|
||||
for i, v := range values {
|
||||
targetValues[i] = v
|
||||
}
|
||||
return a.tx.Delete(targetValues...)
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Clear() error {
|
||||
return a.tx.Clear()
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Count() int64 {
|
||||
return a.tx.Count()
|
||||
}
|
||||
|
||||
func (a logsUserUsageBelongsToResourceTx) Unscoped() *logsUserUsageBelongsToResourceTx {
|
||||
a.tx = a.tx.Unscoped()
|
||||
return &a
|
||||
}
|
||||
|
||||
type logsUserUsageDo struct{ gen.DO }
|
||||
|
||||
func (l logsUserUsageDo) Debug() *logsUserUsageDo {
|
||||
|
||||
Reference in New Issue
Block a user