Work on ensuring data consistency even for yet unknown fields
Some checks failed
/ docker (push) Has been cancelled

This commit is contained in:
Melody Becker 2025-05-28 16:52:54 +02:00
parent 7e10627618
commit bf0aaaca8f
Signed by: mstar
SSH key fingerprint: SHA256:9VAo09aaVNTWKzPW7Hq2LW+ox9OdwmTSHRoD4mlz1yI
12 changed files with 458 additions and 5 deletions

View file

@ -31,6 +31,7 @@ func newActivity(db *gorm.DB, opts ...gen.DOOption) activity {
_activity.Type = field.NewString(tableName, "type")
_activity.ObjectId = field.NewString(tableName, "object_id")
_activity.ObjectType = field.NewUint32(tableName, "object_type")
_activity.RawData = field.NewBytes(tableName, "raw_data")
_activity.fillFieldMap()
@ -45,6 +46,7 @@ type activity struct {
Type field.String
ObjectId field.String
ObjectType field.Uint32
RawData field.Bytes
fieldMap map[string]field.Expr
}
@ -65,6 +67,7 @@ func (a *activity) updateTableName(table string) *activity {
a.Type = field.NewString(table, "type")
a.ObjectId = field.NewString(table, "object_id")
a.ObjectType = field.NewUint32(table, "object_type")
a.RawData = field.NewBytes(table, "raw_data")
a.fillFieldMap()
@ -81,11 +84,12 @@ func (a *activity) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (a *activity) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 4)
a.fieldMap = make(map[string]field.Expr, 5)
a.fieldMap["id"] = a.Id
a.fieldMap["type"] = a.Type
a.fieldMap["object_id"] = a.ObjectId
a.fieldMap["object_type"] = a.ObjectType
a.fieldMap["raw_data"] = a.RawData
}
func (a activity) clone(db *gorm.DB) activity {