Files
xiaoxia-saas/packages/domain/permissions.py
T
CI Bot 11494918eb fix: resolve all workspace removal breakage - stub permissions, quota, ports, adapters
- Remove Workspace from domain/__init__.py exports
- Stub domain/permissions.py (all checks pass)
- Stub domain/quota.py (all checks pass)
- Create missing port stubs: workspace_member_repository, workspace_repository, workspace_invitation_repository
- Create missing adapter stubs: workspace_repository, workspace_invitation_repository
- Create routes/permissions.py stub (require_workspace_member no-op)
- Fix .env Redis URL encoding on production server
2026-06-27 09:16:53 +08:00

75 lines
2.0 KiB
Python

"""
Permissions module - stub implementation.
Workspace concept has been removed. All permission checks pass by default.
"""
from typing import Optional
class WorkspaceMemberRole:
"""Stub enum - workspace concept removed."""
OWNER = "owner"
ADMIN = "admin"
MEMBER = "member"
VIEWER = "viewer"
class PermissionChecker:
"""Stub permission checker - all checks pass since workspace is removed."""
def __init__(self, workspace_member_repository=None):
self.workspace_member_repository = workspace_member_repository
def check_workspace_access(self, workspace_id, user_id):
return True, "owner"
def check_is_owner(self, workspace_id, user_id):
return True
def check_is_admin_or_owner(self, workspace_id, user_id):
return True
def check_can_manage_members(self, workspace_id, user_id):
return True
def check_can_edit_workspace(self, workspace_id, user_id):
return True
def check_can_create_project(self, workspace_id, user_id):
return True
def check_can_edit_project(self, workspace_id, user_id):
return True
def check_can_delete_project(self, workspace_id, user_id):
return True
def check_can_view_workspace(self, workspace_id, user_id):
return True
class Permission:
WORKSPACE_VIEW = "workspace:view"
WORKSPACE_EDIT = "workspace:edit"
WORKSPACE_DELETE = "workspace:delete"
WORKSPACE_MANAGE_SUBSCRIPTION = "workspace:manage_subscription"
MEMBER_VIEW = "member:view"
MEMBER_INVITE = "member:invite"
MEMBER_REMOVE = "member:remove"
MEMBER_UPDATE_ROLE = "member:update_role"
PROJECT_VIEW = "project:view"
PROJECT_CREATE = "project:create"
PROJECT_EDIT = "project:edit"
PROJECT_DELETE = "project:delete"
ASSET_VIEW = "asset:view"
ASSET_UPLOAD = "asset:upload"
ASSET_EDIT = "asset:edit"
ASSET_DELETE = "asset:delete"
ROLE_PERMISSIONS = {}
def has_permission(role, permission):
return True