import { IStatus } from '@/common/types'; import Api from './Api'; export interface IStatusCirculation { code: string; defaultStatus: boolean; id: string; name: string; nodeId: string; stateMachineId: string; hasIssue: boolean; type: IStatus['valueCode']; canTransformStatus: string[]; default?: boolean; [propName: string]: any; } export interface IUpdateTransform { startNodeId: string; endNodeId: string; startStatusName: string; endStatusName: string; select: boolean; } export interface IStatusCreate { name: string; type: IStatus['valueCode']; defaultStatus: boolean; transferAll: boolean; completed: boolean; } export interface IStatusCreateLink { issueTypeId: string; statusId: string; defaultStatus: boolean; transferAll?: boolean; } export interface ICondition { type: 'specifier' | 'projectOwner' | 'other' | 'participant'; userIds?: string[]; verifySubissueCompleted?: boolean; } export interface IUpdateNotifySetting { issueTypeId: string; projectId: number; statusId: string; userTypeList: string[]; noticeTypeList: string[]; userIdList: string[]; objectVersionNumber: number; } export interface IStatusTransform { issueTypeId: string; statusId: string; } export interface ITotalStatus { code: string; description: string | null; id: string; name: string; type: IStatus['valueCode']; usage: string | null; } export interface IUpdateData { fieldId: string; fieldValueList: object[]; } export interface ILinkage { parentIssueTypeCode: 'story' | 'task' | 'bug'; parentIssueStatusSetting: string; } export interface IFeatureLinkage { issueTypeId: string; statusId: string; projectId: string; } export interface ILinkIssueData { linkTypeId: string; linkIssueTypeId: string; linkIssueStatusId: string; } declare class StatusTransformApi extends Api { get prefix(): string; get orgPrefix(): string; loadList(issueTypeId: string, applyType?: 'program' | 'agile'): Promise; orgLoadList(issueTypeId: string): Promise; setDefaultStatus(issueTypeId: string, statusId: string, stateMachineId: string): any; orgSetDefaultStatus(issueTypeId: string, statusId: string, stateMachineId: string): any; batchUpdate(issueTypeId: string, nodes: IUpdateTransform[]): any; orgBatchUpdate(issueTypeId: string, nodes: IUpdateTransform[]): any; listStatus(page: number, size: number): any; checkStatusName(name: string): any; orgCheckStatusName(name: string): any; createStatus(issueTypeIds: string[], status: IStatusCreate): any; orgCreateStatus(issueTypeIds: string[], status: IStatusCreate): any; linkStatus(statusLink: IStatusCreateLink): any; orgLinkStatus(statusLink: IStatusCreateLink): any; checkStatusDelete(statusId: string): any; deleteStatus(statusId?: string): any; deleteStatusByIssueType(issueTypeId: string, nodeId: string): any; orgDeleteStatusByIssueType(issueTypeId: string, nodeId: string): any; /** * 获取自定义状态流转列表 * @param issueTypeId * @param page * @param size */ getCustomCirculationList(issueTypeId: string, param: string, page?: number, size?: number, schemeCode?: string): any; /** * 获取流转条件 */ getCondition(issueTypeId: string, statusId: string): any; /** * 更新状态流转条件 * @param issueTypeId * @param statusId * @param objectVersionNumber */ updateCondition(issueTypeId: string, statusId: string, objectVersionNumber: number, data: ICondition[]): any; orgUpdateCondition(issueTypeId: string, statusId: string, objectVersionNumber: number, data: ICondition[]): any; /** * 获取状态联动设置 * @param issueTypeId * @param statusId */ getLinkage(issueTypeId: string, statusId: string): any; /** * 更新状态联动 * @param issueTypeId * @param statusId * @param objectVersionNumber * @param data */ updateLinkage(issueTypeId: string, statusId: string, objectVersionNumber: number, data: ILinkage[]): any; orgUpdateLinkage(issueTypeId: string, statusId: string, objectVersionNumber: number, data: ILinkage[]): any; /** * 获取特性状态联动设置 * @param issueTypeId * @param statusId */ getFeatureLinkage(statusId: string, issueTypeId: string): any; /** * 创建更新特性的状态联动 * @param typeCode * @param statusId * @param data */ updateFeatureLinkage(statusId: string, data: IFeatureLinkage[], parentIssueTypeId: string): any; /** * 获取设置特性状态联动时可设置的状态 * @param data */ getFeatureLinkageStatus(data: { issueTypeId: string; projectId: string; }, parentIssueTypeId: string): any; getCustomMember(issueTypeId: string, extraOptions?: { code: string; name: string; }[], schemeCode?: string): any; orgGetCustomMember(issueTypeId: string, extraOptions?: { code: string; name: string; }[], schemeCode?: string): any; /** * 获取通知设置 * @param issueTypeId * @param statusId */ getNotifySetting(issueTypeId: string, statusId: string): any; orgGetNotifySetting(issueTypeId: string, statusId: string): any; updateNotifySetting(data: IUpdateNotifySetting): any; orgUpdateNotifySetting(data: IUpdateNotifySetting): any; /** * 获取更新属性信息 * @param issueTypeId * @param statusId */ getUpdateFieldInfo(issueTypeId: string, statusId: string): any; /** * 更新属性 * @param issueTypeId * @param statusId * @param objectVersionNumber * @param updateData */ updateField(issueTypeId: string, statusId: string, objectVersionNumber: number, updateData: IUpdateData[]): any; orgUpdateField(issueTypeId: string, statusId: string, objectVersionNumber: number, updateData: IUpdateData[]): any; sortStatus(statusMachineId: string, data: { outSetId: string; before: boolean; nodeId: string; }): any; orgSortStatus(statusMachineId: string, data: { outSetId: string; before: boolean; nodeId: string; }): any; hasTemplate(issueTypeId: string): any; initTemplate(issueTypeId: string): any; getAutoTransform(issueTypeId: string, statusId: string): any; updateAutoTransform(issueTypeId: string, statusId: string, autoTransform: boolean): any; getStatus(statusId: string): any; updateStatus(statusId: string, data: any): any; /** * 获取关联工作项状态联动设置 * @param issueTypeId * @param statusId */ getLinkIssueLinkage(issueTypeId: string, statusId: string): any; getLinkageStatus(data: { issueTypeId: string; linkIssueTypeId: string; linkTypeId: string; statusId: string; }): any; updateLinkIssueLinkage(issueTypeId: string, statusId: string, data: ILinkIssueData): any; getLogList(params: { page: number; size: number; }, data: { statusCode?: 'LOOP' | 'SUCCESS'; params?: string; }): any; } declare const statusTransformApi: StatusTransformApi; declare const statusTransformApiConfig: StatusTransformApi; export { statusTransformApi, statusTransformApiConfig };