UNPKG

@golemio/parkings

Version:
29 lines 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataSourceIntegrationChecker = void 0; const SourceEnum_1 = require("../../helpers/constants/SourceEnum"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); class DataSourceIntegrationChecker { constructor() { this.disallowedDataSources = new Map([ [SourceEnum_1.SourceEnum.IPR, ["parking", "locations"]], [SourceEnum_1.SourceEnum.Korid, ["parking", "locations", "tariffs"]], [SourceEnum_1.SourceEnum.Mr_Parkit, ["parking", "locations", "prohibitions", "tariffs"]], [SourceEnum_1.SourceEnum.OSM, ["parking", "locations", "parking_machines"]], [SourceEnum_1.SourceEnum.Smart4City, ["parking", "locations"]], [SourceEnum_1.SourceEnum.TSK, ["parking", "locations", "tariffs"]], [SourceEnum_1.SourceEnum.TSK_V2, ["parking", "locations", "tariffs", "parking_machines"]], [SourceEnum_1.SourceEnum.Manual, ["tariffs"]], ]); } checkAllowedDataSources(inputData) { const sourceName = inputData.source; const isDataSourceNull = (disallowed) => inputData[`datasource_${disallowed}`] == null; const disallowedFields = this.disallowedDataSources.get(sourceName); if (disallowedFields && !disallowedFields.every(isDataSourceNull)) { throw new golemio_errors_1.ValidationError(`Disallowed datasource for ${sourceName}!`, "DatasourceIntegrationChecker"); } } } exports.DataSourceIntegrationChecker = DataSourceIntegrationChecker; //# sourceMappingURL=DataSourceIntegrationChecker.js.map