"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.VPContainer = void 0;
const Di_1 = require("../../ioc/Di");
const MetroRailtrackGPSRepository_1 = require("../../ropid-gtfs/workers/timetables/tasks/data-access/MetroRailtrackGPSRepository");
const RegionalBusRunsMessagesRepository_1 = require("../workers/runs/data-access/RegionalBusRunsMessagesRepository");
const RegionalBusCisCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusCisCacheRepository");
const RegionalBusGtfsCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusGtfsCacheRepository");
const BusMessageFilter_1 = require("../workers/runs/helpers/BusMessageFilter");
const TimestampValidator_1 = require("../workers/runs/helpers/TimestampValidator");
const TramMessageFilter_1 = require("../workers/runs/helpers/TramMessageFilter");
const CisLookupManager_1 = require("../workers/runs/helpers/regional-bus/CisLookupManager");
const GtfsLookupManager_1 = require("../workers/runs/helpers/regional-bus/GtfsLookupManager");
const RegionalBusMessageFilter_1 = require("../workers/runs/helpers/regional-bus/RegionalBusMessageFilter");
const RegionalBusRunsFacade_1 = require("../workers/runs/helpers/regional-bus/RegionalBusRunsFacade");
const TripScheduleManager_1 = require("../workers/runs/helpers/regional-bus/TripScheduleManager");
const ProcessMetroRunMessagesTask_1 = require("../workers/runs/tasks/ProcessMetroRunMessagesTask");
const ProcessRegionalBusRunMessagesTask_1 = require("../workers/runs/tasks/ProcessRegionalBusRunMessagesTask");
const SaveArrivaCityRunsToDBTask_1 = require("../workers/runs/tasks/SaveArrivaCityRunsToDBTask");
const SaveBusRunsToDBTask_1 = require("../workers/runs/tasks/SaveBusRunsToDBTask");
const SaveMetroRunsToDBTask_1 = require("../workers/runs/tasks/SaveMetroRunsToDBTask");
const SaveTramRunsToDBTask_1 = require("../workers/runs/tasks/SaveTramRunsToDBTask");
const CommonRunsMessagesTransformation_1 = require("../workers/runs/transformations/CommonRunsMessagesTransformation");
const MetroRunsMessagesTransformation_1 = require("../workers/runs/transformations/MetroRunsMessagesTransformation");
const RegionalBusRunsMessagesTransformation_1 = require("../workers/runs/transformations/RegionalBusRunsMessagesTransformation");
const DescriptorRepository_1 = require("../workers/vehicle-descriptors/data-access/DescriptorRepository");
const DescriptorDataSourceFactory_1 = require("../workers/vehicle-descriptors/datasources/DescriptorDataSourceFactory");
const SeznamAutobusuDataSourceProvider_1 = require("../workers/vehicle-descriptors/datasources/seznam-autobusu/SeznamAutobusuDataSourceProvider");
const DescriptorFilter_1 = require("../workers/vehicle-descriptors/helpers/DescriptorFilter");
const RefreshDescriptorsTask_1 = require("../workers/vehicle-descriptors/tasks/RefreshDescriptorsTask");
const DescriptorTransformation_1 = require("../workers/vehicle-descriptors/transformations/DescriptorTransformation");
const TripsRepository_1 = require("../workers/vehicle-positions/data-access/TripsRepository");
const PublicApiCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicApiCacheRepository");
const PublicStopTimeCacheRepository_1 = require("../workers/vehicle-positions/data-access/cache/PublicStopTimeCacheRepository");
const CachedMetroRailtrackLookup_1 = require("../workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup");
const PublicStopTimeRepository_1 = require("../workers/vehicle-positions/data-access/views/PublicStopTimeRepository");
const PositionsManager_1 = require("../workers/vehicle-positions/helpers/PositionsManager");
const ValidToCalculator_1 = require("../workers/vehicle-positions/helpers/ValidToCalculator");
const GtfsTripDataFixerFactory_1 = require("../workers/vehicle-positions/helpers/gtfs-trip-data/GtfsTripDataFixerFactory");
const HttpGtfsTripDataFixer_1 = require("../workers/vehicle-positions/helpers/gtfs-trip-data/strategy/HttpGtfsTripDataFixer");
const MetroShapePointsFixer_1 = require("../workers/vehicle-positions/helpers/metro/MetroShapePointsFixer");
const RegionalBusPositionsManager_1 = require("../workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager");
const RefreshGtfsTripDataTask_1 = require("../workers/vehicle-positions/tasks/RefreshGtfsTripDataTask");
const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask");
const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
const VPContainerToken_1 = require("./VPContainerToken");
//#region Initialization
const VPContainer = Di_1.PidContainer.createChildContainer();
exports.VPContainer = VPContainer;
//#endregion
//#region Datasources
VPContainer.register(VPContainerToken_1.VPContainerToken.SeznamAutobusuDataSourceProvider, SeznamAutobusuDataSourceProvider_1.SeznamAutobusuDataSourceProvider);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorDataSourceFactory, DescriptorDataSourceFactory_1.DescriptorDataSourceFactory);
//#endregion
//#region Repositories
VPContainer.register(VPContainerToken_1.VPContainerToken.TripRepository, TripsRepository_1.TripsRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorRepository, DescriptorRepository_1.DescriptorRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusCisCacheRepository, RegionalBusCisCacheRepository_1.RegionalBusCisCacheRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusGtfsCacheRepository, RegionalBusGtfsCacheRepository_1.RegionalBusGtfsCacheRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesRepository, RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository, PublicApiCacheRepository_1.PublicApiCacheRepository);
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeCacheRepository, PublicStopTimeCacheRepository_1.PublicStopTimeCacheRepository);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository, MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup, CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup);
//#endregion
//#region Transformations
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessagesTransformation, RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation);
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiTripTransformation, PublicApiTripTransformation_1.PublicApiTripTransformation);
VPContainer.register(VPContainerToken_1.VPContainerToken.CommonRunsMessagesTransformation, CommonRunsMessagesTransformation_1.CommonRunsMessagesTransformation);
VPContainer.register(VPContainerToken_1.VPContainerToken.MetroRunsMessagesTransformation, MetroRunsMessagesTransformation_1.MetroRunsMessagesTransformation);
//#endregion
//#region Helpers
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.DescriptorFilter, DescriptorFilter_1.DescriptorFilter);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CisLookupManager, CisLookupManager_1.CisLookupManager);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsLookupManager, GtfsLookupManager_1.GtfsLookupManager);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TripScheduleManager, TripScheduleManager_1.TripScheduleManager);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.BusMessageFilter, BusMessageFilter_1.BusMessageFilter);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TramMessageFilter, TramMessageFilter_1.TramMessageFilter);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusMessageFilter, RegionalBusMessageFilter_1.RegionalBusMessageFilter);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade, RegionalBusRunsFacade_1.RegionalBusRunsFacade);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.HttpGtfsTripDataFixer, HttpGtfsTripDataFixer_1.HttpGtfsTripDataFixer);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.GtfsTripDataFixerFactory, GtfsTripDataFixerFactory_1.GtfsTripDataFixerFactory);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TimestampValidator, TimestampValidator_1.TimestampValidator);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TimestampValidator, TimestampValidator_1.TimestampValidator);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ValidToCalculator, ValidToCalculator_1.ValidToCalculator);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.PositionsManager, PositionsManager_1.PositionsManager);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusPositionsManager, RegionalBusPositionsManager_1.RegionalBusPositionsManager);
VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
//#endregion
//#region Tasks
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask, SaveArrivaCityRunsToDBTask_1.SaveArrivaCityRunsToDBTask);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.ProcessRegionalBusRunMessagesTask, ProcessRegionalBusRunMessagesTask_1.ProcessRegionalBusRunMessagesTask);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicTripCacheTask, RefreshPublicTripCacheTask_1.RefreshPublicTripCacheTask);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshPublicStopTimeCacheTask, RefreshPublicStopTimeCacheTask_1.RefreshPublicStopTimeCacheTask);
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshGtfsTripDataTask, RefreshGtfsTripDataTask_1.RefreshGtfsTripDataTask);
VPContainer.register(VPContainerToken_1.VPContainerToken.SaveTramRunsToDBTask, SaveTramRunsToDBTask_1.SaveTramRunsToDBTask);
VPContainer.register(VPContainerToken_1.VPContainerToken.SaveBusRunsToDBTask, SaveBusRunsToDBTask_1.SaveBusRunsToDBTask);
VPContainer.register(VPContainerToken_1.VPContainerToken.SaveMetroRunsToDBTask, SaveMetroRunsToDBTask_1.SaveMetroRunsToDBTask);
VPContainer.register(VPContainerToken_1.VPContainerToken.ProcessMetroRunMessagesTask, ProcessMetroRunMessagesTask_1.ProcessMetroRunMessagesTask);
//# sourceMappingURL=Di.js.map