UNPKG

@golemio/parkings

Version:
402 lines (401 loc) • 15.1 kB
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv"; import Sequelize from "@golemio/core/dist/shared/sequelize"; export interface IModelDefinition { name: string; outputJsonSchema: any; outputSequelizeAttributes: Sequelize.ModelAttributes; pgTableName: string; } declare const forExport: { name: string; pgSchema: string; tsk: { datasourceGeoJsonSchema: { type: string; items: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; geometry: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; coordinates: { type: string; }; }; }; properties: { type: string; required: string[]; additionalProperties: boolean; properties: { tarifTab: { type: string; }; ps_zps_celkem: { type: string; }; typZony: { type: string; }; tarifName: { type: string; }; platnostOd: { type: string; }; platnostDo: { type: string; }; ulice: { type: string[]; }; TARIF: { type: string; }; CTARIF: { type: string; }; }; }; }; }; }; datasourceTariffJsonSchema: { type: string; items: { type: string; required: string[]; additionalProperties: boolean; properties: { TARIF: { type: string; }; CTARIF: { type: string; }; Day: { type: string; }; PricePerHour: { type: string; }; MaxParkingTime: { type: string; }; MaxPrice: { type: string; }; TimeFrom: { type: string; }; TimeTo: { type: string; }; PayAtHoliday: { type: string; }; }; }; }; name: string; }; korid: { datasourceJsonConfSchema: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; version: { type: string; }; time: { type: string; }; geojson: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; features: { type: string; additionalProperties: boolean; minItems: number; items: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; properties: { type: string; required: string[]; additionalProperties: boolean; properties: { groupid: { type: string; }; title: { type: string; }; total: { type: string; }; tarif: { type: string; }; }; }; geometry: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; coordinates: { type: string; }; }; }; }; }; }; }; }; tarif: { type: string; required: string[]; additionalProperties: boolean; properties: { lastUpdated: { type: string; }; paymentMode: { type: string; items: { type: string; }; }; paymentAdditionalDescription: { type: string; }; freeOfCharge: { type: string; }; urlLinkAddress: { type: string; }; chargeBand: { type: string; additionalProperties: boolean; items: { type: string; required: string[]; additionalProperties: boolean; properties: { chargeBandName: { type: string; }; acceptedMeansOfPayment: { type: string; items: { type: string; }; }; chargeCurrency: { type: string; }; charge: { type: string; required: string[]; additionalProperties: boolean; items: { charge: { type: string; }; chargeType: { type: string; }; chargeOrderIndex: { type: string; }; chargeInterval: { type: string; }; maxIterationsOfCharge: { type: string; }; minIterationsOfCharge: { type: string; }; startTimeOfPeriod: { type: string; }; endTimeOfPeriod: { type: string; }; }; }; }; }; }; }; }; }; }; datasourceJsonSchema: { type: string; required: string[]; additionalProperties: boolean; properties: { type: { type: string; }; version: { type: string; }; time: { type: string; }; data: { type: string; additionalProperties: { type: string; required: string[]; additionalProperties: boolean; properties: { tot: { type: string; }; fr: { type: string; }; occ: { type: string; }; cls: { type: string; }; }; }; }; }; }; name: string; }; parkings: { outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; parkingsApiV2: { outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; parkingsFiltered: { name: string; outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; location: { name: string; outputJsonSchema: { type: string; items: { $ref: string; }; $defs: { Item: { type: string; properties: { id: { type: string; }; source: { type: string; }; source_id: { type: string; }; data_provider: { type: string; }; location: { type: string; }; centroid: { type: string; }; address: { type: string; }; total_spot_number: { oneOf: ({ type: string; nullable?: undefined; } | { type: string; nullable: boolean; })[]; }; special_access: { oneOf: ({ type: string; items: { type: string; }; nullable?: undefined; } | { type: string; nullable: boolean; items?: undefined; })[]; }; }; required: string[]; }; }; }; outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; measurements: { name: string; outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; measurementsActual: { name: string; outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; latestMeasurements: { name: string; outputSequelizeAttributes: Sequelize.ModelAttributes<Sequelize.Model<any, any>, any>; pgTableName: string; }; }; export interface ISchemaDefinition<T> { name: string; jsonSchema: JSONSchemaType<T>; } export { Parkomats } from "./Parkomats"; export { forExport as Parkings };