@golemio/pid
Version:
Golemio PID Module
61 lines (60 loc) • 3.31 kB
TypeScript
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;
}