Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit71cbf73

Browse files
authored
feat(coderd): add support for presets to the coder API (#16526)
This pull request builds on the existing migrations and queries to addsupport for presets to the coder API.
1 parentec50a35 commit71cbf73

File tree

18 files changed

+447
-47
lines changed

18 files changed

+447
-47
lines changed

‎Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ provisioner/terraform/testdata/version:
809809
.PHONY: provisioner/terraform/testdata/version
810810

811811
test:
812-
$(GIT_FLAGS) gotestsum --format standard-quiet -- -v -short -count=1 ./...
812+
$(GIT_FLAGS) gotestsum --format standard-quiet -- -v -short -count=1 ./...$(if$(RUN),-run$(RUN))
813813
.PHONY: test
814814

815815
test-cli:

‎coderd/apidoc/docs.go

Lines changed: 66 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/apidoc/swagger.json

Lines changed: 62 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/coderd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,7 @@ func New(options *Options) *API {
10581058
r.Get("/rich-parameters",api.templateVersionRichParameters)
10591059
r.Get("/external-auth",api.templateVersionExternalAuth)
10601060
r.Get("/variables",api.templateVersionVariables)
1061+
r.Get("/presets",api.templateVersionPresets)
10611062
r.Get("/resources",api.templateVersionResources)
10621063
r.Get("/logs",api.templateVersionLogs)
10631064
r.Route("/dry-run",func(r chi.Router) {

‎coderd/database/dbauthz/dbauthz_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,6 @@ func (s *MethodTestSuite) TestOrganization() {
886886
JobID:job.ID,
887887
})
888888
insertPresetParams:= database.InsertPresetParams{
889-
ID:uuid.New(),
890889
TemplateVersionID:workspaceBuild.TemplateVersionID,
891890
Name:"test",
892891
}
@@ -3817,13 +3816,11 @@ func (s *MethodTestSuite) TestSystemFunctions() {
38173816
CreatedBy:user.ID,
38183817
})
38193818
preset,err:=db.InsertPreset(ctx, database.InsertPresetParams{
3820-
ID:uuid.New(),
38213819
TemplateVersionID:templateVersion.ID,
38223820
Name:"test",
38233821
})
38243822
require.NoError(s.T(),err)
38253823
_,err=db.InsertPresetParameters(ctx, database.InsertPresetParametersParams{
3826-
ID:uuid.New(),
38273824
TemplateVersionPresetID:preset.ID,
38283825
Names: []string{"test"},
38293826
Values: []string{"test"},

‎coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8149,6 +8149,7 @@ func (q *FakeQuerier) InsertPreset(_ context.Context, arg database.InsertPresetP
81498149
q.mutex.Lock()
81508150
deferq.mutex.Unlock()
81518151

8152+
//nolint:gosimple // arg needs to keep its type for interface reasons and that type is not appropriate for preset below.
81528153
preset:= database.TemplateVersionPreset{
81538154
ID:uuid.New(),
81548155
TemplateVersionID:arg.TemplateVersionID,

‎coderd/database/dump.sql

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ALTERTABLE template_version_presets
2+
ALTER COLUMN id DROP DEFAULT;
3+
4+
ALTERTABLE template_version_preset_parameters
5+
ALTER COLUMN id DROP DEFAULT;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ALTERTABLE template_version_presets
2+
ALTER COLUMN idSET DEFAULT gen_random_uuid();
3+
4+
ALTERTABLE template_version_preset_parameters
5+
ALTER COLUMN idSET DEFAULT gen_random_uuid();

‎coderd/database/queries.sql.go

Lines changed: 7 additions & 20 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries/presets.sql

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
-- name: InsertPreset :one
22
INSERT INTO
3-
template_version_presets (id,template_version_id, name, created_at)
3+
template_version_presets (template_version_id, name, created_at)
44
VALUES
5-
(@id, @template_version_id, @name, @created_at) RETURNING*;
5+
(@template_version_id, @name, @created_at) RETURNING*;
66

77
-- name: InsertPresetParameters :many
88
INSERT INTO
9-
template_version_preset_parameters (id,template_version_preset_id, name, value)
9+
template_version_preset_parameters (template_version_preset_id, name, value)
1010
SELECT
11-
@id,
1211
@template_version_preset_id,
1312
unnest(@names ::TEXT[]),
1413
unnest(@values ::TEXT[])

‎coderd/presets.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package coderd
2+
3+
import (
4+
"net/http"
5+
6+
"github.com/coder/coder/v2/coderd/httpapi"
7+
"github.com/coder/coder/v2/coderd/httpmw"
8+
"github.com/coder/coder/v2/codersdk"
9+
)
10+
11+
// @Summary Get template version presets
12+
// @ID get-template-version-presets
13+
// @Security CoderSessionToken
14+
// @Produce json
15+
// @Tags Templates
16+
// @Param templateversion path string true "Template version ID" format(uuid)
17+
// @Success 200 {array} codersdk.Preset
18+
// @Router /templateversions/{templateversion}/presets [get]
19+
func (api*API)templateVersionPresets(rw http.ResponseWriter,r*http.Request) {
20+
ctx:=r.Context()
21+
templateVersion:=httpmw.TemplateVersionParam(r)
22+
23+
presets,err:=api.Database.GetPresetsByTemplateVersionID(ctx,templateVersion.ID)
24+
iferr!=nil {
25+
httpapi.Write(ctx,rw,http.StatusInternalServerError, codersdk.Response{
26+
Message:"Internal error fetching template version presets.",
27+
Detail:err.Error(),
28+
})
29+
return
30+
}
31+
32+
presetParams,err:=api.Database.GetPresetParametersByTemplateVersionID(ctx,templateVersion.ID)
33+
iferr!=nil {
34+
httpapi.Write(ctx,rw,http.StatusInternalServerError, codersdk.Response{
35+
Message:"Internal error fetching template version presets.",
36+
Detail:err.Error(),
37+
})
38+
return
39+
}
40+
41+
varres []codersdk.Preset
42+
for_,preset:=rangepresets {
43+
sdkPreset:= codersdk.Preset{
44+
ID:preset.ID,
45+
Name:preset.Name,
46+
}
47+
for_,presetParam:=rangepresetParams {
48+
sdkPreset.Parameters=append(sdkPreset.Parameters, codersdk.PresetParameter{
49+
Name:presetParam.Name,
50+
Value:presetParam.Value,
51+
})
52+
}
53+
res=append(res,sdkPreset)
54+
}
55+
56+
httpapi.Write(ctx,rw,http.StatusOK,res)
57+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp