@golemio/parkings
Version:
Golemio Parkings Module
56 lines (55 loc) • 2.3 kB
TypeScript
import { CachedParkingSourcesRepository } from "../../helpers/data-access/CachedParkingSourcesRepository";
import { IGetParkingQueryOptions } from "./interfaces/IGetQueryOptions";
import { IPostalAddress } from "@golemio/core/dist/integration-engine/helpers/GeocodeApi";
import { SequelizeModel } from "@golemio/core/dist/output-gateway";
import { TGeoCoordinates } from "@golemio/core/dist/output-gateway/Geo";
import { IParkingsModels } from ".";
import ICentroidPg from "./interfaces/ICentroidPg";
export interface IParkings {
id: string;
source: string;
source_id: string;
source_id_mapped: string;
data_provider: string | null;
name: string;
category: string | null;
date_modified: string | null;
address: IPostalAddress | null;
location: TGeoCoordinates;
area_served: string | null;
total_spot_number: number;
valid_from: string | null;
valid_to: string | null;
distance?: number;
parking_type: string | null;
zone_type: string | null;
centroid: ICentroidPg;
measurements: {
available_spots_last_updated: string;
available_spots_number: number;
};
parking_payments: {
payment_web_url: string | null;
payment_android_url: string | null;
payment_ios_url: string | null;
};
parking_tariffs_relation: {
tariff_id: string;
};
}
export declare class ParkingsModel extends SequelizeModel {
private readonly parkingSourcesRepository;
static readonly MODEL_RELATION_ACTUAL_MEASUREMENTS = "measurements";
static readonly MODEL_RELATION_PARKING_LOCATIONS = "parking_locations";
static readonly MODEL_RELATION_PARKING_PAYMENTS = "parking_payments";
static readonly MODEL_RELATION_PARKING_TARIFFS_RELATIONS = "parking_tariffs_relation";
private readonly paymentsRepository;
private readonly parkingTariffRelationsRepository;
private readonly geoConfigHelper;
constructor(parkingSourcesRepository: CachedParkingSourcesRepository);
Associate: (m: IParkingsModels) => void;
GetAll: (options?: IGetParkingQueryOptions) => Promise<IParkings[]>;
GetOne: (id: string) => Promise<IParkings>;
GetAllDetail: (options?: IGetParkingQueryOptions) => Promise<IParkings[]>;
GetOneDetail: (id: string) => Promise<IParkings>;
}