/
alt3rmann
/
cloudbeaver
Обзор
Документация
Войти
/
alt3rmann
/
cloudbeaver
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
devel
webapp/packages/plugin-data-import/src/DataImportProcessorsResource.ts
38 строк
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 { CachedMapAllKey, CachedMapResource, resourceKeyList } from '@cloudbeaver/core-resource'; import { ServerConfigResource } from '@cloudbeaver/core-root'; import { type DataTransferProcessorInfo, GraphQLService } from '@cloudbeaver/core-sdk'; @injectable(() => [GraphQLService, ServerConfigResource]) export class DataImportProcessorsResource extends CachedMapResource<string, DataTransferProcessorInfo> { constructor( private readonly graphQLService: GraphQLService, serverConfigResource: ServerConfigResource, ) { super(() => new Map()); this.sync( serverConfigResource, () => {}, () => CachedMapAllKey, ); } protected async loader(): Promise<Map<string, DataTransferProcessorInfo>> { const { processors } = await this.graphQLService.sdk.getDataTransferImportProcessors(); this.replace(resourceKeyList(processors.map(processor => processor.id)), processors); return this.data; } protected validateKey(key: string): boolean { return typeof key === 'string'; } }