@golemio/energetics
Version:
Golemio Energetics Module
67 lines • 5.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OGEnergeticsContainer = void 0;
const ModuleContainerToken_1 = require("./ModuleContainerToken");
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
const OrganizationsRepository_1 = require("../repositories/OrganizationsRepository");
const V2OrganizationsController_1 = require("../controllers/v2/V2OrganizationsController");
const OrganizationResponsibleUsersRepository_1 = require("../repositories/OrganizationResponsibleUsersRepository");
const PrimaryBuildingsRepository_1 = require("../repositories/PrimaryBuildingsRepository");
const OrganizationBuildingsRepository_1 = require("../repositories/OrganizationBuildingsRepository");
const DevicesRepository_1 = require("../repositories/DevicesRepository");
const V2DevicesController_1 = require("../controllers/v2/V2DevicesController");
const V2OrganizationsRouter_1 = require("../routers/v2/V2OrganizationsRouter");
const V2DevicesRouter_1 = require("../routers/v2/V2DevicesRouter");
const OrganizationDtoTransformation_1 = require("../transformations/OrganizationDtoTransformation");
const OrganizationDetailDtoTransformation_1 = require("../transformations/OrganizationDetailDtoTransformation");
const DeviceDtoTransformation_1 = require("../transformations/DeviceDtoTransformation");
const BuildingTransformationFull_1 = require("../transformations/BuildingTransformationFull");
const CreateLinkHelper_1 = require("../helpers/CreateLinkHelper");
const MeasurementRepository_1 = require("../repositories/MeasurementRepository");
const V2MeasurementsRouter_1 = require("../routers/v2/V2MeasurementsRouter");
const V2MeasurementsController_1 = require("../controllers/v2/V2MeasurementsController");
const V2BuildingsRouter_1 = require("../routers/v2/V2BuildingsRouter");
const AccessLimitationRepository_1 = require("../repositories/AccessLimitationRepository");
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
const BuildingsController_1 = require("../controllers/v2/BuildingsController");
//#region Initialization
const energeticsContainer = ioc_1.OutputGatewayContainer.createChildContainer();
exports.OGEnergeticsContainer = energeticsContainer;
//#endregion
//#region Transformations
energeticsContainer
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OrganizationDtoTransformation, OrganizationDtoTransformation_1.OrganizationDtoTransformation)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OrganizationDetailDtoTransformation, OrganizationDetailDtoTransformation_1.OrganizationDetailDtoTransformation)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.DeviceDtoTransformation, DeviceDtoTransformation_1.DeviceDtoTransformation)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.BuildingTransformationFull, BuildingTransformationFull_1.BuildingTransformationFull);
//#endregion
//#region Repositories
energeticsContainer
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.PrimaryBuildingsRepository, PrimaryBuildingsRepository_1.PrimaryBuildingsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OrganizationsRepository, OrganizationsRepository_1.OrganizationsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OrganizationBuildingsRepository, OrganizationBuildingsRepository_1.OrganizationBuildingsRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.OrganizationResponsibleUsersRepository, OrganizationResponsibleUsersRepository_1.OrganizationResponsibleUsersRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.DevicesRepository, DevicesRepository_1.DevicesRepository)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.MeasurementRepository, MeasurementRepository_1.MeasurementRepository)
.register(ModuleContainerToken_1.ModuleContainerToken.AccessLimitationRepository, {
useFactory: (0, tsyringe_1.instanceCachingFactory)((c) => new AccessLimitationRepository_1.AccessLimitationRepository(c.resolve(CoreToken_1.CoreToken.PostgresConnector), c.resolve(CoreToken_1.CoreToken.Logger))),
});
//#endregion
//#region Controllers
energeticsContainer
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.BuildingsController, BuildingsController_1.BuildingsController)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2OrganizationsController, V2OrganizationsController_1.V2OrganizationsController)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2DevicesController, V2DevicesController_1.V2DevicesController)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2MeasurementsController, V2MeasurementsController_1.V2MeasurementsController);
//#endregion
//#region Routers
energeticsContainer
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2BuildingsRouter, V2BuildingsRouter_1.V2BuildingsRouter)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2OrganizationsRouter, V2OrganizationsRouter_1.V2OrganizationsRouter)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2DevicesRouter, V2DevicesRouter_1.V2DevicesRouter)
.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.V2MeasurementsRouter, V2MeasurementsRouter_1.V2MeasurementsRouter);
//#endregion
//#region Helpers
energeticsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.CreateLinkHelper, CreateLinkHelper_1.CreateLinkHelper);
//# sourceMappingURL=Di.js.map