import { ISharedVehiclesPricingPlanOutput } from "../../PricingPlans"; import { ISharedVehiclesPricingOutput } from "../../Pricings"; import { ISharedVehiclesRentalAppOutput } from "../../RentalApps"; import { ISharedVehiclesSystemInformationOutput } from "../../SystemInformation"; import { ISharedVehicleTypeOutput } from "../../VehicleTypes"; import { StaticDataProvider } from "../helpers/StaticDataProviderEnum"; import { StaticDataResourceType } from "../helpers/StaticDataResourceTypeEnum"; import { IPricingPlanCeskyCarsharingMap, IPricingPlanRekolaMap } from "../../PricingPlanMap"; export interface IStaticDataOutputDto { provider: StaticDataProvider; resource_type: StaticDataResourceType; data: ResourceTypeDict[StaticDataResourceType]; } export type ResourceTypeDict = { [StaticDataResourceType.PricingPlans]: ISharedVehiclesPricingPlanOutput[]; [StaticDataResourceType.Pricings]: ISharedVehiclesPricingOutput[]; [StaticDataResourceType.RentalApps]: ISharedVehiclesRentalAppOutput[]; [StaticDataResourceType.SystemInformation]: ISharedVehiclesSystemInformationOutput[]; [StaticDataResourceType.VehicleTypes]: ISharedVehicleTypeOutput[]; [StaticDataResourceType.PricingPlanMap]: IPricingPlanCeskyCarsharingMap[] | IPricingPlanRekolaMap[]; }; export type ResourceTypeMappedDto = { [s: string]: ResourceTypeDict[StaticDataResourceType]; };