import { TaskLinkType, TaskLinkURLType } from '../types/taskService.type'; export interface UpdateTaskApiDTO { name: string; method?: string; url?: string; header?: string; contentType?: string; query?: string[]; jsonBody?: string; formDataBody?: FormDataBody[]; response?: string; } export interface AddTaskApiDTO { name: string; task: string; } export interface CopyTaskApiDTO { name: string; task: string; endpoint: string; } export interface FormDataBody { key: string; type: 'text' | 'file'; isMandatory: boolean; } export interface CreateTaskDTO { project: string; process: string; module: string; subModule?: string; productBacklogItem?: string; repository?: string; name: string; team?: string[]; assignedTo?: string[]; } export interface EditTaskDTO { /** * Project _id */ project?: string; /** * Process _id */ process?: string; /** * Module _id */ module?: string; /** * Sub Module _id */ subModule?: string; /** * Task's name */ name?: string; /** * Members assigned to the task (Member _id) */ repository?: string; assignedTo?: string[]; /** * Team initials. */ team?: string[]; duration?: number; startDate?: string | Date; priority?: number; } export interface EditTaskDtoBulk { /** * Task _id */ taskId?: string; /** * Sub Module _id */ subModuleId?: string; /** * Members assigned to the task (Member _id) */ assignedTo?: string; duration?: number; } export interface UpdateTaskMemberDTO { data: UpdateTaskMemberItem[]; } export interface UpdateTaskMemberItem { task: string; member: string; } export interface EditDescriptionTaskDTO { /** * Stringified version of JSONContent from Editor */ description: string; } export interface EditTaskLinkDTO { /** * The link, also the field to be used for embed. */ link: string; linkType: TaskLinkURLType; type: TaskLinkType; } export interface ReviewTaskDTO { data: ReviewTaskData[]; checklists: ReviewTaskChecklist[]; } export interface ReviewTaskData { checklistId: string; checklistName: string; checklistItemName: string; result: 'Ok' | 'Bug'; content?: string; } export interface ReviewTaskChecklist { checklistName: string; checklistItems: ChecklistItem[]; } export interface ChecklistItem { checklistItemName: string; content?: string; } export interface AddTaskAttachmentFileDTO { file: unknown; type: string; } export interface AddTaskAttachmentUrlDTO { url: string; displayName?: string; } export interface UpdateTaskAttachmentCaptionDTO { caption?: string; } export interface AddTaskChecklistDTO { name: string; task: string; template?: string; } export interface UpdateTaskChecklistDTO { name?: string; caption?: string; } export interface AddTaskChecklistItemDTO { checklist: string; name: string; } export interface UpdateTaskChecklistItemDTO extends UpdateTaskChecklistDTO { template?: string; } export interface ToggleTaskChecklistItemDTO { checked: boolean; reason: string; } export interface AddTaskChecklistTemplateDTO { project: string; checklist: string; name: string; module: string; subModule: string; task: string; templateReplaced?: string; } export interface AddTaskChecklistAttachmentFileDTO { checklistItem: string; file: unknown; type: string; } export interface AddTaskChecklistAttachmentUrlDTO { checklistItem: string; url: unknown; displayName?: string; } export interface UpdateTaskDependencyDTO { data: Item[]; } interface Item { task: string; custom: boolean; caption?: string; } export interface TasksOptionsQueryParams { memberOptions: boolean; projectOptions: boolean; moduleOptions: boolean; taskOptions: boolean; subModuleOptions: boolean; processOptions: boolean; } interface OptionLabelValue { label: string; value: string; } export interface TasksOptionsResponse { status: number; message: string; data: TaskFilterOptions; } interface TaskFilterOptions { memberOptions: OptionLabelValue[]; projectOptions: OptionLabelValue[]; moduleOptions: OptionLabelValue[]; taskOptions: OptionLabelValue[]; subModuleOptions: OptionLabelValue[]; processOptions: OptionLabelValue[]; } export {};