A target's settings move from the per-type JSON string in targets.config to columns: url, headers, timeout_seconds, forward_query, archive_expiry and archive_rotation. A column a type does not use stays empty. headers holds the header map as JSON text through GORM's JSON serializer, and archive_expiry holds a time.Duration, 0 meaning never, so nothing that reads a target parses it. The forms check each setting once, with the same refusals and messages, and the edit form is filled from the columns, so the per-type config structs, their parsers and the "could not be read" branches are gone. A delivery task carries the six settings in place of the JSON string. Model: opus-5-5
This commit is contained in:
@@ -356,7 +356,7 @@ func TestFailedResultWriteLeavesDeliveryRecoverable(
|
||||
Target: database.Target{
|
||||
Name: "unwritable",
|
||||
Type: database.TargetTypeHTTP,
|
||||
Config: iHTTPConfig(ts.URL),
|
||||
URL: ts.URL,
|
||||
MaxAttempts: 1,
|
||||
},
|
||||
}
|
||||
@@ -447,7 +447,7 @@ func TestFailedResultWriteWithRetriesLeavesDeliveryRecoverable(
|
||||
Target: database.Target{
|
||||
Name: "unwritable",
|
||||
Type: database.TargetTypeHTTP,
|
||||
Config: iHTTPConfig(ts.URL),
|
||||
URL: ts.URL,
|
||||
MaxAttempts: 3,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user