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

Commitbe970a4

Browse files
committed
feat: support dynamic parameters on create template request
1 parentf0251df commitbe970a4

File tree

5 files changed

+37
-17
lines changed

5 files changed

+37
-17
lines changed

‎coderd/coderdtest/dynamicparameters.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,26 @@ func DynamicParameterTemplate(t *testing.T, client *codersdk.Client, org uuid.UU
5151
AwaitTemplateVersionJobCompleted(t,client,version.ID)
5252

5353
tplID:=args.TemplateID
54+
vartpl codersdk.Template
55+
varerrerror
56+
5457
ifargs.TemplateID==uuid.Nil {
55-
tpl:=CreateTemplate(t,client,org,version.ID)
58+
tpl=CreateTemplate(t,client,org,version.ID,func(request*codersdk.CreateTemplateRequest) {
59+
request.UseClassicParameterFlow=ptr.Ref(false)
60+
})
5661
tplID=tpl.ID
62+
}else {
63+
tpl,err=client.UpdateTemplateMeta(t.Context(),tplID, codersdk.UpdateTemplateMeta{
64+
UseClassicParameterFlow:ptr.Ref(false),
65+
})
66+
require.NoError(t,err)
5767
}
5868

59-
varerrerror
60-
tpl,err:=client.UpdateTemplateMeta(t.Context(),tplID, codersdk.UpdateTemplateMeta{
61-
UseClassicParameterFlow:ptr.Ref(false),
62-
})
63-
require.NoError(t,err)
64-
6569
err=client.UpdateActiveTemplateVersion(t.Context(),tpl.ID, codersdk.UpdateActiveTemplateVersion{
6670
ID:version.ID,
6771
})
6872
require.NoError(t,err)
73+
require.Equal(t,tpl.UseClassicParameterFlow,false,"template should use dynamic parameters")
6974

7075
returntpl,version
7176
}

‎coderd/database/queries.sql.go

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

‎coderd/database/queries/templates.sql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,11 @@ INSERT INTO
9898
group_acl,
9999
display_name,
100100
allow_user_cancel_workspace_jobs,
101-
max_port_sharing_level
101+
max_port_sharing_level,
102+
use_classic_parameter_flow
102103
)
103104
VALUES
104-
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15);
105+
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16);
105106

106107
-- name: UpdateTemplateActiveVersionByID :exec
107108
UPDATE

‎coderd/templates.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,16 +197,20 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
197197
return
198198
}
199199

200+
// Default is true until dynamic parameters are promoted to stable.
201+
useClassicParameterFlow:=ptr.NilToDefault(createTemplate.UseClassicParameterFlow,true)
202+
200203
// Make a temporary struct to represent the template. This is used for
201204
// auditing if any of the following checks fail. It will be overwritten when
202205
// the template is inserted into the db.
203206
templateAudit.New= database.Template{
204-
OrganizationID:organization.ID,
205-
Name:createTemplate.Name,
206-
Description:createTemplate.Description,
207-
CreatedBy:apiKey.UserID,
208-
Icon:createTemplate.Icon,
209-
DisplayName:createTemplate.DisplayName,
207+
OrganizationID:organization.ID,
208+
Name:createTemplate.Name,
209+
Description:createTemplate.Description,
210+
CreatedBy:apiKey.UserID,
211+
Icon:createTemplate.Icon,
212+
DisplayName:createTemplate.DisplayName,
213+
UseClassicParameterFlow:useClassicParameterFlow,
210214
}
211215

212216
_,err:=api.Database.GetTemplateByOrganizationAndName(ctx, database.GetTemplateByOrganizationAndNameParams{
@@ -404,6 +408,7 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
404408
Icon:createTemplate.Icon,
405409
AllowUserCancelWorkspaceJobs:allowUserCancelWorkspaceJobs,
406410
MaxPortSharingLevel:maxPortShareLevel,
411+
UseClassicParameterFlow:useClassicParameterFlow,
407412
})
408413
iferr!=nil {
409414
returnxerrors.Errorf("insert template: %s",err)

‎codersdk/organizations.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@ type CreateTemplateRequest struct {
200200
// MaxPortShareLevel allows optionally specifying the maximum port share level
201201
// for workspaces created from the template.
202202
MaxPortShareLevel*WorkspaceAgentPortShareLevel`json:"max_port_share_level"`
203+
204+
// UseClassicParameterFlow allows optionally specifying whether
205+
// the template should use the classic parameter flow. The default if unset is
206+
// true, and is why `*bool` is used here. When dynamic parameters becomes
207+
// the default, this will default to false.
208+
UseClassicParameterFlow*bool`json:"template_use_classic_parameter_flow"`
203209
}
204210

205211
// CreateWorkspaceRequest provides options for creating a new workspace.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp