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

Commitc5b542a

Browse files
committed
chore: add db queries for dynamic parameters
1 parent1360bfe commitc5b542a

File tree

10 files changed

+222
-0
lines changed

10 files changed

+222
-0
lines changed

‎coderd/database/dbauthz/dbauthz.go‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1741,6 +1741,18 @@ func (q *querier) GetFileByID(ctx context.Context, id uuid.UUID) (database.File,
17411741
returnfile,nil
17421742
}
17431743

1744+
func (q*querier)GetFileIDByTemplateVersionID(ctx context.Context,templateVersionID uuid.UUID) (uuid.UUID,error) {
1745+
fileID,err:=q.db.GetFileIDByTemplateVersionID(ctx,templateVersionID)
1746+
iferr!=nil {
1747+
returnuuid.Nil,err
1748+
}
1749+
err=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceFile.WithID(fileID))
1750+
iferr!=nil {
1751+
returnuuid.Nil,err
1752+
}
1753+
returnfileID,nil
1754+
}
1755+
17441756
func (q*querier)GetFileTemplates(ctx context.Context,fileID uuid.UUID) ([]database.GetFileTemplatesRow,error) {
17451757
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceSystem);err!=nil {
17461758
returnnil,err
@@ -2446,6 +2458,29 @@ func (q *querier) GetTemplateVersionParameters(ctx context.Context, templateVers
24462458
returnq.db.GetTemplateVersionParameters(ctx,templateVersionID)
24472459
}
24482460

2461+
func (q*querier)GetTemplateVersionTerraformValues(ctx context.Context,templateVersionID uuid.UUID) (database.TemplateVersionTerraformValue,error) {
2462+
tv,err:=q.db.GetTemplateVersionByID(ctx,templateVersionID)
2463+
iferr!=nil {
2464+
return database.TemplateVersionTerraformValue{},err
2465+
}
2466+
2467+
varobject rbac.Objecter
2468+
template,err:=q.db.GetTemplateByID(ctx,tv.TemplateID.UUID)
2469+
iferr!=nil {
2470+
if!errors.Is(err,sql.ErrNoRows) {
2471+
return database.TemplateVersionTerraformValue{},err
2472+
}
2473+
object=rbac.ResourceTemplate.InOrg(tv.OrganizationID)
2474+
}else {
2475+
object=tv.RBACObject(template)
2476+
}
2477+
2478+
iferr:=q.authorizeContext(ctx,policy.ActionRead,object);err!=nil {
2479+
return database.TemplateVersionTerraformValue{},err
2480+
}
2481+
returnq.db.GetTemplateVersionTerraformValues(ctx,templateVersionID)
2482+
}
2483+
24492484
func (q*querier)GetTemplateVersionVariables(ctx context.Context,templateVersionID uuid.UUID) ([]database.TemplateVersionVariable,error) {
24502485
tv,err:=q.db.GetTemplateVersionByID(ctx,templateVersionID)
24512486
iferr!=nil {

‎coderd/database/dbauthz/dbauthz_test.go‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,15 @@ func (s *MethodTestSuite) TestFile() {
342342
f:=dbgen.File(s.T(),db, database.File{})
343343
check.Args(f.ID).Asserts(f,policy.ActionRead).Returns(f)
344344
}))
345+
s.Run("GetFileIDByTemplateVersionID",s.Subtest(func(db database.Store,check*expects) {
346+
o:=dbgen.Organization(s.T(),db, database.Organization{})
347+
u:=dbgen.User(s.T(),db, database.User{})
348+
_=dbgen.OrganizationMember(s.T(),db, database.OrganizationMember{OrganizationID:o.ID,UserID:u.ID})
349+
f:=dbgen.File(s.T(),db, database.File{CreatedBy:u.ID})
350+
j:=dbgen.ProvisionerJob(s.T(),db,nil, database.ProvisionerJob{StorageMethod:database.ProvisionerStorageMethodFile,FileID:f.ID})
351+
tv:=dbgen.TemplateVersion(s.T(),db, database.TemplateVersion{OrganizationID:o.ID,JobID:j.ID,CreatedBy:u.ID})
352+
check.Args(tv.ID).Asserts(rbac.ResourceFile.WithID(f.ID),policy.ActionRead).Returns(f.ID)
353+
}))
345354
s.Run("InsertFile",s.Subtest(func(db database.Store,check*expects) {
346355
u:=dbgen.User(s.T(),db, database.User{})
347356
check.Args(database.InsertFileParams{
@@ -1196,6 +1205,23 @@ func (s *MethodTestSuite) TestTemplate() {
11961205
})
11971206
check.Args(tv.ID).Asserts(t1,policy.ActionRead).Returns([]database.TemplateVersionParameter{})
11981207
}))
1208+
s.Run("GetTemplateVersionTerraformValues",s.Subtest(func(db database.Store,check*expects) {
1209+
o:=dbgen.Organization(s.T(),db, database.Organization{})
1210+
u:=dbgen.User(s.T(),db, database.User{})
1211+
_=dbgen.OrganizationMember(s.T(),db, database.OrganizationMember{OrganizationID:o.ID,UserID:u.ID})
1212+
t:=dbgen.Template(s.T(),db, database.Template{OrganizationID:o.ID,CreatedBy:u.ID})
1213+
job:=dbgen.ProvisionerJob(s.T(),db,nil, database.ProvisionerJob{OrganizationID:o.ID})
1214+
tv:=dbgen.TemplateVersion(s.T(),db, database.TemplateVersion{
1215+
OrganizationID:o.ID,
1216+
CreatedBy:u.ID,
1217+
JobID:job.ID,
1218+
TemplateID: uuid.NullUUID{UUID:t.ID,Valid:true},
1219+
})
1220+
dbgen.TemplateVersionTerraformValues(s.T(),db, database.InsertTemplateVersionTerraformValuesByJobIDParams{
1221+
JobID:job.ID,
1222+
})
1223+
check.Args(tv.ID).Asserts(t,policy.ActionRead)
1224+
}))
11991225
s.Run("GetTemplateVersionVariables",s.Subtest(func(db database.Store,check*expects) {
12001226
dbtestutil.DisableForeignKeysAndTriggers(s.T(),db)
12011227
t1:=dbgen.Template(s.T(),db, database.Template{})

‎coderd/database/dbgen/dbgen.go‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,19 @@ func TemplateVersionParameter(t testing.TB, db database.Store, orig database.Tem
971971
returnversion
972972
}
973973

974+
funcTemplateVersionTerraformValues(t testing.TB,db database.Store,orig database.InsertTemplateVersionTerraformValuesByJobIDParams) {
975+
t.Helper()
976+
977+
params:= database.InsertTemplateVersionTerraformValuesByJobIDParams{
978+
JobID:takeFirst(orig.JobID,uuid.New()),
979+
CachedPlan:takeFirstSlice(orig.CachedPlan, []byte("{}")),
980+
UpdatedAt:takeFirst(orig.UpdatedAt,dbtime.Now()),
981+
}
982+
983+
err:=db.InsertTemplateVersionTerraformValuesByJobID(genCtx,params)
984+
require.NoError(t,err,"insert template version parameter")
985+
}
986+
974987
funcWorkspaceAgentStat(t testing.TB,db database.Store,orig database.WorkspaceAgentStat) database.WorkspaceAgentStat {
975988
iforig.ConnectionsByProto==nil {
976989
orig.ConnectionsByProto=json.RawMessage([]byte("{}"))

‎coderd/database/dbmem/dbmem.go‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3326,6 +3326,30 @@ func (q *FakeQuerier) GetFileByID(_ context.Context, id uuid.UUID) (database.Fil
33263326
return database.File{},sql.ErrNoRows
33273327
}
33283328

3329+
func (q*FakeQuerier)GetFileIDByTemplateVersionID(ctx context.Context,templateVersionID uuid.UUID) (uuid.UUID,error) {
3330+
q.mutex.RLock()
3331+
deferq.mutex.RUnlock()
3332+
3333+
for_,v:=rangeq.templateVersions {
3334+
ifv.ID==templateVersionID {
3335+
jobID:=v.JobID
3336+
for_,j:=rangeq.provisionerJobs {
3337+
ifj.ID==jobID {
3338+
ifj.StorageMethod==database.ProvisionerStorageMethodFile {
3339+
returnj.FileID,nil
3340+
}
3341+
// We found the right job id but it wasn't a proper match.
3342+
break
3343+
}
3344+
}
3345+
// We found the right template version but it wasn't a proper match.
3346+
break
3347+
}
3348+
}
3349+
3350+
returnuuid.Nil,sql.ErrNoRows
3351+
}
3352+
33293353
func (q*FakeQuerier)GetFileTemplates(_ context.Context,id uuid.UUID) ([]database.GetFileTemplatesRow,error) {
33303354
q.mutex.RLock()
33313355
deferq.mutex.RUnlock()
@@ -5991,6 +6015,19 @@ func (q *FakeQuerier) GetTemplateVersionParameters(_ context.Context, templateVe
59916015
returnparameters,nil
59926016
}
59936017

6018+
func (q*FakeQuerier)GetTemplateVersionTerraformValues(ctx context.Context,templateVersionID uuid.UUID) (database.TemplateVersionTerraformValue,error) {
6019+
q.mutex.RLock()
6020+
deferq.mutex.RUnlock()
6021+
6022+
for_,tvtv:=rangeq.templateVersionTerraformValues {
6023+
iftvtv.TemplateVersionID==templateVersionID {
6024+
returntvtv,nil
6025+
}
6026+
}
6027+
6028+
return database.TemplateVersionTerraformValue{},sql.ErrNoRows
6029+
}
6030+
59946031
func (q*FakeQuerier)GetTemplateVersionVariables(_ context.Context,templateVersionID uuid.UUID) ([]database.TemplateVersionVariable,error) {
59956032
q.mutex.RLock()
59966033
deferq.mutex.RUnlock()

‎coderd/database/dbmetrics/querymetrics.go‎

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

‎coderd/database/dbmock/dbmock.go‎

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

‎coderd/database/querier.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: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries/files.sql‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,23 @@ WHERE
88
LIMIT
99
1;
1010

11+
-- name: GetFileIDByTemplateVersionID :one
12+
SELECT
13+
files.id
14+
FROM
15+
files
16+
JOIN
17+
provisioner_jobsON
18+
provisioner_jobs.storage_method='file'
19+
ANDprovisioner_jobs.file_id=files.id
20+
JOIN
21+
template_versionsONtemplate_versions.job_id=provisioner_jobs.id
22+
WHERE
23+
template_versions.id= @template_version_id
24+
LIMIT
25+
1;
26+
27+
1128
-- name: GetFileByHashAndCreator :one
1229
SELECT
1330
*

‎coderd/database/queries/templateversionterraformvalues.sql‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
-- name: GetTemplateVersionTerraformValues :one
2+
SELECT
3+
template_version_terraform_values.*
4+
FROM
5+
template_version_terraform_values
6+
WHERE
7+
template_version_terraform_values.template_version_id= @template_version_id;
8+
19
-- name: InsertTemplateVersionTerraformValuesByJobID :exec
210
INSERT INTO
311
template_version_terraform_values (

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp