@golemio/parkings
Version:
Golemio Parkings Module
83 lines (82 loc) • 3.3 kB
TypeScript
import { IParkingSource, IParkingSourcePayment, IParkingSourceReservation } from "../../schema-definitions/models/interfaces/IParkingSource";
import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
import { AbstractCachedRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractCachedRepository";
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
type TParkingSourceDatasource = {
source: string;
datasource_parking: string;
datasource_locations: string;
};
type TParkingPaymentsSourceDatasource = {
source: string;
datasource_payments: string;
};
export type TParkingPaymentsSourceConfig = {
[key: string]: {
payment: IParkingSourcePayment | null;
reservation: IParkingSourceReservation | null;
};
};
export type TParkingEntrancesSourceDatasourceConfig = {
source: string;
datasource_entranecs: string;
};
export type TParkingProhibitionsSourceDatasourceConfig = {
source: string;
datasource_prohibitions: string;
};
export type TParkingTariffsSourceDatasourceConfig = {
source: string;
datasource_tariffs: string;
};
export declare class CachedParkingSourcesRepository extends AbstractCachedRepository<IParkingSource> {
schema: string;
tableName: string;
constructor(connector: IDatabaseConnector, log: ILogger, cacheTTLInSeconds?: number);
getV3Sources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getLegacySources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getParkingSpaceDataSourceSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getParkingPaymentDataSourceSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getEntrancesDataSourceSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getProhibitionsDataSourceSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getTariffsDataSourceSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getParkingMachinesDataSources(options: {
isRestrictedToOpenData: boolean;
}): Promise<string[]>;
getParkingSpaceDataSourceConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingSourceDatasource[]>;
getParkingPaymentsDataSourceConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingPaymentsSourceDatasource[]>;
getParkingEntrancesDataSourceConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingEntrancesSourceDatasourceConfig[]>;
getParkingProhibitionsDataSourceConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingProhibitionsSourceDatasourceConfig[]>;
getParkingPaymentsConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingPaymentsSourceConfig>;
getParkingTariffDataSourceConfig(options: {
isRestrictedToOpenData: boolean;
}): Promise<TParkingTariffsSourceDatasourceConfig[]>;
private getAllAllowed;
private filterOpenData;
protected getAllInternal(): Promise<IParkingSource[]>;
}
export {};