права фикс
This commit is contained in:
@@ -164,6 +164,21 @@ class Usecase:
|
||||
|
||||
return domain.build_workspace_permission_context(membership)
|
||||
|
||||
async def ensure_analytics_permission(
|
||||
self, workspace_id: UUID, user_id: UUID, *, for_project_id: UUID | None = None
|
||||
) -> domain.WorkspacePermissionContext:
|
||||
"""Ensure user has any analytics permission."""
|
||||
membership = await self.database.get_workspace_membership(workspace_id, user_id)
|
||||
if not membership or not membership.workspace:
|
||||
raise domain.WorkspaceNotFound(workspace_id)
|
||||
|
||||
permissions = domain.WorkspacePermissions.from_membership(membership)
|
||||
|
||||
if not permissions.has_any_analytics_permission():
|
||||
raise domain.WorkspaceAccessDenied(workspace_id)
|
||||
|
||||
return domain.build_workspace_permission_context(membership)
|
||||
|
||||
async def get_or_create_personal_workspace(self, user: domain.User) -> domain.Workspace:
|
||||
workspace = await self.database.get_default_workspace_for_user(user.id)
|
||||
if workspace:
|
||||
|
||||
Reference in New Issue
Block a user