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

Commit6639c69

Browse files
authored
feat: add "display_order" column to coder_parameter to keep parameters sorted in UI (#8227)
1 parent72a48be commit6639c69

23 files changed

+968
-481
lines changed

‎coderd/database/dbfake/dbfake.go‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2410,6 +2410,12 @@ func (q *fakeQuerier) GetTemplateVersionParameters(_ context.Context, templateVe
24102410
}
24112411
parameters=append(parameters,param)
24122412
}
2413+
sort.Slice(parameters,func(i,jint)bool {
2414+
ifparameters[i].DisplayOrder!=parameters[j].DisplayOrder {
2415+
returnparameters[i].DisplayOrder<parameters[j].DisplayOrder
2416+
}
2417+
returnstrings.ToLower(parameters[i].Name)<strings.ToLower(parameters[j].Name)
2418+
})
24132419
returnparameters,nil
24142420
}
24152421

@@ -3934,6 +3940,7 @@ func (q *fakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
39343940
ValidationMax:arg.ValidationMax,
39353941
ValidationMonotonic:arg.ValidationMonotonic,
39363942
Required:arg.Required,
3943+
DisplayOrder:arg.DisplayOrder,
39373944
LegacyVariableName:arg.LegacyVariableName,
39383945
}
39393946
q.templateVersionParameters=append(q.templateVersionParameters,param)

‎coderd/database/dump.sql‎

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTERTABLE template_version_parameters DROP COLUMN display_order;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ALTERTABLE template_version_parameters ADD COLUMN display_orderintegerNOT NULL DEFAULT0;
2+
3+
COMMENTON COLUMNtemplate_version_parameters.display_order
4+
IS'Specifies the order in which to display parameters in user interfaces.';

‎coderd/database/models.go‎

Lines changed: 2 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: 10 additions & 4 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: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ INSERT INTO
1616
validation_monotonic,
1717
required,
1818
legacy_variable_name,
19-
display_name
19+
display_name,
20+
display_order
2021
)
2122
VALUES
2223
(
@@ -35,8 +36,9 @@ VALUES
3536
$13,
3637
$14,
3738
$15,
38-
$16
39+
$16,
40+
$17
3941
) RETURNING*;
4042

4143
-- name: GetTemplateVersionParameters :many
42-
SELECT*FROM template_version_parametersWHERE template_version_id= $1;
44+
SELECT*FROM template_version_parametersWHERE template_version_id= $1ORDER BY display_orderASC,LOWER(name)ASC;

‎coderd/provisionerdserver/provisionerdserver.go‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
825825
ValidationMax:validationMax,
826826
ValidationMonotonic:richParameter.ValidationMonotonic,
827827
Required:richParameter.Required,
828+
DisplayOrder:richParameter.Order,
828829
LegacyVariableName:richParameter.LegacyVariableName,
829830
})
830831
iferr!=nil {

‎coderd/templateversions_test.go‎

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,3 +1291,93 @@ func TestTemplateVersionPatch(t *testing.T) {
12911291
require.Error(t,err)
12921292
})
12931293
}
1294+
1295+
funcTestTemplateVersionParameters_Order(t*testing.T) {
1296+
t.Parallel()
1297+
1298+
const (
1299+
firstParameterName="first_parameter"
1300+
firstParameterType="string"
1301+
firstParameterValue="aaa"
1302+
// no order
1303+
1304+
secondParameterName="Second_parameter"
1305+
secondParameterType="number"
1306+
secondParameterValue="2"
1307+
secondParameterOrder=3
1308+
1309+
thirdParameterName="third_parameter"
1310+
thirdParameterType="number"
1311+
thirdParameterValue="3"
1312+
thirdParameterOrder=3
1313+
1314+
fourthParameterName="Fourth_parameter"
1315+
fourthParameterType="number"
1316+
fourthParameterValue="3"
1317+
fourthParameterOrder=2
1318+
1319+
fifthParameterName="Fifth_parameter"
1320+
fifthParameterType="string"
1321+
fifthParameterValue="aaa"
1322+
// no order
1323+
)
1324+
1325+
client:=coderdtest.New(t,&coderdtest.Options{IncludeProvisionerDaemon:true})
1326+
user:=coderdtest.CreateFirstUser(t,client)
1327+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,&echo.Responses{
1328+
Parse:echo.ParseComplete,
1329+
ProvisionPlan: []*proto.Provision_Response{
1330+
{
1331+
Type:&proto.Provision_Response_Complete{
1332+
Complete:&proto.Provision_Complete{
1333+
Parameters: []*proto.RichParameter{
1334+
{
1335+
Name:firstParameterName,
1336+
Type:firstParameterType,
1337+
// No order
1338+
},
1339+
{
1340+
Name:secondParameterName,
1341+
Type:secondParameterType,
1342+
Order:secondParameterOrder,
1343+
},
1344+
{
1345+
Name:thirdParameterName,
1346+
Type:thirdParameterType,
1347+
Order:thirdParameterOrder,
1348+
},
1349+
{
1350+
Name:fourthParameterName,
1351+
Type:fourthParameterType,
1352+
Order:fourthParameterOrder,
1353+
},
1354+
{
1355+
Name:fifthParameterName,
1356+
Type:fifthParameterType,
1357+
// No order
1358+
},
1359+
},
1360+
},
1361+
},
1362+
},
1363+
},
1364+
ProvisionApply: []*proto.Provision_Response{{
1365+
Type:&proto.Provision_Response_Complete{
1366+
Complete:&proto.Provision_Complete{},
1367+
},
1368+
}},
1369+
})
1370+
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
1371+
1372+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
1373+
defercancel()
1374+
1375+
templateRichParameters,err:=client.TemplateVersionRichParameters(ctx,version.ID)
1376+
require.NoError(t,err)
1377+
require.Len(t,templateRichParameters,5)
1378+
require.Equal(t,fifthParameterName,templateRichParameters[0].Name)
1379+
require.Equal(t,firstParameterName,templateRichParameters[1].Name)
1380+
require.Equal(t,fourthParameterName,templateRichParameters[2].Name)
1381+
require.Equal(t,secondParameterName,templateRichParameters[3].Name)
1382+
require.Equal(t,thirdParameterName,templateRichParameters[4].Name)
1383+
}

‎go.mod‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ require (
7575
github.com/codeclysm/extractv2.2.0+incompatible
7676
github.com/coder/flogv1.1.0
7777
github.com/coder/retryv1.4.0
78-
github.com/coder/terraform-provider-coderv0.8.2
78+
github.com/coder/terraform-provider-coderv0.9.0
7979
github.com/coder/wgtunnelv0.1.5
8080
github.com/coreos/go-oidc/v3v3.6.0
8181
github.com/coreos/go-systemdv0.0.0-20191104093116-d3cd4ed1dbcf
@@ -126,7 +126,7 @@ require (
126126
github.com/mitchellh/go-wordwrapv1.0.1
127127
github.com/mitchellh/mapstructurev1.5.0
128128
github.com/moby/mobyv24.0.1+incompatible
129-
github.com/muesli/reflowv0.3.0
129+
github.com/muesli/reflowv0.3.0// indirect
130130
github.com/open-policy-agent/opav0.51.0
131131
github.com/ory/dockertest/v3v3.10.0
132132
github.com/pion/udpv0.1.2
@@ -218,7 +218,6 @@ require (
218218
github.com/docker/dockerv23.0.3+incompatible// indirect
219219
github.com/docker/go-connectionsv0.4.0// indirect
220220
github.com/docker/go-unitsv0.5.0// indirect
221-
github.com/dustin/go-humanizev1.0.1
222221
github.com/elastic/go-windowsv1.0.0// indirect
223222
github.com/fxamacker/cbor/v2v2.4.0// indirect
224223
github.com/gabriel-vasile/mimetypev1.4.2// indirect

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp