@golemio/pid
Version:
Golemio PID Module
51 lines (50 loc) • 2.49 kB
TypeScript
import { TripWithLastPositionModel } from "../../../../schema-definitions/vehicle-positions/models/views";
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
import { IGeoJSONFeature } from "@golemio/core/dist/output-gateway/Geo";
import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
import { ITripGetAllOutput, ITripWithPositionRepository } from "../interfaces/ITripWithPositionRepository";
import { IVPRepositoryInstances } from "../interfaces/IVPRepositoryInstances";
export declare class TripWithLastPositionRepository extends SequelizeModel implements ITripWithPositionRepository {
sequelizeModel: ModelStatic<TripWithLastPositionModel>;
private dbConnector;
constructor();
Associate: (repositories: IVPRepositoryInstances) => void;
/** 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;
}