Skip to content

Commit d650664

Browse files
committed
fulfill interfaces
1 parent f3658e9 commit d650664

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3316,7 +3316,17 @@ func (q *querier) UpsertTailnetTunnel(ctx context.Context, arg database.UpsertTa
33163316
}
33173317

33183318
func (q *querier) UpsertWorkspaceAgentPortShare(ctx context.Context, arg database.UpsertWorkspaceAgentPortShareParams) (database.WorkspaceAgentPortShare, error) {
3319-
panic("not implemented")
3319+
workspace, err := q.db.GetWorkspaceByID(ctx, arg.WorkspaceID)
3320+
if err != nil {
3321+
return database.WorkspaceAgentPortShare{}, err
3322+
}
3323+
3324+
err = q.authorizeContext(ctx, rbac.ActionUpdate, workspace)
3325+
if err != nil {
3326+
return database.WorkspaceAgentPortShare{}, err
3327+
}
3328+
3329+
return q.db.UpsertWorkspaceAgentPortShare(ctx, arg)
33203330
}
33213331

33223332
func (q *querier) GetAuthorizedTemplates(ctx context.Context, arg database.GetTemplatesWithFilterParams, _ rbac.PreparedAuthorized) ([]database.Template, error) {

coderd/database/dbmem/dbmem.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7568,7 +7568,23 @@ func (q *FakeQuerier) UpsertWorkspaceAgentPortShare(ctx context.Context, arg dat
75687568
return database.WorkspaceAgentPortShare{}, err
75697569
}
75707570

7571-
panic("not implemented")
7571+
q.mutex.Lock()
7572+
defer q.mutex.Unlock()
7573+
7574+
for i, share := range q.workspaceAgentPortShares {
7575+
if share.WorkspaceID == arg.WorkspaceID && share.Port == arg.Port && arg.AgentName == share.AgentName {
7576+
share.Port = arg.Port
7577+
q.workspaceAgentPortShares[i] = share
7578+
return share, nil
7579+
}
7580+
}
7581+
7582+
q.workspaceAgentPortShares = append(q.workspaceAgentPortShares, database.WorkspaceAgentPortShare{
7583+
WorkspaceID: arg.WorkspaceID,
7584+
AgentName: arg.AgentName,
7585+
Port: arg.Port,
7586+
ShareLevel: arg.ShareLevel,
7587+
})
75727588
}
75737589

75747590
func (q *FakeQuerier) GetAuthorizedTemplates(ctx context.Context, arg database.GetTemplatesWithFilterParams, prepared rbac.PreparedAuthorized) ([]database.Template, error) {

0 commit comments

Comments
 (0)