Skip to content

Commit 76b1c1a

Browse files
authored
Merge pull request #282 from sentinel-hub/fix/config-service-v2-get-dataproduct
Fix getting dataProduct from configuration service V2
2 parents ae2c360 + ee5c24d commit 76b1c1a

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

src/layer/__tests__/fixtures.makeLayersSHv3.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ export const getLayersFromConfigurationService = [
5757
{
5858
name: 'default',
5959
description: 'Default layer style',
60-
dataProduct: {
61-
id: 'dataProductId',
62-
},
60+
dataProductId: 'dataProductId',
6361
},
6462
],
6563
orderHint: 0,

src/layer/utils.ts

+19-17
Original file line numberDiff line numberDiff line change
@@ -219,23 +219,25 @@ export async function fetchLayerParamsFromConfigurationService(
219219
...getAxiosReqParams(reqConfigWithMemoryCache, null),
220220
};
221221
const res = await axios.get(url, requestConfig);
222-
const layersParams = res.data.map((l: any) => ({
223-
layerId: l.id,
224-
title: l.title,
225-
description: l.description,
226-
...l.datasourceDefaults,
227-
//maxCloudCoverPercent vs maxCloudCoverage
228-
...(l.datasourceDefaults?.maxCloudCoverage !== undefined && {
229-
maxCloudCoverPercent: l.datasourceDefaults.maxCloudCoverage,
230-
}),
231-
evalscript: l.styles[0].evalScript,
232-
dataProduct: l.styles[0].dataProduct
233-
? `${configurationServiceHostName}api/v2/configuration/datasets/${l.collectionType}/dataproducts/${l.styles[0].dataProduct['id']}`
234-
: undefined,
235-
legend: l.styles.find((s: any) => s.name === l.defaultStyleName)
236-
? l.styles.find((s: any) => s.name === l.defaultStyleName).legend
237-
: null,
238-
}));
222+
const layersParams = res.data.map((l: any) => {
223+
const defaultStyle = l.styles.find((s: any) => s.name === l.defaultStyleName) ?? l.styles[0];
224+
225+
return {
226+
layerId: l.id,
227+
title: l.title,
228+
description: l.description,
229+
...l.datasourceDefaults,
230+
//maxCloudCoverPercent vs maxCloudCoverage
231+
...(l.datasourceDefaults?.maxCloudCoverage !== undefined && {
232+
maxCloudCoverPercent: l.datasourceDefaults.maxCloudCoverage,
233+
}),
234+
evalscript: defaultStyle.evalScript,
235+
dataProduct: defaultStyle.dataProductId
236+
? `${configurationServiceHostName}api/v2/configuration/datasets/${l.collectionType}/dataproducts/${defaultStyle.dataProductId}`
237+
: undefined,
238+
legend: defaultStyle ? defaultStyle.legend : null,
239+
};
240+
});
239241
return layersParams;
240242
}
241243

0 commit comments

Comments
 (0)