chore(storage): run gorm gen

This commit is contained in:
Melody Becker 2025-04-05 22:01:22 +02:00
parent 3f5df241db
commit 427675f38e
Signed by: mstar
SSH key fingerprint: SHA256:vkXfS9FG2pVNVfvDrzd1VW9n8VJzqqdKQGljxxX8uK8
22 changed files with 554 additions and 174 deletions

View file

@ -36,7 +36,7 @@ func newUser(db *gorm.DB, opts ...gen.DOOption) user {
_user.DisplayName = field.NewString(tableName, "display_name")
_user.Description = field.NewString(tableName, "description")
_user.IsBot = field.NewBool(tableName, "is_bot")
_user.IconId = field.NewString(tableName, "icon_id")
_user.IconId = field.NewField(tableName, "icon_id")
_user.BackgroundId = field.NewField(tableName, "background_id")
_user.BannerId = field.NewField(tableName, "banner_id")
_user.Indexable = field.NewBool(tableName, "indexable")
@ -47,12 +47,19 @@ func newUser(db *gorm.DB, opts ...gen.DOOption) user {
_user.Verified = field.NewBool(tableName, "verified")
_user.PasskeyId = field.NewBytes(tableName, "passkey_id")
_user.FinishedRegistration = field.NewBool(tableName, "finished_registration")
_user.PrivateKey = field.NewBytes(tableName, "private_key")
_user.RemoteInfo = userHasOneRemoteInfo{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("RemoteInfo", "models.UserRemoteLinks"),
User: struct {
field.RelationField
Server struct {
field.RelationField
Icon struct {
field.RelationField
}
}
Icon struct {
field.RelationField
}
@ -115,6 +122,19 @@ func newUser(db *gorm.DB, opts ...gen.DOOption) user {
}
}{
RelationField: field.NewRelation("RemoteInfo.User", "models.User"),
Server: struct {
field.RelationField
Icon struct {
field.RelationField
}
}{
RelationField: field.NewRelation("RemoteInfo.User.Server", "models.RemoteServer"),
Icon: struct {
field.RelationField
}{
RelationField: field.NewRelation("RemoteInfo.User.Server.Icon", "models.MediaMetadata"),
},
},
Icon: struct {
field.RelationField
}{
@ -287,6 +307,12 @@ func newUser(db *gorm.DB, opts ...gen.DOOption) user {
RelationField: field.NewRelation("AuthMethods", "models.UserAuthMethod"),
}
_user.Server = userBelongsToServer{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("Server", "models.RemoteServer"),
}
_user.Icon = userBelongsToIcon{
db: db.Session(&gorm.Session{}),
@ -323,7 +349,7 @@ type user struct {
DisplayName field.String
Description field.String
IsBot field.Bool
IconId field.String
IconId field.Field
BackgroundId field.Field
BannerId field.Field
Indexable field.Bool
@ -334,6 +360,7 @@ type user struct {
Verified field.Bool
PasskeyId field.Bytes
FinishedRegistration field.Bool
PrivateKey field.Bytes
RemoteInfo userHasOneRemoteInfo
InfoFields userHasManyInfoFields
@ -350,6 +377,8 @@ type user struct {
AuthMethods userHasManyAuthMethods
Server userBelongsToServer
Icon userBelongsToIcon
Background userBelongsToBackground
@ -380,7 +409,7 @@ func (u *user) updateTableName(table string) *user {
u.DisplayName = field.NewString(table, "display_name")
u.Description = field.NewString(table, "description")
u.IsBot = field.NewBool(table, "is_bot")
u.IconId = field.NewString(table, "icon_id")
u.IconId = field.NewField(table, "icon_id")
u.BackgroundId = field.NewField(table, "background_id")
u.BannerId = field.NewField(table, "banner_id")
u.Indexable = field.NewBool(table, "indexable")
@ -391,6 +420,7 @@ func (u *user) updateTableName(table string) *user {
u.Verified = field.NewBool(table, "verified")
u.PasskeyId = field.NewBytes(table, "passkey_id")
u.FinishedRegistration = field.NewBool(table, "finished_registration")
u.PrivateKey = field.NewBytes(table, "private_key")
u.fillFieldMap()
@ -407,7 +437,7 @@ func (u *user) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (u *user) fillFieldMap() {
u.fieldMap = make(map[string]field.Expr, 31)
u.fieldMap = make(map[string]field.Expr, 33)
u.fieldMap["id"] = u.ID
u.fieldMap["username"] = u.Username
u.fieldMap["created_at"] = u.CreatedAt
@ -428,6 +458,7 @@ func (u *user) fillFieldMap() {
u.fieldMap["verified"] = u.Verified
u.fieldMap["passkey_id"] = u.PasskeyId
u.fieldMap["finished_registration"] = u.FinishedRegistration
u.fieldMap["private_key"] = u.PrivateKey
}
@ -448,6 +479,12 @@ type userHasOneRemoteInfo struct {
User struct {
field.RelationField
Server struct {
field.RelationField
Icon struct {
field.RelationField
}
}
Icon struct {
field.RelationField
}
@ -1073,6 +1110,77 @@ func (a userHasManyAuthMethodsTx) Count() int64 {
return a.tx.Count()
}
type userBelongsToServer struct {
db *gorm.DB
field.RelationField
}
func (a userBelongsToServer) Where(conds ...field.Expr) *userBelongsToServer {
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 userBelongsToServer) WithContext(ctx context.Context) *userBelongsToServer {
a.db = a.db.WithContext(ctx)
return &a
}
func (a userBelongsToServer) Session(session *gorm.Session) *userBelongsToServer {
a.db = a.db.Session(session)
return &a
}
func (a userBelongsToServer) Model(m *models.User) *userBelongsToServerTx {
return &userBelongsToServerTx{a.db.Model(m).Association(a.Name())}
}
type userBelongsToServerTx struct{ tx *gorm.Association }
func (a userBelongsToServerTx) Find() (result *models.RemoteServer, err error) {
return result, a.tx.Find(&result)
}
func (a userBelongsToServerTx) Append(values ...*models.RemoteServer) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Append(targetValues...)
}
func (a userBelongsToServerTx) Replace(values ...*models.RemoteServer) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Replace(targetValues...)
}
func (a userBelongsToServerTx) Delete(values ...*models.RemoteServer) (err error) {
targetValues := make([]interface{}, len(values))
for i, v := range values {
targetValues[i] = v
}
return a.tx.Delete(targetValues...)
}
func (a userBelongsToServerTx) Clear() error {
return a.tx.Clear()
}
func (a userBelongsToServerTx) Count() int64 {
return a.tx.Count()
}
type userBelongsToIcon struct {
db *gorm.DB