import { useRouter } from 'vue-router' import { showExportTaskCreatedDialog } from '@/shared/components/exportTaskCreatedDialog' import { createPlatformExportTask, type CreatePlatformExportTaskRequest, type KnownExportTaskType } from './api/platformExportTasks' export function useExportTask() { const router = useRouter() return async (exportType: KnownExportTaskType, taskName: string, query: object) => { const parameters = Object.fromEntries(Object.entries(query).filter(([key, value]) => key !== 'page' && key !== 'size' && value !== undefined && value !== null && value !== '', )) as CreatePlatformExportTaskRequest['parameters'] const task = await createPlatformExportTask({ exportType, taskName, format: 'XLSX', parameters }) if (await showExportTaskCreatedDialog({ taskName, taskNo: task.taskNo, dense: true })) { await router.push({ name: 'download-center' }) } } }