UNPKG

tav-ui

Version:
47 lines (46 loc) 1.8 kB
import { type PermissionApiProps } from './global-config-types'; import { type PermissionQueryContent } from './PermissionQuery/types'; import { type PermissionQueryDataContent } from './PermissionDataQuery/types'; export interface ApiPermissionParams { /** appid,必传不能为空 */ appId: number | string; /** 父code,必传不能为空 */ code: string; /** 子code数组,非必传 */ subCodes?: string[]; /** 文件方案对应的应用id,可以不传,如果不传就取appId */ fileSchemeTargetAppId?: number; } export interface ApiPermissionResponse { appId: number | string; recordkeyName?: string; recordKeyValue?: string; permissionCodes?: string[]; fileTypeCodes?: string[]; } export interface ApiPermissionDataParams extends ApiPermissionParams { /** 父code对应的接口地址,可以如果resource上有参数,则必传,而且必须填充好 */ resource?: string; /** 如数据接口有参数则必传 */ body?: Record<string, any>; /** 数据唯一标识的名称,可以不传,默认为 id */ recordkeyName?: string; } export interface PermissionsContext { id: string; type: string; disabled?: boolean; getPermission: (id: string) => PermissionContext | undefined; addPermission: (permissionItem: PermissionContext) => void; removePermission: (permissionItem: PermissionContext) => void; } export interface PermissionContext { id: string; type: string; disabled?: boolean; permission?: PermissionQueryContent | PermissionQueryDataContent | { apiParams: ApiPermissionParams | ApiPermissionDataParams; apiPermission?: PermissionApiProps['apiPermission']; apiPermissionData?: PermissionApiProps['apiPermissionData']; }; }