From ce2956d1a78e070afdf200edd60e06298b7d8830 Mon Sep 17 00:00:00 2001 From: Sas Swart Date: Wed, 12 Feb 2025 10:13:43 +0000 Subject: [PATCH] generate ids for presets by default --- coderd/database/dbauthz/dbauthz_test.go | 2 -- coderd/database/dbmem/dbmem.go | 2 +- coderd/database/dump.sql | 2 +- ...92_generate_default_preset_parameter_ids.down.sql | 3 +++ ...0292_generate_default_preset_parameter_ids.up.sql | 3 +++ coderd/database/queries.sql.go | 12 +++--------- coderd/database/queries/presets.sql | 4 ++-- coderd/presets_test.go | 1 - 8 files changed, 13 insertions(+), 16 deletions(-) diff --git a/coderd/database/dbauthz/dbauthz_test.go b/coderd/database/dbauthz/dbauthz_test.go index 6472d22548..46aa96bf1f 100644 --- a/coderd/database/dbauthz/dbauthz_test.go +++ b/coderd/database/dbauthz/dbauthz_test.go @@ -886,7 +886,6 @@ func (s *MethodTestSuite) TestOrganization() { JobID: job.ID, }) insertPresetParams := database.InsertPresetParams{ - ID: uuid.New(), TemplateVersionID: workspaceBuild.TemplateVersionID, Name: "test", } @@ -3817,7 +3816,6 @@ func (s *MethodTestSuite) TestSystemFunctions() { CreatedBy: user.ID, }) preset, err := db.InsertPreset(ctx, database.InsertPresetParams{ - ID: uuid.New(), TemplateVersionID: templateVersion.ID, Name: "test", }) diff --git a/coderd/database/dbmem/dbmem.go b/coderd/database/dbmem/dbmem.go index 1db4934ef3..21c4023371 100644 --- a/coderd/database/dbmem/dbmem.go +++ b/coderd/database/dbmem/dbmem.go @@ -8151,7 +8151,7 @@ func (q *FakeQuerier) InsertPreset(_ context.Context, arg database.InsertPresetP //nolint:gosimple // arg needs to keep its type for interface reasons and that type is not appropriate for preset below. preset := database.TemplateVersionPreset{ - ID: arg.ID, + ID: uuid.New(), TemplateVersionID: arg.TemplateVersionID, Name: arg.Name, CreatedAt: arg.CreatedAt, diff --git a/coderd/database/dump.sql b/coderd/database/dump.sql index 39efb1ebb1..20e7d14b57 100644 --- a/coderd/database/dump.sql +++ b/coderd/database/dump.sql @@ -1273,7 +1273,7 @@ CREATE TABLE template_version_preset_parameters ( ); CREATE TABLE template_version_presets ( - id uuid NOT NULL, + id uuid DEFAULT gen_random_uuid() NOT NULL, template_version_id uuid NOT NULL, name text NOT NULL, created_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL diff --git a/coderd/database/migrations/000292_generate_default_preset_parameter_ids.down.sql b/coderd/database/migrations/000292_generate_default_preset_parameter_ids.down.sql index 02c4a2401d..0cb92a2619 100644 --- a/coderd/database/migrations/000292_generate_default_preset_parameter_ids.down.sql +++ b/coderd/database/migrations/000292_generate_default_preset_parameter_ids.down.sql @@ -1,2 +1,5 @@ +ALTER TABLE template_version_presets +ALTER COLUMN id DROP DEFAULT; + ALTER TABLE template_version_preset_parameters ALTER COLUMN id DROP DEFAULT; diff --git a/coderd/database/migrations/000292_generate_default_preset_parameter_ids.up.sql b/coderd/database/migrations/000292_generate_default_preset_parameter_ids.up.sql index a0abfceb19..9801d1f37c 100644 --- a/coderd/database/migrations/000292_generate_default_preset_parameter_ids.up.sql +++ b/coderd/database/migrations/000292_generate_default_preset_parameter_ids.up.sql @@ -1,2 +1,5 @@ +ALTER TABLE template_version_presets +ALTER COLUMN id SET DEFAULT gen_random_uuid(); + ALTER TABLE template_version_preset_parameters ALTER COLUMN id SET DEFAULT gen_random_uuid(); diff --git a/coderd/database/queries.sql.go b/coderd/database/queries.sql.go index 9d08dd2899..6030f4a60f 100644 --- a/coderd/database/queries.sql.go +++ b/coderd/database/queries.sql.go @@ -5494,25 +5494,19 @@ func (q *sqlQuerier) GetPresetsByTemplateVersionID(ctx context.Context, template const insertPreset = `-- name: InsertPreset :one INSERT INTO - template_version_presets (id, template_version_id, name, created_at) + template_version_presets (template_version_id, name, created_at) VALUES - ($1, $2, $3, $4) RETURNING id, template_version_id, name, created_at + ($1, $2, $3) RETURNING id, template_version_id, name, created_at ` type InsertPresetParams struct { - ID uuid.UUID `db:"id" json:"id"` TemplateVersionID uuid.UUID `db:"template_version_id" json:"template_version_id"` Name string `db:"name" json:"name"` CreatedAt time.Time `db:"created_at" json:"created_at"` } func (q *sqlQuerier) InsertPreset(ctx context.Context, arg InsertPresetParams) (TemplateVersionPreset, error) { - row := q.db.QueryRowContext(ctx, insertPreset, - arg.ID, - arg.TemplateVersionID, - arg.Name, - arg.CreatedAt, - ) + row := q.db.QueryRowContext(ctx, insertPreset, arg.TemplateVersionID, arg.Name, arg.CreatedAt) var i TemplateVersionPreset err := row.Scan( &i.ID, diff --git a/coderd/database/queries/presets.sql b/coderd/database/queries/presets.sql index 988722929a..8e648fce6c 100644 --- a/coderd/database/queries/presets.sql +++ b/coderd/database/queries/presets.sql @@ -1,8 +1,8 @@ -- name: InsertPreset :one INSERT INTO - template_version_presets (id, template_version_id, name, created_at) + template_version_presets (template_version_id, name, created_at) VALUES - (@id, @template_version_id, @name, @created_at) RETURNING *; + (@template_version_id, @name, @created_at) RETURNING *; -- name: InsertPresetParameters :many INSERT INTO diff --git a/coderd/presets_test.go b/coderd/presets_test.go index f3430dfa62..1bbc72431b 100644 --- a/coderd/presets_test.go +++ b/coderd/presets_test.go @@ -44,7 +44,6 @@ func TestTemplateVersionPresets(t *testing.T) { provisionerCtx := dbauthz.AsProvisionerd(ctx) preset, err := db.InsertPreset(provisionerCtx, database.InsertPresetParams{ - ID: sdkPreset.ID, Name: sdkPreset.Name, TemplateVersionID: version.ID, })