Update new storage types and regenerate

This commit is contained in:
Melody Becker 2025-03-28 16:15:41 +01:00
parent 0932f19f71
commit 41e432b56e
Signed by: mstar
SSH key fingerprint: SHA256:9VAo09aaVNTWKzPW7Hq2LW+ox9OdwmTSHRoD4mlz1yI
28 changed files with 6561 additions and 23 deletions

View file

@ -33,8 +33,13 @@ func newRemoteServer(db *gorm.DB, opts ...gen.DOOption) remoteServer {
_remoteServer.ServerType = field.NewField(tableName, "server_type")
_remoteServer.Domain = field.NewString(tableName, "domain")
_remoteServer.Name = field.NewString(tableName, "name")
_remoteServer.Icon = field.NewString(tableName, "icon")
_remoteServer.IconId = field.NewString(tableName, "icon_id")
_remoteServer.IsSelf = field.NewBool(tableName, "is_self")
_remoteServer.Icon = remoteServerBelongsToIcon{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Icon", "models.MediaMetadata"),
}
_remoteServer.fillFieldMap()
@ -52,8 +57,9 @@ type remoteServer struct {
ServerType field.Field
Domain field.String
Name field.String
Icon field.String
IconId field.String
IsSelf field.Bool
Icon remoteServerBelongsToIcon
fieldMap map[string]field.Expr
}
@ -77,7 +83,7 @@ func (r *remoteServer) updateTableName(table string) *remoteServer {
r.ServerType = field.NewField(table, "server_type")
r.Domain = field.NewString(table, "domain")
r.Name = field.NewString(table, "name")
r.Icon = field.NewString(table, "icon")
r.IconId = field.NewString(table, "icon_id")
r.IsSelf = field.NewBool(table, "is_self")
r.fillFieldMap()
@ -95,7 +101,7 @@ func (r *remoteServer) GetFieldByName(fieldName string) (field.OrderExpr, bool)
}
func (r *remoteServer) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 9)
r.fieldMap = make(map[string]field.Expr, 10)
r.fieldMap["id"] = r.ID
r.fieldMap["created_at"] = r.CreatedAt
r.fieldMap["updated_at"] = r.UpdatedAt
@ -103,8 +109,9 @@ func (r *remoteServer) fillFieldMap() {
r.fieldMap["server_type"] = r.ServerType
r.fieldMap["domain"] = r.Domain
r.fieldMap["name"] = r.Name
r.fieldMap["icon"] = r.Icon
r.fieldMap["icon_id"] = r.IconId
r.fieldMap["is_self"] = r.IsSelf
}
func (r remoteServer) clone(db *gorm.DB) remoteServer {
@ -117,6 +124,77 @@ func (r remoteServer) replaceDB(db *gorm.DB) remoteServer {
return r
}
type remoteServerBelongsToIcon struct {
db *gorm.DB
field.RelationField
}
func (a remoteServerBelongsToIcon) Where(conds ...field.Expr) *remoteServerBelongsToIcon {
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 remoteServerBelongsToIcon) WithContext(ctx context.Context) *remoteServerBelongsToIcon {
a.db = a.db.WithContext(ctx)
return &a
}
func (a remoteServerBelongsToIcon) Session(session *gorm.Session) *remoteServerBelongsToIcon {
a.db = a.db.Session(session)
return &a
}
func (a remoteServerBelongsToIcon) Model(m *models.RemoteServer) *remoteServerBelongsToIconTx {
return &remoteServerBelongsToIconTx{a.db.Model(m).Association(a.Name())}
}
type remoteServerBelongsToIconTx struct{ tx *gorm.Association }
func (a remoteServerBelongsToIconTx) Find() (result *models.MediaMetadata, err error) {
return result, a.tx.Find(&result)
}
func (a remoteServerBelongsToIconTx) Append(values ...*models.MediaMetadata) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a remoteServerBelongsToIconTx) Replace(values ...*models.MediaMetadata) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a remoteServerBelongsToIconTx) Delete(values ...*models.MediaMetadata) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a remoteServerBelongsToIconTx) Clear() error {
return a.tx.Clear()
}
func (a remoteServerBelongsToIconTx) Count() int64 {
return a.tx.Count()
}
type remoteServerDo struct{ gen.DO }
type IRemoteServerDo interface {