/
vshmidt
/
cloudbeaver
Обзор
Документация
Войти
/
vshmidt
/
cloudbeaver
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
devel
webapp/packages/plugin-data-export/src/DataExportService.ts
37 строк
1 KB
Alexey Potsetsuev
dbeaver/pro#6744 refactor: migration to `@wroud/di` (#3704)
29 авг 2025, 13:22
Не верифицирован
29 авг 2025, 13:22
80f258b
Код
Авторство
О чём код?
/* * CloudBeaver - Cloud Database Manager * Copyright (C) 2020-2024 DBeaver Corp and others * * Licensed under the Apache License, Version 2.0. * you may not use this file except in compliance with the License. */ import { injectable } from '@cloudbeaver/core-di'; import { NotificationService } from '@cloudbeaver/core-events'; import type { DataTransferParameters } from '@cloudbeaver/core-sdk'; import { DataExportProcessService } from './DataExportProcessService.js'; import { ExportNotification } from './ExportNotification/ExportNotification.js'; import type { IExportContext } from './IExportContext.js'; @injectable(() => [NotificationService, DataExportProcessService]) export class DataExportService { constructor( private readonly notificationService: NotificationService, private readonly dataExportProcessService: DataExportProcessService, ) {} async cancel(exportId: string): Promise<void> { await this.dataExportProcessService.cancel(exportId); } download(exportId: string): void { this.dataExportProcessService.download(exportId); } async exportData(context: IExportContext, parameters: DataTransferParameters): Promise<string> { const taskId = await this.dataExportProcessService.exportData(context, parameters); this.notificationService.customNotification(() => ExportNotification, { source: taskId }); return taskId; } }