"""权限服务接口。""" from abc import ABC, abstractmethod class IPermissionService(ABC): """权限检查服务接口。 权限格式:module:resource:action(如 document:list:read) 支持通配符:document:*:*、*:*:* 等 支持 GRANT/DENY 机制(DENY 优先级更高) """ @abstractmethod async def CheckPermission(self, UserId: int, PermissionKey: str) -> bool: """检查用户是否拥有指定权限。""" ... @abstractmethod async def HasAnyPermission(self, UserId: int, PermissionKeys: list[str]) -> bool: """检查用户是否拥有任意一个权限(OR 逻辑)。""" ... @abstractmethod async def HasAllPermissions(self, UserId: int, PermissionKeys: list[str]) -> bool: """检查用户是否拥有所有权限(AND 逻辑)。""" ...