"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StopTimesDto = void 0;
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
class StopTimesDto extends sequelize_1.Model {
}
exports.StopTimesDto = StopTimesDto;
StopTimesDto.attributeModel = {
    arrival_time: sequelize_1.DataTypes.STRING,
    arrival_time_seconds: sequelize_1.DataTypes.INTEGER, // not in GTFS
    departure_time: sequelize_1.DataTypes.STRING,
    departure_time_seconds: sequelize_1.DataTypes.INTEGER, // not in GTFS
    drop_off_type: sequelize_1.DataTypes.STRING,
    pickup_type: sequelize_1.DataTypes.STRING,
    shape_dist_traveled: sequelize_1.DataTypes.DOUBLE,
    stop_headsign: sequelize_1.DataTypes.STRING,
    stop_id: sequelize_1.DataTypes.STRING,
    stop_sequence: { type: sequelize_1.DataTypes.INTEGER, primaryKey: true },
    trip_id: { type: sequelize_1.DataTypes.STRING, primaryKey: true },
    timepoint: sequelize_1.DataTypes.INTEGER,
    computed_dwell_time_seconds: {
        type: sequelize_1.DataTypes.SMALLINT,
        set() {
            throw new golemio_errors_1.GeneralError("computed_dwell_time_seconds is read-only", "StopTimesDto");
        },
    },
};
StopTimesDto.jsonSchema = {
    type: "array",
    items: {
        type: "object",
        properties: {
            trip_id: { type: "string" },
            stop_sequence: { type: "integer" },
            arrival_time: { type: "string" },
            arrival_time_seconds: { type: "integer" },
            departure_time: { type: "string" },
            departure_time_seconds: { type: "integer" },
            drop_off_type: { type: "string" },
            pickup_type: { type: "string" },
            shape_dist_traveled: { type: "number" },
            stop_headsign: { type: "string" },
            stop_id: { type: "string" },
            timepoint: { type: "integer" },
        },
        required: ["trip_id", "stop_sequence"],
    },
};
//# sourceMappingURL=StopTimesDto.js.map