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

Commitab1f079

Browse files
committed
dbmem
1 parente2afd43 commitab1f079

File tree

3 files changed

+80
-5
lines changed

3 files changed

+80
-5
lines changed

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1787,7 +1787,26 @@ func (q *querier) GetTemplateVersionVariables(ctx context.Context, templateVersi
17871787
}
17881788

17891789
func (q*querier)GetTemplateVersionWorkspaceTags(ctx context.Context,templateVersionID uuid.UUID) ([]database.TemplateVersionWorkspaceTag,error) {
1790-
panic("not implemented")
1790+
tv,err:=q.db.GetTemplateVersionByID(ctx,templateVersionID)
1791+
iferr!=nil {
1792+
returnnil,err
1793+
}
1794+
1795+
varobject rbac.Objecter
1796+
template,err:=q.db.GetTemplateByID(ctx,tv.TemplateID.UUID)
1797+
iferr!=nil {
1798+
if!errors.Is(err,sql.ErrNoRows) {
1799+
returnnil,err
1800+
}
1801+
object=rbac.ResourceTemplate.InOrg(tv.OrganizationID)
1802+
}else {
1803+
object=tv.RBACObject(template)
1804+
}
1805+
1806+
iferr:=q.authorizeContext(ctx,rbac.ActionRead,object);err!=nil {
1807+
returnnil,err
1808+
}
1809+
returnq.db.GetTemplateVersionWorkspaceTags(ctx,templateVersionID)
17911810
}
17921811

17931812
// GetTemplateVersionsByIDs is only used for workspace build data.
@@ -2512,7 +2531,10 @@ func (q *querier) InsertTemplateVersionVariable(ctx context.Context, arg databas
25122531
}
25132532

25142533
func (q*querier)InsertTemplateVersionWorkspaceTag(ctx context.Context,arg database.InsertTemplateVersionWorkspaceTagParams) (database.TemplateVersionWorkspaceTag,error) {
2515-
panic("not implemented")
2534+
iferr:=q.authorizeContext(ctx,rbac.ActionCreate,rbac.ResourceSystem);err!=nil {
2535+
return database.TemplateVersionWorkspaceTag{},err
2536+
}
2537+
returnq.db.InsertTemplateVersionWorkspaceTag(ctx,arg)
25162538
}
25172539

25182540
func (q*querier)InsertUser(ctx context.Context,arg database.InsertUserParams) (database.User,error) {

‎coderd/database/dbmem/dbmem.go

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ type data struct {
163163
templateVersions []database.TemplateVersionTable
164164
templateVersionParameters []database.TemplateVersionParameter
165165
templateVersionVariables []database.TemplateVersionVariable
166+
templateVersionWorkspaceTags []database.TemplateVersionWorkspaceTag
166167
templates []database.TemplateTable
167168
templateUsageStats []database.TemplateUsageStat
168169
workspaceAgents []database.WorkspaceAgent
@@ -4178,7 +4179,17 @@ func (q *FakeQuerier) GetTemplateVersionVariables(_ context.Context, templateVer
41784179
}
41794180

41804181
func (q*FakeQuerier)GetTemplateVersionWorkspaceTags(ctx context.Context,templateVersionID uuid.UUID) ([]database.TemplateVersionWorkspaceTag,error) {
4181-
panic("not implemented")
4182+
q.mutex.RLock()
4183+
deferq.mutex.RUnlock()
4184+
4185+
workspaceTags:=make([]database.TemplateVersionWorkspaceTag,0)
4186+
for_,workspaceTag:=rangeq.templateVersionWorkspaceTags {
4187+
ifworkspaceTag.TemplateVersionID!=templateVersionID {
4188+
continue
4189+
}
4190+
workspaceTags=append(workspaceTags,workspaceTag)
4191+
}
4192+
returnworkspaceTags,nil
41824193
}
41834194

41844195
func (q*FakeQuerier)GetTemplateVersionsByIDs(_ context.Context,ids []uuid.UUID) ([]database.TemplateVersion,error) {
@@ -6356,13 +6367,23 @@ func (q *FakeQuerier) InsertTemplateVersionVariable(_ context.Context, arg datab
63566367
returnvariable,nil
63576368
}
63586369

6359-
func (q*FakeQuerier)InsertTemplateVersionWorkspaceTag(ctx context.Context,arg database.InsertTemplateVersionWorkspaceTagParams) (database.TemplateVersionWorkspaceTag,error) {
6370+
func (q*FakeQuerier)InsertTemplateVersionWorkspaceTag(_ context.Context,arg database.InsertTemplateVersionWorkspaceTagParams) (database.TemplateVersionWorkspaceTag,error) {
63606371
err:=validateDatabaseType(arg)
63616372
iferr!=nil {
63626373
return database.TemplateVersionWorkspaceTag{},err
63636374
}
63646375

6365-
panic("not implemented")
6376+
q.mutex.Lock()
6377+
deferq.mutex.Unlock()
6378+
6379+
//nolint:gosimple
6380+
workspaceTag:= database.TemplateVersionWorkspaceTag{
6381+
TemplateVersionID:arg.TemplateVersionID,
6382+
Key:arg.Key,
6383+
Value:arg.Value,
6384+
}
6385+
q.templateVersionWorkspaceTags=append(q.templateVersionWorkspaceTags,workspaceTag)
6386+
returnworkspaceTag,nil
63666387
}
63676388

63686389
func (q*FakeQuerier)InsertUser(_ context.Context,arg database.InsertUserParams) (database.User,error) {

‎coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,38 @@ func TestUpdateJob(t *testing.T) {
750750
require.Equal(t,templateVariables[1].Value,"")
751751
})
752752
})
753+
754+
t.Run("WorkspaceTags",func(t*testing.T) {
755+
t.Parallel()
756+
757+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
758+
defercancel()
759+
760+
srv,db,_,pd:=setup(t,false,&overrides{})
761+
job:=setupJob(t,db,pd.ID)
762+
versionID:=uuid.New()
763+
err:=db.InsertTemplateVersion(ctx, database.InsertTemplateVersionParams{
764+
ID:versionID,
765+
JobID:job,
766+
})
767+
require.NoError(t,err)
768+
_,err=srv.UpdateJob(ctx,&proto.UpdateJobRequest{
769+
JobId:job.String(),
770+
WorkspaceTags:map[string]string{
771+
"bird":"tweety",
772+
"cat":"jinx",
773+
},
774+
})
775+
require.NoError(t,err)
776+
777+
workspaceTags,err:=db.GetTemplateVersionWorkspaceTags(ctx,versionID)
778+
require.NoError(t,err)
779+
require.Len(t,workspaceTags,2)
780+
require.Equal(t,workspaceTags[0].Key,"bird")
781+
require.Equal(t,workspaceTags[0].Value,"tweety")
782+
require.Equal(t,workspaceTags[1].Key,"cat")
783+
require.Equal(t,workspaceTags[1].Value,"jinx")
784+
})
753785
}
754786

755787
funcTestFailJob(t*testing.T) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp