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

Commit7b80138

Browse files
committed
only use 1 function, not a 2 step
1 parent000f722 commit7b80138

File tree

3 files changed

+34
-29
lines changed

3 files changed

+34
-29
lines changed

‎coderd/dynamicparameters/render.go

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ type Renderer interface {
3333

3434
varErrTemplateVersionNotReady=xerrors.New("template version job not finished")
3535

36-
//Loader is used to load the necessary coder objects for rendering a template
36+
//loader is used to load the necessary coder objects for rendering a template
3737
// version's parameters. The output is a Renderer, which is the object that uses
3838
// the cached objects to render the template version's parameters.
39-
typeLoaderstruct {
39+
typeloaderstruct {
4040
templateVersionID uuid.UUID
4141

4242
// cache of objects
@@ -45,39 +45,44 @@ type Loader struct {
4545
terraformValues*database.TemplateVersionTerraformValue
4646
}
4747

48-
// Prepare is the entrypoint for this package. It is broken into 2 steps to allow
49-
// prepopulating some of the existing data and saving some database queries.
50-
//
51-
// Usage: dynamicparameters.Prepare(...).Renderer(...)
52-
funcPrepare(versionID uuid.UUID)*Loader {
53-
return&Loader{
48+
// Prepare is the entrypoint for this package. It loads the necessary objects &
49+
// files from the database and returns a Renderer that can be used to render the
50+
// template version's parameters.
51+
funcPrepare(ctx context.Context,db database.Store,cache*files.Cache,versionID uuid.UUID,options...func(r*loader)) (Renderer,error) {
52+
l:=&loader{
5453
templateVersionID:versionID,
5554
}
56-
}
5755

58-
func (r*Loader)WithTemplateVersion(tv database.TemplateVersion)*Loader {
59-
iftv.ID==r.templateVersionID {
60-
r.templateVersion=&tv
56+
for_,opt:=rangeoptions {
57+
opt(l)
6158
}
6259

63-
returnr
60+
returnl.Renderer(ctx,db,cache)
6461
}
6562

66-
func (r*Loader)WithProvisionerJob(job database.ProvisionerJob)*Loader {
67-
r.job=&job
68-
69-
returnr
63+
funcWithTemplateVersion(tv database.TemplateVersion)func(r*loader) {
64+
returnfunc(r*loader) {
65+
iftv.ID==r.templateVersionID {
66+
r.templateVersion=&tv
67+
}
68+
}
7069
}
7170

72-
func(r*Loader)WithTerraformValues(valuesdatabase.TemplateVersionTerraformValue)*Loader {
73-
ifvalues.TemplateVersionID==r.templateVersionID {
74-
r.terraformValues=&values
71+
funcWithProvisionerJob(jobdatabase.ProvisionerJob)func(r*loader) {
72+
returnfunc(r*loader) {
73+
r.job=&job
7574
}
75+
}
7676

77-
returnr
77+
funcWithTerraformValues(values database.TemplateVersionTerraformValue)func(r*loader) {
78+
returnfunc(r*loader) {
79+
ifvalues.TemplateVersionID==r.templateVersionID {
80+
r.terraformValues=&values
81+
}
82+
}
7883
}
7984

80-
func (r*Loader)loadData(ctx context.Context,db database.Store)error {
85+
func (r*loader)loadData(ctx context.Context,db database.Store)error {
8186
ifr.templateVersion==nil {
8287
tv,err:=db.GetTemplateVersionByID(ctx,r.templateVersionID)
8388
iferr!=nil {
@@ -116,7 +121,7 @@ func (r *Loader) loadData(ctx context.Context, db database.Store) error {
116121
// Static parameter rendering is required to support older template versions that
117122
// do not have the database state to support dynamic parameters. A constant
118123
// warning will be displayed for these template versions.
119-
func (r*Loader)Renderer(ctx context.Context,db database.Store,cache*files.Cache) (Renderer,error) {
124+
func (r*loader)Renderer(ctx context.Context,db database.Store,cache*files.Cache) (Renderer,error) {
120125
err:=r.loadData(ctx,db)
121126
iferr!=nil {
122127
returnnil,xerrors.Errorf("load data: %w",err)
@@ -131,7 +136,7 @@ func (r *Loader) Renderer(ctx context.Context, db database.Store, cache *files.C
131136

132137
// Renderer caches all the necessary files when rendering a template version's
133138
// parameters. It must be closed after use to release the cached files.
134-
func (r*Loader)dynamicRenderer(ctx context.Context,db database.Store,cache*files.Cache) (*dynamicRenderer,error) {
139+
func (r*loader)dynamicRenderer(ctx context.Context,db database.Store,cache*files.Cache) (*dynamicRenderer,error) {
135140
// If they can read the template version, then they can read the file for
136141
// parameter loading purposes.
137142
//nolint:gocritic
@@ -171,7 +176,7 @@ func (r *Loader) dynamicRenderer(ctx context.Context, db database.Store, cache *
171176

172177
typedynamicRendererstruct {
173178
db database.Store
174-
data*Loader
179+
data*loader
175180
templateFS fs.FS
176181

177182
ownerErrorsmap[uuid.UUID]error

‎coderd/dynamicparameters/static.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type staticRender struct {
2020
staticParams []previewtypes.Parameter
2121
}
2222

23-
func (r*Loader)staticRender(ctx context.Context,db database.Store) (*staticRender,error) {
23+
func (r*loader)staticRender(ctx context.Context,db database.Store) (*staticRender,error) {
2424
dbTemplateVersionParameters,err:=db.GetTemplateVersionParameters(ctx,r.templateVersionID)
2525
iferr!=nil {
2626
returnnil,xerrors.Errorf("template version parameters: %w",err)

‎coderd/parameters.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ func (api *API) templateVersionDynamicParameters(listen bool, initial codersdk.D
7979
ctx:=r.Context()
8080
templateVersion:=httpmw.TemplateVersionParam(r)
8181

82-
renderer,err:=dynamicparameters.Prepare(templateVersion.ID).
83-
WithTemplateVersion(templateVersion).
84-
Renderer(ctx,api.Database,api.FileCache)
82+
renderer,err:=dynamicparameters.Prepare(ctx,api.Database,api.FileCache,templateVersion.ID,
83+
dynamicparameters.WithTemplateVersion(templateVersion),
84+
)
8585
iferr!=nil {
8686
ifhttpapi.Is404Error(err) {
8787
httpapi.ResourceNotFound(rw)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp