UNPKG

@golemio/pid

Version:
61 lines (60 loc) 3.31 kB
import { NotPublicVehiclesRedisRepository } from "../cache/NotPublicVehiclesRedisRepository"; import { ProcessedPositionRepository } from "./ProcessedPositionRepository"; import { VehicleTypeRepository } from "../VehicleTypeRepository"; import { VehicleDescriptorRepository } from "../VehicleDescriptorRepository"; import { TripWithLastPositionModel } from "../../../../schema-definitions/vehicle-positions/models/views"; import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector"; import { IGeoJSONFeature } from "@golemio/core/dist/output-gateway/Geo"; import { ModelStatic } from "@golemio/core/dist/shared/sequelize"; import { ITripGetAllOutput } from "../interfaces/ITripWithPositionRepository"; import { AbstractBasicRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractBasicRepository"; import { ILogger } from "@golemio/core/dist/helpers"; export declare class TripWithLastPositionRepository extends AbstractBasicRepository { private notPublicVehiclesRepository; private processedPositionRepository; private vehicleTypeRepository; private vehicleDescriptorRepository; schema: string; tableName: string; sequelizeModel: ModelStatic<TripWithLastPositionModel>; constructor(connector: IDatabaseConnector, logger: ILogger, notPublicVehiclesRepository: NotPublicVehiclesRedisRepository, processedPositionRepository: ProcessedPositionRepository, vehicleTypeRepository: VehicleTypeRepository, vehicleDescriptorRepository: VehicleDescriptorRepository); /** Retrieves all vehicle trips * @param {object} options Options object with params * @param {number} [options.limit] Limit * @param {number} [options.offset] Offset * @param {string} [options.routeId] Filter trips by specific route id * @param {string} [options.routeShortName] Filter trips by specific route short name * @param {string} [options.tripId] Filter trips by specific trip id * @param {boolean} [options.includeNotTracking] Should include not tracking vehicle positions (those off a trip) * @returns Array of the retrieved records */ GetAll: (options: { cisTripNumber?: number; routeId?: string; routeShortName?: string; tripId?: string; includeNotTracking?: boolean; includeNotPublic?: boolean; limit?: number; offset?: number; updatedSince?: Date | null; preferredTimezone: string; }) => Promise<ITripGetAllOutput>; GetOne(): never; /** Retrieves specific vehicle trip * @param {string} id Id of the trip * @param {object} [options] Options object with params * @param {string} [options.includeNotTracking] Returns last known trip even if it is not tracked at time * @param {boolean} [options.includePositions] Should include all vehicle positions * @returns Object of the retrieved record or null */ GetOneByGTFSTripId: (id: string, options: { includeNotTracking?: boolean; includePositions?: boolean; includeNotPublic?: boolean; preferredTimezone: string; }) => Promise<IGeoJSONFeature | null>; private composeIncludes; private determinePossibleStatePositions; private getNotPublicWhereConditions; }