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

Commit8387dd2

Browse files
authored
chore: add form_type parameter argument to db (#17920)
`form_type` is a new parameter field in the terraform provider. Bringthat field into coder/coder.Validation for `multi-select` has also been added.
1 parent776c144 commit8387dd2

File tree

35 files changed

+1555
-821
lines changed

35 files changed

+1555
-821
lines changed

‎coderd/apidoc/docs.go

Lines changed: 17 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: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/db2sdk/db2sdk.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ func WorkspaceBuildParameters(params []database.WorkspaceBuildParameter) []coder
9292
}
9393

9494
funcTemplateVersionParameters(params []database.TemplateVersionParameter) ([]codersdk.TemplateVersionParameter,error) {
95-
out:=make([]codersdk.TemplateVersionParameter,len(params))
96-
varerrerror
97-
fori,p:=rangeparams {
98-
out[i],err=TemplateVersionParameter(p)
95+
out:=make([]codersdk.TemplateVersionParameter,0,len(params))
96+
for_,p:=rangeparams {
97+
np,err:=TemplateVersionParameter(p)
9998
iferr!=nil {
10099
returnnil,xerrors.Errorf("convert template version parameter %q: %w",p.Name,err)
101100
}
101+
out=append(out,np)
102102
}
103103

104104
returnout,nil
@@ -131,6 +131,7 @@ func TemplateVersionParameter(param database.TemplateVersionParameter) (codersdk
131131
Description:param.Description,
132132
DescriptionPlaintext:descriptionPlaintext,
133133
Type:param.Type,
134+
FormType:string(param.FormType),
134135
Mutable:param.Mutable,
135136
DefaultValue:param.DefaultValue,
136137
Icon:param.Icon,
@@ -293,7 +294,8 @@ func templateVersionParameterOptions(rawOptions json.RawMessage) ([]codersdk.Tem
293294
iferr!=nil {
294295
returnnil,err
295296
}
296-
varoptions []codersdk.TemplateVersionParameterOption
297+
298+
options:=make([]codersdk.TemplateVersionParameterOption,0)
297299
for_,option:=rangeprotoOptions {
298300
options=append(options, codersdk.TemplateVersionParameterOption{
299301
Name:option.Name,

‎coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,7 @@ func TemplateVersionParameter(t testing.TB, db database.Store, orig database.Tem
992992
Name:takeFirst(orig.Name,testutil.GetRandomName(t)),
993993
Description:takeFirst(orig.Description,testutil.GetRandomName(t)),
994994
Type:takeFirst(orig.Type,"string"),
995+
FormType:orig.FormType,// empty string is ok!
995996
Mutable:takeFirst(orig.Mutable,false),
996997
DefaultValue:takeFirst(orig.DefaultValue,testutil.GetRandomName(t)),
997998
Icon:takeFirst(orig.Icon,testutil.GetRandomName(t)),

‎coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9393,6 +9393,7 @@ func (q *FakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
93939393
DisplayName:arg.DisplayName,
93949394
Description:arg.Description,
93959395
Type:arg.Type,
9396+
FormType:arg.FormType,
93969397
Mutable:arg.Mutable,
93979398
DefaultValue:arg.DefaultValue,
93989399
Icon:arg.Icon,

‎coderd/database/dump.sql

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTERTABLE template_version_parameters DROP COLUMN form_type;
2+
DROPTYPE parameter_form_type;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CREATETYPEparameter_form_typeAS ENUM ('','error','radio','dropdown','input','textarea','slider','checkbox','switch','tag-select','multi-select');
2+
COMMENTON TYPE parameter_form_type
3+
IS'Enum set should match the terraform provider set. This is defined as future form_types are not supported, and should be rejected.'
4+
'Always include the empty string for using the default form type.';
5+
6+
-- Intentionally leaving the default blank. The provisioner will not re-run any
7+
-- imports to backfill these values. Missing values just have to be handled.
8+
ALTERTABLE template_version_parameters ADD COLUMN form_type parameter_form_typeNOT NULL DEFAULT'';
9+
10+
COMMENTON COLUMNtemplate_version_parameters.form_type
11+
IS'Specify what form_type should be used to render the parameter in the UI. Unsupported values are rejected.';

‎coderd/database/models.go

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

‎coderd/database/queries.sql.go

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

‎coderd/database/queries/templateversionparameters.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ INSERT INTO
55
name,
66
description,
77
type,
8+
form_type,
89
mutable,
910
default_value,
1011
icon,
@@ -37,7 +38,8 @@ VALUES
3738
$14,
3839
$15,
3940
$16,
40-
$17
41+
$17,
42+
$18
4143
) RETURNING*;
4244

4345
-- name: GetTemplateVersionParameters :many

‎coderd/provisionerdserver/provisionerdserver.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
protobuf"google.golang.org/protobuf/proto"
2929

3030
"cdr.dev/slog"
31+
"github.com/coder/coder/v2/coderd/util/slice"
3132

3233
"github.com/coder/coder/v2/codersdk/drpcsdk"
3334

@@ -1453,12 +1454,24 @@ func (s *server) completeTemplateImportJob(ctx context.Context, job database.Pro
14531454
}
14541455
}
14551456

1457+
pft,err:=sdkproto.ProviderFormType(richParameter.FormType)
1458+
iferr!=nil {
1459+
returnxerrors.Errorf("parameter %q: %w",richParameter.Name,err)
1460+
}
1461+
1462+
dft:=database.ParameterFormType(pft)
1463+
if!dft.Valid() {
1464+
list:=strings.Join(slice.ToStrings(database.AllParameterFormTypeValues()),", ")
1465+
returnxerrors.Errorf("parameter %q field 'form_type' not valid, currently supported: %s",richParameter.Name,list)
1466+
}
1467+
14561468
_,err=db.InsertTemplateVersionParameter(ctx, database.InsertTemplateVersionParameterParams{
14571469
TemplateVersionID:input.TemplateVersionID,
14581470
Name:richParameter.Name,
14591471
DisplayName:richParameter.DisplayName,
14601472
Description:richParameter.Description,
14611473
Type:richParameter.Type,
1474+
FormType:dft,
14621475
Mutable:richParameter.Mutable,
14631476
DefaultValue:richParameter.DefaultValue,
14641477
Icon:richParameter.Icon,

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp