Skip to content

Commit f742cd1

Browse files
committed
implement dbmem and dbauthz
1 parent 5f5579e commit f742cd1

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3390,6 +3390,11 @@ func (q *querier) InsertWorkspaceAgent(ctx context.Context, arg database.InsertW
33903390
return q.db.InsertWorkspaceAgent(ctx, arg)
33913391
}
33923392

3393+
func (q *querier) InsertWorkspaceAgentDevcontainers(ctx context.Context, arg database.InsertWorkspaceAgentDevcontainersParams) ([]database.WorkspaceAgentDevcontainer, error) {
3394+
// TODO: This is used by the agent, should we have an rbac check here?
3395+
return q.db.InsertWorkspaceAgentDevcontainers(ctx, arg)
3396+
}
3397+
33933398
func (q *querier) InsertWorkspaceAgentLogSources(ctx context.Context, arg database.InsertWorkspaceAgentLogSourcesParams) ([]database.WorkspaceAgentLogSource, error) {
33943399
// TODO: This is used by the agent, should we have an rbac check here?
33953400
return q.db.InsertWorkspaceAgentLogSources(ctx, arg)

coderd/database/dbmem/dbmem.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ type data struct {
237237
workspaceAgentStats []database.WorkspaceAgentStat
238238
workspaceAgentMemoryResourceMonitors []database.WorkspaceAgentMemoryResourceMonitor
239239
workspaceAgentVolumeResourceMonitors []database.WorkspaceAgentVolumeResourceMonitor
240+
workspaceAgentDevcontainers []database.WorkspaceAgentDevcontainer
240241
workspaceApps []database.WorkspaceApp
241242
workspaceAppAuditSessions []database.WorkspaceAppAuditSession
242243
workspaceAppStatsLastInsertID int64
@@ -9051,6 +9052,35 @@ func (q *FakeQuerier) InsertWorkspaceAgent(_ context.Context, arg database.Inser
90519052
return agent, nil
90529053
}
90539054

9055+
func (q *FakeQuerier) InsertWorkspaceAgentDevcontainers(_ context.Context, arg database.InsertWorkspaceAgentDevcontainersParams) ([]database.WorkspaceAgentDevcontainer, error) {
9056+
err := validateDatabaseType(arg)
9057+
if err != nil {
9058+
return nil, err
9059+
}
9060+
9061+
q.mutex.Lock()
9062+
defer q.mutex.Unlock()
9063+
9064+
for _, agent := range q.workspaceAgents {
9065+
if agent.ID == arg.WorkspaceAgentID {
9066+
var devcontainers []database.WorkspaceAgentDevcontainer
9067+
for i, id := range arg.ID {
9068+
devcontainers = append(devcontainers, database.WorkspaceAgentDevcontainer{
9069+
WorkspaceAgentID: arg.WorkspaceAgentID,
9070+
CreatedAt: arg.CreatedAt,
9071+
ID: id,
9072+
WorkspaceFolder: arg.WorkspaceFolder[i],
9073+
ConfigPath: arg.ConfigPath[i],
9074+
})
9075+
}
9076+
q.workspaceAgentDevcontainers = append(q.workspaceAgentDevcontainers, devcontainers...)
9077+
return devcontainers, nil
9078+
}
9079+
}
9080+
9081+
return nil, errForeignKeyConstraint
9082+
}
9083+
90549084
func (q *FakeQuerier) InsertWorkspaceAgentLogSources(_ context.Context, arg database.InsertWorkspaceAgentLogSourcesParams) ([]database.WorkspaceAgentLogSource, error) {
90559085
err := validateDatabaseType(arg)
90569086
if err != nil {

0 commit comments

Comments
 (0)