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;