@golemio/parkings
Version:
Golemio Parkings Module
87 lines • 7.06 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParkingsContainer = void 0;
const CachedParkingSourcesRepository_1 = require("../../helpers/data-access/CachedParkingSourcesRepository");
const V3ParkingMachinesController_1 = require("../controllers/v3/V3ParkingMachinesController");
const V3ParkingSourcesController_1 = require("../controllers/v3/V3ParkingSourcesController");
const ParkingAverageOccupancyRepository_1 = require("../data-access/ParkingAverageOccupancyRepository");
const ParkingEntrancesRepository_1 = require("../data-access/ParkingEntrancesRepository");
const ParkingLatestMeasurementRepository_1 = require("../data-access/ParkingLatestMeasurementRepository");
const ParkingMachinesFilteredRepository_1 = require("../data-access/ParkingMachinesFilteredRepository");
const ParkingMachinesRepository_1 = require("../data-access/ParkingMachinesRepository");
const ParkingMeasurementRepository_1 = require("../data-access/ParkingMeasurementRepository");
const ParkingOpeningHoursRepository_1 = require("../data-access/ParkingOpeningHoursRepository");
const ParkingPaymentsRepository_1 = require("../data-access/ParkingPaymentsRepository");
const ParkingProhibitionsRepository_1 = require("../data-access/ParkingProhibitionsRepository");
const ParkingRepository_1 = require("../data-access/ParkingRepository");
const ParkingSourcesRepository_1 = require("../data-access/ParkingSourcesRepository");
const ParkingsFilteredRepository_1 = require("../data-access/ParkingsFilteredRepository");
const ParkingTariffRelationsRepository_1 = require("../data-access/ParkingTariffRelationsRepository");
const ParkingTariffsRepository_1 = require("../data-access/ParkingTariffsRepository");
const GeoConfigHelper_1 = require("../helpers/GeoConfigHelper");
const ParkingsLocationModel_1 = require("../models/ParkingsLocationModel");
const PrimarySourceValidator_1 = require("../routers/v3/helpers/PrimarySourceValidator");
const ParkingMachinesDtoTransformation_1 = require("../transformations/v3/ParkingMachinesDtoTransformation");
const _sch_1 = require("../../schema-definitions");
const ParkingMachinesModel_1 = require("../../schema-definitions/models/ParkingMachinesModel");
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
const Di_1 = require("@golemio/core/dist/output-gateway/ioc/Di");
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
const ModuleContainerToken_1 = require("./ModuleContainerToken");
//#region Initialization
const parkingsContainer = Di_1.OutputGatewayContainer.createChildContainer();
exports.ParkingsContainer = parkingsContainer;
//#endregion
//#region Models
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationModel, ParkingsLocationModel_1.ParkingsLocationModel);
//#endregion
//#region Repositories
parkingsContainer
.register(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository, {
useFactory: (c) => new CachedParkingSourcesRepository_1.CachedParkingSourcesRepository(c.resolve(CoreToken_1.CoreToken.PostgresConnector), c.resolve(CoreToken_1.CoreToken.Logger)),
})
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingRepository, ParkingRepository_1.ParkingRepository)
.registerInstance(ModuleContainerToken_1.ModuleContainerToken.ParkingRepositorySetup, ParkingRepository_1.ParkingRepository.defaultSetup)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingsFilteredRepository, ParkingsFilteredRepository_1.ParkingsFilteredRepository)
.register(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository, {
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => {
return new ParkingMachinesRepository_1.ParkingMachinesRepository({
name: "OGParkingMachinesRepository",
tableName: ParkingMachinesModel_1.ParkingMachinesModel.tableName,
attributes: ParkingMachinesModel_1.ParkingMachinesModel.attributeModel,
options: {
schema: _sch_1.Parkings.pgSchema,
underscored: true,
},
});
}),
})
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesFilteredRepository, ParkingMachinesFilteredRepository_1.ParkingMachinesFilteredRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingMeasurementRepository, ParkingMeasurementRepository_1.ParkingMeasurementRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingLatestMeasurementRepository, ParkingLatestMeasurementRepository_1.ParkingLatestMeasurementRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingAverageOccupancyRepository, ParkingAverageOccupancyRepository_1.ParkingAverageOccupancyRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRelationsRepository, ParkingTariffRelationsRepository_1.ParkingTariffRelationsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffRepository, ParkingTariffsRepository_1.ParkingTariffsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingOpeningHoursRepository, ParkingOpeningHoursRepository_1.ParkingOpeningHoursRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingEntrancesRepository, ParkingEntrancesRepository_1.ParkingEntrancesRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingPaymentsRepository, ParkingPaymentsRepository_1.ParkingPaymentsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingProhibitionsRepository, ParkingProhibitionsRepository_1.ParkingProhibitionsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingSourcesRepository, ParkingSourcesRepository_1.ParkingSourcesRepository);
//#endregion
//#region Transformations
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesDtoTransformation, ParkingMachinesDtoTransformation_1.ParkingMachinesDtoTransformation);
//#endregion
//#region Controllers
parkingsContainer
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingMachinesController, V3ParkingMachinesController_1.V3ParkingMachinesController)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingSourcesController, V3ParkingSourcesController_1.V3ParkingSourcesController);
//#endregion
//#region Validators
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.PrimarySourceValidator, PrimarySourceValidator_1.PrimarySourceValidator);
//#endregion
//#region Helpers
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.GeoConfigHelper, GeoConfigHelper_1.GeoConfigHelper);
//#endregion
//#region Controllers
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V3ParkingMachinesController, V3ParkingMachinesController_1.V3ParkingMachinesController);
//# sourceMappingURL=Di.js.map