Store failed requests in db for later retries

This commit is contained in:
Melody Becker 2025-06-13 13:43:27 +02:00
parent d86ad370df
commit 1c216e415d
Signed by: mstar
SSH key fingerprint: SHA256:9VAo09aaVNTWKzPW7Hq2LW+ox9OdwmTSHRoD4mlz1yI
8 changed files with 1292 additions and 250 deletions

View file

@ -38,6 +38,8 @@ func newRemoteServer(db *gorm.DB, opts ...gen.DOOption) remoteServer {
_remoteServer.Name = field.NewString(tableName, "name")
_remoteServer.IconId = field.NewField(tableName, "icon_id")
_remoteServer.IsSelf = field.NewBool(tableName, "is_self")
_remoteServer.LastInteraction = field.NewTime(tableName, "last_interaction")
_remoteServer.IsDead = field.NewBool(tableName, "is_dead")
_remoteServer.Metadata = remoteServerHasManyMetadata{
db: db.Session(&gorm.Session{}),
@ -79,19 +81,21 @@ func newRemoteServer(db *gorm.DB, opts ...gen.DOOption) remoteServer {
type remoteServer struct {
remoteServerDo
ALL field.Asterisk
ID field.Uint
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
ServerType field.Field
SpecificType field.String
Version field.String
Domain field.String
Name field.String
IconId field.Field
IsSelf field.Bool
Metadata remoteServerHasManyMetadata
ALL field.Asterisk
ID field.Uint
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
ServerType field.Field
SpecificType field.String
Version field.String
Domain field.String
Name field.String
IconId field.Field
IsSelf field.Bool
LastInteraction field.Time
IsDead field.Bool
Metadata remoteServerHasManyMetadata
Icon remoteServerBelongsToIcon
@ -121,6 +125,8 @@ func (r *remoteServer) updateTableName(table string) *remoteServer {
r.Name = field.NewString(table, "name")
r.IconId = field.NewField(table, "icon_id")
r.IsSelf = field.NewBool(table, "is_self")
r.LastInteraction = field.NewTime(table, "last_interaction")
r.IsDead = field.NewBool(table, "is_dead")
r.fillFieldMap()
@ -137,7 +143,7 @@ func (r *remoteServer) GetFieldByName(fieldName string) (field.OrderExpr, bool)
}
func (r *remoteServer) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 13)
r.fieldMap = make(map[string]field.Expr, 15)
r.fieldMap["id"] = r.ID
r.fieldMap["created_at"] = r.CreatedAt
r.fieldMap["updated_at"] = r.UpdatedAt
@ -149,6 +155,8 @@ func (r *remoteServer) fillFieldMap() {
r.fieldMap["name"] = r.Name
r.fieldMap["icon_id"] = r.IconId
r.fieldMap["is_self"] = r.IsSelf
r.fieldMap["last_interaction"] = r.LastInteraction
r.fieldMap["is_dead"] = r.IsDead
}