chore: change max share level on existing port shares (#12411)

This commit is contained in:
Garrett Delfosse
2024-03-05 13:47:01 -05:00
committed by GitHub
parent 5106d9fc47
commit 61bd341a36
10 changed files with 246 additions and 1 deletions

View File

@ -1455,6 +1455,30 @@ func (q *FakeQuerier) DeleteWorkspaceAgentPortShare(_ context.Context, arg datab
return nil
}
func (q *FakeQuerier) DeleteWorkspaceAgentPortSharesByTemplate(_ context.Context, templateID uuid.UUID) error {
err := validateDatabaseType(templateID)
if err != nil {
return err
}
q.mutex.Lock()
defer q.mutex.Unlock()
for _, workspace := range q.workspaces {
if workspace.TemplateID != templateID {
continue
}
for i, share := range q.workspaceAgentPortShares {
if share.WorkspaceID != workspace.ID {
continue
}
q.workspaceAgentPortShares = append(q.workspaceAgentPortShares[:i], q.workspaceAgentPortShares[i+1:]...)
}
}
return nil
}
func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error {
err := validateDatabaseType(arg)
if err != nil {
@ -6339,6 +6363,33 @@ func (q *FakeQuerier) ListWorkspaceAgentPortShares(_ context.Context, workspaceI
return shares, nil
}
func (q *FakeQuerier) ReduceWorkspaceAgentShareLevelToAuthenticatedByTemplate(_ context.Context, templateID uuid.UUID) error {
err := validateDatabaseType(templateID)
if err != nil {
return err
}
q.mutex.Lock()
defer q.mutex.Unlock()
for _, workspace := range q.workspaces {
if workspace.TemplateID != templateID {
continue
}
for i, share := range q.workspaceAgentPortShares {
if share.WorkspaceID != workspace.ID {
continue
}
if share.ShareLevel == database.AppSharingLevelPublic {
share.ShareLevel = database.AppSharingLevelAuthenticated
}
q.workspaceAgentPortShares[i] = share
}
}
return nil
}
func (q *FakeQuerier) RegisterWorkspaceProxy(_ context.Context, arg database.RegisterWorkspaceProxyParams) (database.WorkspaceProxy, error) {
q.mutex.Lock()
defer q.mutex.Unlock()