"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetroRailtrackGPSModel = void 0;
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
const schema_definitions_1 = require("@golemio/core/dist/schema-definitions");
class MetroRailtrackGPSModel extends sequelize_1.Model {
}
exports.MetroRailtrackGPSModel = MetroRailtrackGPSModel;
MetroRailtrackGPSModel.TABLE_NAME = "ropidgtfs_metro_railtrack_gps";
MetroRailtrackGPSModel.attributeModel = {
    track_id: {
        type: sequelize_1.DataTypes.STRING(15),
        primaryKey: true,
    },
    route_name: {
        type: sequelize_1.DataTypes.CHAR(1),
        primaryKey: true,
    },
    coordinates: {
        type: sequelize_1.DataTypes.GEOMETRY,
        allowNull: false,
    },
    gtfs_stop_id: {
        type: sequelize_1.DataTypes.STRING(25),
    },
};
MetroRailtrackGPSModel.arrayJsonSchema = {
    type: "array",
    items: {
        type: "object",
        properties: {
            track_id: {
                type: "string",
            },
            route_name: {
                type: "string",
            },
            coordinates: {
                $ref: "#/definitions/geometry",
            },
            gtfs_stop_id: {
                type: ["null", "string"],
            },
        },
        required: ["track_id", "route_name", "coordinates", "gtfs_stop_id"],
    },
    definitions: {
        // @ts-expect-error
        geometry: schema_definitions_1.SharedSchemaProvider.Geometry,
    },
};
//# sourceMappingURL=MetroRailtrackGPSModel.js.map