UNPKG

@golemio/pid

Version:
68 lines 4.74 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SelectRepositoryFactory = void 0; const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken"); const Di_1 = require("../../vehicle-positions/ioc/Di"); const VPContainerToken_1 = require("../../vehicle-positions/ioc/VPContainerToken"); const CisStopRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/CisStopRepository"); const PositionsHistoryRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/PositionsHistoryRepository"); const StopTimesHistoryRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/StopTimesHistoryRepository"); const TripsHistoryRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/TripsHistoryRepository"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe"); const CommonRunsRepository_1 = require("../../vehicle-positions/workers/runs/data-access/CommonRunsRepository"); const MetroRunsMessagesRepository_1 = require("../../vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository"); const RegionalBusRunsMessagesRepository_1 = require("../../vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository"); const PositionsRepository_1 = require("../../vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository"); const RepositoryTableNameEnum_1 = require("../workers/constants/RepositoryTableNameEnum"); let SelectRepositoryFactory = class SelectRepositoryFactory { select(repo) { switch (repo) { case RepositoryTableNameEnum_1.RepositoryTableName.Trips: return Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.TripRepository); case RepositoryTableNameEnum_1.RepositoryTableName.TripsHistory: return new TripsHistoryRepository_1.TripsHistoryRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.Positions: return new PositionsRepository_1.PositionsRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.PositionsHistory: return new PositionsHistoryRepository_1.PositionsHistoryRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.CisStops: return new CisStopRepository_1.CisStopRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.StopTimesHistory: return new StopTimesHistoryRepository_1.StopTimesHistoryRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.Metro: return new MetroRunsMessagesRepository_1.MetroRunsMessagesRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.RegionalBus: return new RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.CommonRuns: return new CommonRunsRepository_1.CommonRunsRepository(); case RepositoryTableNameEnum_1.RepositoryTableName.Logs: return Di_1.VPContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.PresetLogRepository); default: throw new golemio_errors_1.GeneralError("Repository type undefined."); } } getColumnNameByRepositoryName(repo) { switch (repo) { case RepositoryTableNameEnum_1.RepositoryTableName.Metro: return "message_timestamp"; case RepositoryTableNameEnum_1.RepositoryTableName.RegionalBus: return "vehicle_timestamp"; case RepositoryTableNameEnum_1.RepositoryTableName.CommonRuns: return "msg_last_timestamp"; default: return ""; } } }; exports.SelectRepositoryFactory = SelectRepositoryFactory; exports.SelectRepositoryFactory = SelectRepositoryFactory = __decorate([ (0, tsyringe_1.injectable)() ], SelectRepositoryFactory); //# sourceMappingURL=SelectRepositoryFactory.js.map