"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StopDto = void 0;
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
class StopDto extends sequelize_1.Model {
}
exports.StopDto = StopDto;
StopDto.attributeModel = {
    location_type: sequelize_1.DataTypes.INTEGER,
    parent_station: sequelize_1.DataTypes.STRING,
    platform_code: sequelize_1.DataTypes.STRING,
    stop_id: { type: sequelize_1.DataTypes.STRING, primaryKey: true },
    stop_lat: sequelize_1.DataTypes.DOUBLE,
    stop_lon: sequelize_1.DataTypes.DOUBLE,
    stop_name: sequelize_1.DataTypes.STRING,
    stop_url: sequelize_1.DataTypes.STRING,
    wheelchair_boarding: sequelize_1.DataTypes.INTEGER,
    zone_id: sequelize_1.DataTypes.STRING,
    level_id: sequelize_1.DataTypes.STRING,
    stop_code: sequelize_1.DataTypes.STRING,
    stop_desc: sequelize_1.DataTypes.STRING,
    stop_timezone: sequelize_1.DataTypes.STRING,
    asw_node_id: sequelize_1.DataTypes.INTEGER,
    asw_stop_id: sequelize_1.DataTypes.INTEGER,
    computed_cis_stop_id: {
        type: sequelize_1.DataTypes.STRING,
        set() {
            throw new golemio_errors_1.GeneralError("computed_cis_stop_id is read-only", "StopDto");
        },
    },
};
StopDto.jsonSchema = {
    type: "array",
    items: {
        type: "object",
        properties: {
            stop_id: { type: "string" },
            level_id: { type: "string" },
            location_type: { type: "integer" },
            parent_station: { type: "string" },
            platform_code: { type: "string" },
            stop_code: { type: "string" },
            stop_desc: { type: "string" },
            stop_lat: { type: "number" },
            stop_lon: { type: "number" },
            stop_name: { type: "string" },
            stop_timezone: { type: "string" },
            stop_url: { type: "string" },
            wheelchair_boarding: { type: "integer" },
            zone_id: { type: "string" },
            asw_node_id: { type: "integer" },
            asw_stop_id: { type: "integer" },
        },
        required: ["stop_id"],
    },
};
//# sourceMappingURL=StopDto.js.map