feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
@@ -35,11 +35,12 @@ class IEvaluationPointGroupService(ABC):
Pid: int | None,
Page: int,
PageSize: int,
CurrentUserId: int,
) -> EvaluationPointGroupListVO:
...
@abstractmethod
async def ListAllGroups(self, IncludeDisabled: bool, WithRuleCount: bool) -> list[EvaluationPointGroupVO]:
async def ListAllGroups(self, IncludeDisabled: bool, WithRuleCount: bool, CurrentUserId: int) -> list[EvaluationPointGroupVO]:
...
@abstractmethod
@@ -48,57 +49,58 @@ class IEvaluationPointGroupService(ABC):
DocumentTypeIds: list[int],
IncludeDisabled: bool,
WithRuleCount: bool,
CurrentUserId: int,
) -> list[EvaluationPointGroupVO]:
...
@abstractmethod
async def GetGroup(self, GroupId: int, WithRuleCount: bool) -> EvaluationPointGroupVO:
async def GetGroup(self, GroupId: int, WithRuleCount: bool, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def GetChildren(self, GroupId: int, IsEnabled: bool | None, Page: int, PageSize: int) -> EvaluationPointGroupListVO:
async def GetChildren(self, GroupId: int, IsEnabled: bool | None, Page: int, PageSize: int, CurrentUserId: int) -> EvaluationPointGroupListVO:
...
@abstractmethod
async def CreateGroup(self, Body: EvaluationPointGroupCreateDTO) -> EvaluationPointGroupVO:
async def CreateGroup(self, Body: EvaluationPointGroupCreateDTO, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def UpdateGroup(self, GroupId: int, Body: EvaluationPointGroupUpdateDTO) -> EvaluationPointGroupVO:
async def UpdateGroup(self, GroupId: int, Body: EvaluationPointGroupUpdateDTO, CurrentUserId: int) -> EvaluationPointGroupVO:
...
@abstractmethod
async def DeleteGroup(self, GroupId: int) -> EvaluationPointGroupDeleteVO:
async def DeleteGroup(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupDeleteVO:
...
@abstractmethod
async def RebindGroup(self, GroupId: int, Body: EvaluationPointGroupRebindDTO) -> EvaluationPointGroupRebindVO:
async def RebindGroup(self, GroupId: int, Body: EvaluationPointGroupRebindDTO, CurrentUserId: int) -> EvaluationPointGroupRebindVO:
...
@abstractmethod
async def BatchUpdateStatus(self, Body: EvaluationPointGroupBatchStatusDTO) -> EvaluationPointGroupBatchStatusVO:
async def BatchUpdateStatus(self, Body: EvaluationPointGroupBatchStatusDTO, CurrentUserId: int) -> EvaluationPointGroupBatchStatusVO:
...
@abstractmethod
async def BatchDelete(self, Body: EvaluationPointGroupBatchDeleteDTO) -> EvaluationPointGroupBatchDeleteVO:
async def BatchDelete(self, Body: EvaluationPointGroupBatchDeleteDTO, CurrentUserId: int) -> EvaluationPointGroupBatchDeleteVO:
...
@abstractmethod
async def CreateBinding(self, GroupId: int, Body: EvaluationPointGroupBindingCreateDTO) -> RuleGroupBindingVO:
async def CreateBinding(self, GroupId: int, Body: EvaluationPointGroupBindingCreateDTO, CurrentUserId: int) -> RuleGroupBindingVO:
...
@abstractmethod
async def UpdateBinding(self, BindingId: int, Body: EvaluationPointGroupBindingUpdateDTO) -> RuleGroupBindingVO:
async def UpdateBinding(self, BindingId: int, Body: EvaluationPointGroupBindingUpdateDTO, CurrentUserId: int) -> RuleGroupBindingVO:
...
@abstractmethod
async def DeleteBinding(self, BindingId: int) -> None:
async def DeleteBinding(self, BindingId: int, CurrentUserId: int) -> None:
...
@abstractmethod
async def GetRuleTemplate(self, GroupId: int) -> EvaluationPointGroupRuleTemplateVO:
async def GetRuleTemplate(self, GroupId: int, CurrentUserId: int) -> EvaluationPointGroupRuleTemplateVO:
...
@abstractmethod
async def CreateRuleDraft(self, GroupId: int, Body: EvaluationPointGroupRuleDraftCreateDTO) -> EvaluationPointGroupRuleDraftVO:
async def CreateRuleDraft(self, GroupId: int, Body: EvaluationPointGroupRuleDraftCreateDTO, CurrentUserId: int) -> EvaluationPointGroupRuleDraftVO:
...