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

Commitc1902a7

Browse files
committed
Revert "only use 1 function, not a 2 step"
This reverts commit7b80138.
1 parent7b80138 commitc1902a7

File tree

3 files changed

+29
-34
lines changed

3 files changed

+29
-34
lines changed

‎coderd/dynamicparameters/render.go

Lines changed: 25 additions & 30 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,44 +45,39 @@ type loader struct {
4545
terraformValues*database.TemplateVersionTerraformValue
4646
}
4747

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{
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{
5354
templateVersionID:versionID,
5455
}
56+
}
5557

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

60-
returnl.Renderer(ctx,db,cache)
63+
returnr
6164
}
6265

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

71-
funcWithProvisionerJob(job database.ProvisionerJob)func(r*loader) {
72-
returnfunc(r*loader) {
73-
r.job=&job
74-
}
69+
returnr
7570
}
7671

77-
funcWithTerraformValues(values database.TemplateVersionTerraformValue)func(r*loader) {
78-
returnfunc(r*loader) {
79-
ifvalues.TemplateVersionID==r.templateVersionID {
80-
r.terraformValues=&values
81-
}
72+
func (r*Loader)WithTerraformValues(values database.TemplateVersionTerraformValue)*Loader {
73+
ifvalues.TemplateVersionID==r.templateVersionID {
74+
r.terraformValues=&values
8275
}
76+
77+
returnr
8378
}
8479

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

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

177172
typedynamicRendererstruct {
178173
db database.Store
179-
data*loader
174+
data*Loader
180175
templateFS fs.FS
181176

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp