From 778b1614761988df4186f0be20076211ae557e1a Mon Sep 17 00:00:00 2001 From: Ian McEwen Date: Thu, 29 May 2025 10:58:24 -0700 Subject: [PATCH] initial setup for a metadata field on the updates table, to be used for storing arbitrary info useful for debugging and auditing --- internal/controllers/usages.go | 2 ++ internal/model/update.go | 1 + migrations/000017_updates_metadata.down.sql | 7 +++++++ migrations/000017_updates_metadata.up.sql | 7 +++++++ 4 files changed, 17 insertions(+) create mode 100644 migrations/000017_updates_metadata.down.sql create mode 100644 migrations/000017_updates_metadata.up.sql diff --git a/internal/controllers/usages.go b/internal/controllers/usages.go index 7e8bc48..4b7f48f 100644 --- a/internal/controllers/usages.go +++ b/internal/controllers/usages.go @@ -20,6 +20,7 @@ type Usage struct { ResourceName string `json:"resource_name"` UsageValue float64 `json:"usage_value"` UpdateType string `json:"update_type"` + Metadata string `json:"metadata"` } var ( @@ -138,6 +139,7 @@ func (s Server) addUsage(ctx context.Context, usage *Usage) error { UpdateOperationID: updateOperation.ID, ResourceTypeID: resourceType.ID, UserID: subscription.UserID, + Metadata: &usage.Metadata, } err = tx.WithContext(ctx).Debug().Create(&update).Error if err != nil { diff --git a/internal/model/update.go b/internal/model/update.go index 9cbd143..6de6d2d 100644 --- a/internal/model/update.go +++ b/internal/model/update.go @@ -34,4 +34,5 @@ type Update struct { ResourceType ResourceType `json:"resource_types"` UserID *string `gorm:"type:uuid" json:"-"` User User `json:"user"` + Metadata *string `json:"metadata"` } diff --git a/migrations/000017_updates_metadata.down.sql b/migrations/000017_updates_metadata.down.sql new file mode 100644 index 0000000..2d12226 --- /dev/null +++ b/migrations/000017_updates_metadata.down.sql @@ -0,0 +1,7 @@ +BEGIN; + +SET search_path = public, pg_catalog; + +ALTER TABLE IF EXISTS updates DROP COLUMN IF EXISTS metadata; + +COMMIT; diff --git a/migrations/000017_updates_metadata.up.sql b/migrations/000017_updates_metadata.up.sql new file mode 100644 index 0000000..d850e74 --- /dev/null +++ b/migrations/000017_updates_metadata.up.sql @@ -0,0 +1,7 @@ +BEGIN; + +SET search_path = public, pg_catalog; + +ALTER TABLE IF EXISTS updates ADD COLUMN IF NOT EXISTS metadata TEXT; + +COMMIT;