import type { APIConfiguration } from "@supersoniks/concorde/core/utils/api"; import type { ApiGetResult } from "@supersoniks/concorde/core/utils/api"; import { Endpoint } from "@supersoniks/concorde/core/utils/endpoint"; import { DataProviderKey } from "@supersoniks/concorde/core/utils/dataProviderKey"; import { PublisherManager } from "@supersoniks/concorde/core/utils/PublisherProxy"; import "./decorators-demo-init"; export type GeoCommuneRow = { nom: string; code: string }; export const geoApiDemoConfiguration: APIConfiguration = { serviceURL: "https://geo.api.gouv.fr/", token: null, userName: null, password: null, authToken: null, tokenProvider: null, }; const docsDemoGeoApiConfigurationId = "docsDemoGeoApiConfiguration"; PublisherManager.get(docsDemoGeoApiConfigurationId).set(geoApiDemoConfiguration); export const docsDemoGeoApiConfigurationKey = new DataProviderKey( docsDemoGeoApiConfigurationId, ); export const geoCommunesApiGetEndpoint = new Endpoint( "communes?limit=5&fields=nom,code", ); export const docsDemoDynApiConfKeyTemplate = new DataProviderKey( "docsDemoDynApiConf${configSlot}", ); PublisherManager.get("docsDemoDynApiConfA").set(geoApiDemoConfiguration); PublisherManager.get("docsDemoDynApiConfB").set({ ...geoApiDemoConfiguration, serviceURL: "https://geo.api.gouv.fr/", }); export const geoCommunesApiGetEndpointDynamic = new Endpoint( "communes?limit=${communeLimit}&fields=nom,code", ); export const geoCommunesApiGetPublishKey = new DataProviderKey>(geoCommunesApiGetEndpoint.path);