MCPcopy Index your code
hub / github.com/coder/coder / ClaimPrebuiltWorkspace

Method ClaimPrebuiltWorkspace

coderd/database/dbauthz/dbauthz.go:1735–1758  ·  view source on GitHub ↗
(ctx context.Context, arg database.ClaimPrebuiltWorkspaceParams)

Source from the content-addressed store, hash-verified

1733}
1734
1735func (q *querier) ClaimPrebuiltWorkspace(ctx context.Context, arg database.ClaimPrebuiltWorkspaceParams) (database.ClaimPrebuiltWorkspaceRow, error) {
1736 empty := database.ClaimPrebuiltWorkspaceRow{}
1737
1738 preset, err := q.db.GetPresetByID(ctx, arg.PresetID)
1739 if err != nil {
1740 return empty, err
1741 }
1742
1743 workspaceObject := rbac.ResourceWorkspace.WithOwner(arg.NewUserID.String()).InOrg(preset.OrganizationID)
1744 err = q.authorizeContext(ctx, policy.ActionCreate, workspaceObject.RBACObject())
1745 if err != nil {
1746 return empty, err
1747 }
1748
1749 tpl, err := q.GetTemplateByID(ctx, preset.TemplateID.UUID)
1750 if err != nil {
1751 return empty, xerrors.Errorf("verify template by id: %w", err)
1752 }
1753 if err := q.authorizeContext(ctx, policy.ActionUse, tpl); err != nil {
1754 return empty, xerrors.Errorf("use template for workspace: %w", err)
1755 }
1756
1757 return q.db.ClaimPrebuiltWorkspace(ctx, arg)
1758}
1759
1760func (q *querier) CleanTailnetCoordinators(ctx context.Context) error {
1761 if err := q.authorizeContext(ctx, policy.ActionDelete, rbac.ResourceTailnetCoordinator); err != nil {

Callers

nothing calls this directly

Calls 9

authorizeContextMethod · 0.95
GetTemplateByIDMethod · 0.95
InOrgMethod · 0.80
WithOwnerMethod · 0.80
GetPresetByIDMethod · 0.65
RBACObjectMethod · 0.65
StringMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected