{"version":3,"file":"v0alpha1DatasourceMapper.cjs","sources":["../../../../../src/services/pluginMeta/mappers/v0alpha1DatasourceMapper.ts"],"sourcesContent":["import { type DataSourcePluginMeta, PluginType } from '@grafana/data';\n\nimport { logPluginMetaWarning } from '../logging';\nimport type { DatasourcePluginMetas, DatasourcePluginMetasMapper, PluginMetasResponse } from '../types';\nimport type { Spec as v0alpha1Spec } from '../types/meta/types.spec.gen';\n\nimport {\n  angularMapper,\n  infoMapper,\n  loadingStrategyMapper,\n  signatureStatusMapper,\n  stateMapper,\n  prependPublicPathToCorePlugins,\n  isCorePlugin,\n} from './shared';\n\nfunction coreSpecMapper(spec: v0alpha1Spec): DataSourcePluginMeta {\n  const mapped = specMapper(spec);\n  return prependPublicPathToCorePlugins(mapped, spec);\n}\n\nfunction specMapper(spec: v0alpha1Spec): DataSourcePluginMeta {\n  const {\n    id,\n    name,\n    metrics,\n    logs,\n    annotations,\n    alerting,\n    tracing,\n    streaming,\n    backend,\n    builtIn,\n    category,\n    queryOptions,\n    multiValueFilterOperators,\n  } = spec.pluginJson;\n  const state = stateMapper(spec, logPluginMetaWarning);\n  const info = infoMapper(spec);\n  const loadingStrategy = loadingStrategyMapper(spec);\n  const type = PluginType.datasource;\n  const module = spec.module.path;\n  const baseUrl = spec.baseURL;\n  const signature = signatureStatusMapper(spec, logPluginMetaWarning);\n  const angular = angularMapper(spec);\n  const translations = spec.translations;\n  const moduleHash = spec.module.hash;\n  const aliasIDs = spec.aliasIds;\n\n  return {\n    id,\n    name,\n    info,\n    state,\n    baseUrl,\n    signature,\n    module,\n    angular,\n    loadingStrategy,\n    type,\n    translations,\n    moduleHash,\n    aliasIDs,\n    metrics,\n    logs,\n    annotations,\n    alerting,\n    tracing,\n    streaming,\n    backend,\n    builtIn,\n    category,\n    queryOptions,\n    multiValueFilterOperators,\n  };\n}\n\nexport const v0alpha1DatasourceMapper: DatasourcePluginMetasMapper<PluginMetasResponse> = (response) => {\n  const result: DatasourcePluginMetas = {};\n\n  return response.items.reduce((acc, curr) => {\n    if (curr.spec.pluginJson.type !== 'datasource') {\n      return acc;\n    }\n\n    const mapper = isCorePlugin(curr.spec) ? coreSpecMapper : specMapper;\n\n    const config = mapper(curr.spec);\n    acc[config.id] = config;\n    return acc;\n  }, result);\n};\n"],"names":["prependPublicPathToCorePlugins","stateMapper","logPluginMetaWarning","infoMapper","loadingStrategyMapper","PluginType","signatureStatusMapper","angularMapper","isCorePlugin"],"mappings":";;;;;;;;;AAgBA,SAAS,eAAe,IAAA,EAA0C;AAChE,EAAA,MAAM,MAAA,GAAS,WAAW,IAAI,CAAA;AAC9B,EAAA,OAAOA,qCAAA,CAA+B,QAAQ,IAAI,CAAA;AACpD;AAEA,SAAS,WAAW,IAAA,EAA0C;AAC5D,EAAA,MAAM;AAAA,IACJ,EAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,MACE,IAAA,CAAK,UAAA;AACT,EAAA,MAAM,KAAA,GAAQC,kBAAA,CAAY,IAAA,EAAMC,4BAAoB,CAAA;AACpD,EAAA,MAAM,IAAA,GAAOC,kBAAW,IAAI,CAAA;AAC5B,EAAA,MAAM,eAAA,GAAkBC,6BAAsB,IAAI,CAAA;AAClD,EAAA,MAAM,OAAOC,eAAA,CAAW,UAAA;AACxB,EAAA,MAAM,MAAA,GAAS,KAAK,MAAA,CAAO,IAAA;AAC3B,EAAA,MAAM,UAAU,IAAA,CAAK,OAAA;AACrB,EAAA,MAAM,SAAA,GAAYC,4BAAA,CAAsB,IAAA,EAAMJ,4BAAoB,CAAA;AAClE,EAAA,MAAM,OAAA,GAAUK,qBAAc,IAAI,CAAA;AAClC,EAAA,MAAM,eAAe,IAAA,CAAK,YAAA;AAC1B,EAAA,MAAM,UAAA,GAAa,KAAK,MAAA,CAAO,IAAA;AAC/B,EAAA,MAAM,WAAW,IAAA,CAAK,QAAA;AAEtB,EAAA,OAAO;AAAA,IACL,EAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF;AACF;AAEO,MAAM,wBAAA,GAA6E,CAAC,QAAA,KAAa;AACtG,EAAA,MAAM,SAAgC,EAAC;AAEvC,EAAA,OAAO,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,CAAC,KAAK,IAAA,KAAS;AAC1C,IAAA,IAAI,IAAA,CAAK,IAAA,CAAK,UAAA,CAAW,IAAA,KAAS,YAAA,EAAc;AAC9C,MAAA,OAAO,GAAA;AAAA,IACT;AAEA,IAAA,MAAM,MAAA,GAASC,mBAAA,CAAa,IAAA,CAAK,IAAI,IAAI,cAAA,GAAiB,UAAA;AAE1D,IAAA,MAAM,MAAA,GAAS,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAC/B,IAAA,GAAA,CAAI,MAAA,CAAO,EAAE,CAAA,GAAI,MAAA;AACjB,IAAA,OAAO,GAAA;AAAA,EACT,GAAG,MAAM,CAAA;AACX;;;;"}