Keep each model's parent out of its JSON (closes #177)
check / check (push) Successful in 3m16s

Every reference from a model to the record it belongs to (a target's or entrypoint's webhook, a webhook's or API key's user, an event's webhook and entrypoint, a delivery's event and target, a delivery result's delivery) is now tagged json:"-", so a preloaded model can be marshalled without the encoder recursing between parent and child. References to child records stay. Tests marshal each of the nine references set, preloaded where it matters, and check the parent's id is absent, so deleting or restoring any one tag fails a test; preloading still fills each reference.

Model: opus-5-5
This commit was merged in pull request #433.
This commit is contained in:
2026-10-02 15:43:06 +02:00
parent dc9deda173
commit 88b961c115
8 changed files with 150 additions and 16 deletions
+3 -2
View File
@@ -15,6 +15,7 @@ type APIKey struct {
Description string `json:"description"`
LastUsedAt *time.Time `json:"lastUsedAt,omitempty"`
// Relations
User User `json:"user,omitzero"`
// Relations. No model marshals the record it belongs to:
// User.APIKeys leads back here, and the JSON could loop.
User User `json:"-"`
}