@golemio/pid
Version:
Golemio PID Module
33 lines (32 loc) • 1.97 kB
TypeScript
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[]>;
}