mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-13 22:56:28 +00:00

* 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
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { type PerConstructPros, Permission } from '../controller';
|
|
import {
|
|
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;
|
|
|
|
constructor(props?: PerConstructPros) {
|
|
if (!props) {
|
|
props = {
|
|
role: TeamDefaultRoleVal
|
|
};
|
|
} else if (!props?.role) {
|
|
props.role = TeamDefaultRoleVal;
|
|
}
|
|
props.roleList = TeamRoleList;
|
|
props.rolePerMap = TeamRolePerMap;
|
|
props.perList = TeamPerList;
|
|
super(props);
|
|
|
|
this.setUpdatePermissionCallback(() => {
|
|
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);
|
|
});
|
|
}
|
|
}
|