refactor: permission role & app read chat log permission (#5416)

* refactor: permission role

* refactor: permission type

* fix: permission manage

* fix: group owner cannot be deleted

* chore: common per map

* chore: openapi

* chore: rename

* fix: type error

* chore: app chat log permission

* chore: add initv4112
This commit is contained in:
Finley Ge
2025-08-11 10:51:44 +08:00
committed by GitHub
parent 29edf1ea5f
commit 57e1ef1176
52 changed files with 730 additions and 402 deletions

View File

@@ -1,13 +1,18 @@
import { type PerConstructPros, Permission } from '../controller';
import {
TeamApikeyCreatePermissionVal,
TeamAppCreatePermissionVal,
TeamDatasetCreatePermissionVal,
TeamDefaultPermissionVal,
TeamPermissionList
TeamApikeyCreateRoleVal,
TeamAppCreateRoleVal,
TeamDatasetCreateRoleVal,
TeamDefaultRoleVal,
TeamPerList,
TeamRoleList,
TeamRolePerMap
} from './constant';
export class TeamPermission extends Permission {
hasAppCreateRole: boolean = false;
hasDatasetCreateRole: boolean = false;
hasApikeyCreateRole: boolean = false;
hasAppCreatePer: boolean = false;
hasDatasetCreatePer: boolean = false;
hasApikeyCreatePer: boolean = false;
@@ -15,18 +20,23 @@ export class TeamPermission extends Permission {
constructor(props?: PerConstructPros) {
if (!props) {
props = {
per: TeamDefaultPermissionVal
role: TeamDefaultRoleVal
};
} else if (!props?.per) {
props.per = TeamDefaultPermissionVal;
} else if (!props?.role) {
props.role = TeamDefaultRoleVal;
}
props.permissionList = TeamPermissionList;
props.roleList = TeamRoleList;
props.rolePerMap = TeamRolePerMap;
props.perList = TeamPerList;
super(props);
this.setUpdatePermissionCallback(() => {
this.hasAppCreatePer = this.checkPer(TeamAppCreatePermissionVal);
this.hasDatasetCreatePer = this.checkPer(TeamDatasetCreatePermissionVal);
this.hasApikeyCreatePer = this.checkPer(TeamApikeyCreatePermissionVal);
this.hasAppCreateRole = this.checkRole(TeamAppCreateRoleVal);
this.hasDatasetCreateRole = this.checkRole(TeamDatasetCreateRoleVal);
this.hasApikeyCreateRole = this.checkRole(TeamApikeyCreateRoleVal);
this.hasAppCreatePer = this.checkPer(TeamAppCreateRoleVal);
this.hasDatasetCreatePer = this.checkPer(TeamDatasetCreateRoleVal);
this.hasApikeyCreatePer = this.checkPer(TeamApikeyCreateRoleVal);
});
}
}