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

Commit877e172

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

File tree

7 files changed

+39
-19
lines changed

7 files changed

+39
-19
lines changed

‎coderd/coderdtest/dynamicparameters.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,22 +50,25 @@ func DynamicParameterTemplate(t *testing.T, client *codersdk.Client, org uuid.UU
5050
})
5151
AwaitTemplateVersionJobCompleted(t,client,version.ID)
5252

53-
tplID:=args.TemplateID
53+
vartpl codersdk.Template
54+
varerrerror
55+
5456
ifargs.TemplateID==uuid.Nil {
55-
tpl:=CreateTemplate(t,client,org,version.ID)
56-
tplID=tpl.ID
57+
tpl=CreateTemplate(t,client,org,version.ID,func(request*codersdk.CreateTemplateRequest) {
58+
request.UseClassicParameterFlow=ptr.Ref(false)
59+
})
60+
}else {
61+
tpl,err=client.UpdateTemplateMeta(t.Context(),args.TemplateID, codersdk.UpdateTemplateMeta{
62+
UseClassicParameterFlow:ptr.Ref(false),
63+
})
64+
require.NoError(t,err)
5765
}
5866

59-
varerrerror
60-
tpl,err:=client.UpdateTemplateMeta(t.Context(),tplID, codersdk.UpdateTemplateMeta{
61-
UseClassicParameterFlow:ptr.Ref(false),
62-
})
63-
require.NoError(t,err)
64-
6567
err=client.UpdateActiveTemplateVersion(t.Context(),tpl.ID, codersdk.UpdateActiveTemplateVersion{
6668
ID:version.ID,
6769
})
6870
require.NoError(t,err)
71+
require.Equal(t,tpl.UseClassicParameterFlow,false,"template should use dynamic parameters")
6972

7073
returntpl,version
7174
}

‎coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ func Template(t testing.TB, db database.Store, seed database.Template) database.
100100
DisplayName:takeFirst(seed.DisplayName,testutil.GetRandomName(t)),
101101
AllowUserCancelWorkspaceJobs:seed.AllowUserCancelWorkspaceJobs,
102102
MaxPortSharingLevel:takeFirst(seed.MaxPortSharingLevel,database.AppSharingLevelOwner),
103+
UseClassicParameterFlow:takeFirst(seed.UseClassicParameterFlow,true),
103104
})
104105
require.NoError(t,err,"insert template")
105106

‎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)

‎coderd/templates_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ func TestPostTemplateByOrganization(t *testing.T) {
7777
assert.Equal(t,expected.Name,got.Name)
7878
assert.Equal(t,expected.Description,got.Description)
7979
assert.Equal(t,expected.ActivityBumpMillis,got.ActivityBumpMillis)
80+
assert.Equal(t,expected.UseClassicParameterFlow,true)// Current default is true
8081

8182
require.Len(t,auditor.AuditLogs(),3)
8283
assert.Equal(t,database.AuditActionCreate,auditor.AuditLogs()[0].Action)

‎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