UNPKG

@golemio/pid

Version:
33 lines (32 loc) 1.97 kB
import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto"; import { ICommonRunsModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel"; import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto"; import { IModel } from "@golemio/core/dist/integration-engine/models"; import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator"; import Sequelize from "@golemio/core/dist/shared/sequelize"; import { AbstractRunRepository } from "./AbstractRunRepository"; import { CommonRunsMessagesRepository } from "./CommonRunsMessagesRepository"; export declare class CommonRunsRepository extends AbstractRunRepository implements IModel { /** Model name */ name: string; /** The Sequelize Model */ sequelizeModel: Sequelize.ModelCtor<any>; /** The Sequelize Model for temporary table */ protected tmpSequelizeModel: Sequelize.ModelCtor<any> | null; /** Validation helper */ protected validator: JSONSchemaValidator; /** Type/Strategy of saving the data */ protected savingType: "insertOnly" | "insertOrUpdate"; /** Associated vehiclepositions_runs_messages repository */ protected runsMessagesRepository: CommonRunsMessagesRepository; /** Precomputed scheduled trips model */ private tripScheduleRepository; constructor(); getRunRecordForUpdate: (run: ICommonRunsModel) => Promise<ICommonRunsModel | null>; createAndAssociate: ({ run, run_message }: ICommonRunWithMessageDto) => Promise<ICommonRunWithMessageDto>; updateAndAssociate: ({ run, run_message }: ICommonRunWithMessageDto, runId: string) => Promise<{ run: any; run_message: any; }>; getScheduledTrips: (origin_route_name: string, run_number: string | number, msg_last_timestamp: string) => Promise<IScheduleDto[]>; }