Skip to content

Commit ae2c360

Browse files
authored
Merge pull request #280 from sentinel-hub/feature/configuration-service-updates
Configuration service update
2 parents 8ed8f23 + c2ff047 commit ae2c360

10 files changed

+33
-41
lines changed

src/layer/__tests__/BYOCLayer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ describe('Test updateLayerFromServiceIfNeeded for ZARR', () => {
208208
});
209209
expect(layer.locationId).toEqual(null);
210210
mockNetwork
211-
.onGet('https://services.sentinel-hub.com/configuration/v1/wms/instances/INSTANCE_ID/layers')
211+
.onGet('https://services.sentinel-hub.com/api/v2/configuration/instances/INSTANCE_ID/layers')
212212
.replyOnce(200, mockedLayersResponse);
213213
await layer.updateLayerFromServiceIfNeeded();
214214
expect(layer.locationId).toEqual(LocationIdSHv3.awsEuCentral1);
@@ -224,7 +224,7 @@ describe('Test updateLayerFromServiceIfNeeded for ZARR', () => {
224224
});
225225
expect(layer.locationId).toEqual(LocationIdSHv3.creo);
226226
mockNetwork
227-
.onGet('https://services.sentinel-hub.com/configuration/v1/wms/instances/INSTANCE_ID/layers')
227+
.onGet('https://services.sentinel-hub.com/api/v2/configuration/instances/INSTANCE_ID/layers')
228228
.replyOnce(200, mockedLayersResponse);
229229
await layer.updateLayerFromServiceIfNeeded();
230230
expect(layer.locationId).toEqual(LocationIdSHv3.creo);

src/layer/__tests__/LayersFactory.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ describe('Test endpoints for getting layers parameters', () => {
155155
},
156156
[{ code: 200, data: [] }],
157157
function expectedEndpoint(instanceId: string): string {
158-
return `https://services.sentinel-hub.com/configuration/v1/wms/instances/${instanceId}/layers`;
158+
return `https://services.sentinel-hub.com/api/v2/configuration/instances/${instanceId}/layers`;
159159
},
160160
],
161161
[
@@ -217,7 +217,7 @@ describe('Test endpoints for getting layers parameters', () => {
217217
},
218218
[{ code: 200, data: [] }],
219219
function expectedEndpoint(instanceId: string): string {
220-
return `https://sh.dataspace.copernicus.eu/configuration/v1/wms/instances/${instanceId}/layers`;
220+
return `https://sh.dataspace.copernicus.eu/api/v2/configuration/instances/${instanceId}/layers`;
221221
},
222222
],
223223
[
@@ -255,7 +255,7 @@ describe('Test endpoints for getting layers parameters', () => {
255255
},
256256
[{ code: 200, data: [] }],
257257
function expectedEndpoint(instanceId: string): string {
258-
return `https://services.sentinel-hub.com/configuration/v1/wms/instances/${instanceId}/layers`;
258+
return `https://services.sentinel-hub.com/api/v2/configuration/instances/${instanceId}/layers`;
259259
},
260260
],
261261

@@ -281,7 +281,7 @@ describe('Test endpoints for getting layers parameters', () => {
281281
},
282282
[{ code: 200, data: [] }],
283283
function expectedEndpoint(instanceId: string): string {
284-
return `https://sh.dataspace.copernicus.eu/configuration/v1/wms/instances/${instanceId}/layers`;
284+
return `https://sh.dataspace.copernicus.eu/api/v2/configuration/instances/${instanceId}/layers`;
285285
},
286286
],
287287

src/layer/__tests__/S2L1CCDASLayer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ describe('Test findDatesUTC using catalog', () => {
187187
});
188188

189189
test.each([
190-
['https://services.sentinel-hub.com/configuration/v1/datasets/S2L1C/dataproducts/99999', false],
191-
['https://services.sentinel-hub.com/configuration/v1/datasets/S2L1C/dataproducts/643', true],
190+
['https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L1C/dataproducts/99999', false],
191+
['https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L1C/dataproducts/643', true],
192192
])(
193193
'AbstractSentinelHubV3Layer.supportsApiType correctly handles DataProducts supported by Processing API',
194194
(dataProduct, expectedResult) => {

src/layer/__tests__/S2L1CLayer.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ describe('Test findDatesUTC using catalog', () => {
183183
});
184184

185185
test.each([
186-
['https://services.sentinel-hub.com/configuration/v1/datasets/S2L1C/dataproducts/99999', false],
187-
['https://services.sentinel-hub.com/configuration/v1/datasets/S2L1C/dataproducts/643', true],
186+
['https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L1C/dataproducts/99999', false],
187+
['https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L1C/dataproducts/643', true],
188188
])(
189189
'AbstractSentinelHubV3Layer.supportsApiType correctly handles DataProducts supported by Processing API',
190190
(dataProduct, expectedResult) => {

src/layer/__tests__/fixtures.BYOCLayer.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ export function constructFixtureUpdateLayerFromServiceIfNeeded({
298298
const mockedResponse = [
299299
{
300300
'@id':
301-
'https://services.sentinel-hub.com/configuration/v1/wms/instances/cc6082af-2788-4b20-b0fe-54e13454bc66/layers/BYOC3',
301+
'https://services.sentinel-hub.com/api/v2/configuration/instances/cc6082af-2788-4b20-b0fe-54e13454bc66/layers/BYOC3',
302302
id: 'BYOC3',
303303
title: 'byoc3',
304304
description: '',
@@ -313,7 +313,7 @@ export function constructFixtureUpdateLayerFromServiceIfNeeded({
313313
orderHint: 0,
314314
instance: {
315315
'@id':
316-
'https://services.sentinel-hub.com/configuration/v1/wms/instances/cc6082af-2788-4b20-b0fe-54e13454bc66',
316+
'https://services.sentinel-hub.com/api/v2/configuration/instances/cc6082af-2788-4b20-b0fe-54e13454bc66',
317317
},
318318
dataset: {
319319
'@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/CUSTOM',
@@ -339,7 +339,7 @@ export function constructFixtureUpdateLayerFromServiceIfNeeded({
339339
},
340340
{
341341
'@id':
342-
'https://services.sentinel-hub.com/configuration/v1/wms/instances/cc6082af-2788-4b20-b0fe-54e13454bc66/layers/BYOC_AZER_SKY_TRUE_COLOR',
342+
'https://services.sentinel-hub.com/api/v2/configuration/instances/cc6082af-2788-4b20-b0fe-54e13454bc66/layers/BYOC_AZER_SKY_TRUE_COLOR',
343343
id: 'BYOC_AZER_SKY_TRUE_COLOR',
344344
title: 'BYOC_AZER_SKY_TRUE_COLOR',
345345
description: '',
@@ -354,7 +354,7 @@ export function constructFixtureUpdateLayerFromServiceIfNeeded({
354354
orderHint: 0,
355355
instance: {
356356
'@id':
357-
'https://services.sentinel-hub.com/configuration/v1/wms/instances/cc6082af-2788-4b20-b0fe-54e13454bc66',
357+
'https://services.sentinel-hub.com/api/v2/configuration/instances/cc6082af-2788-4b20-b0fe-54e13454bc66',
358358
},
359359
dataset: {
360360
'@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/CUSTOM',

src/layer/__tests__/fixtures.makeLayersSHv3.ts

+11-21
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { DATASET_S2L2A } from '../dataset';
22

33
export const getLayersFromConfigurationService = [
44
{
5-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId/layers/1_TRUE_COLOR',
65
id: '1_TRUE_COLOR',
76
title: 'True color',
87
description: 'Based on bands 4,3,2',
@@ -14,11 +13,9 @@ export const getLayersFromConfigurationService = [
1413
},
1514
],
1615
orderHint: 0,
17-
instance: {
18-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId',
19-
},
20-
dataset: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A' },
21-
datasetSource: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/sources/2' },
16+
instanceId: 'instanceId',
17+
collectionType: 'S2L2A',
18+
datasetSourceIdId: '2',
2219
defaultStyleName: 'default',
2320
datasourceDefaults: {
2421
temporal: false,
@@ -27,7 +24,6 @@ export const getLayersFromConfigurationService = [
2724
},
2825
},
2926
{
30-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId/layers/8-NDSI',
3127
id: '8-NDSI',
3228
title: 'NDSI',
3329
description: 'Based on combination of bands (B3 - B11)/(B3 + B11)',
@@ -40,11 +36,9 @@ export const getLayersFromConfigurationService = [
4036
},
4137
],
4238
orderHint: 70,
43-
instance: {
44-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId',
45-
},
46-
dataset: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A' },
47-
datasetSource: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/sources/2' },
39+
instanceId: 'instanceId',
40+
collectionType: 'S2L2A',
41+
datasetSourceId: '2',
4842
defaultStyleName: 'default',
4943
datasourceDefaults: {
5044
upsampling: 'NEAREST',
@@ -56,7 +50,6 @@ export const getLayersFromConfigurationService = [
5650
},
5751
},
5852
{
59-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId',
6053
id: 'B8A',
6154
title: 'B8A',
6255
description: 'Band 8A - Vegetation Red Edge - 865 nm|#bc0e10',
@@ -65,17 +58,14 @@ export const getLayersFromConfigurationService = [
6558
name: 'default',
6659
description: 'Default layer style',
6760
dataProduct: {
68-
'@id':
69-
'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/dataproducts/dataProductId',
61+
id: 'dataProductId',
7062
},
7163
},
7264
],
7365
orderHint: 0,
74-
instance: {
75-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/instanceId',
76-
},
77-
dataset: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A' },
78-
datasetSource: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/sources/2' },
66+
instanceId: 'instanceId',
67+
collectionType: 'S2L2A',
68+
datasetSourceId: '2',
7969
defaultStyleName: 'default',
8070
datasourceDefaults: {
8171
mosaickingOrder: 'mostRecent',
@@ -215,7 +205,7 @@ export const expectedResultConfigurationService = (
215205
evalscript: null as string,
216206
evalscriptUrl: null as string,
217207
dataProduct:
218-
'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/dataproducts/dataProductId',
208+
'https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L2A/dataproducts/dataProductId',
219209
upsampling: null as string,
220210
downsampling: null as string,
221211
mosaickingOrder: 'mostRecent',

src/layer/__tests__/fixtures.mosaickingOrder.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const getMapParams: GetMapParams = {
1313

1414
const mockedLayersResponse = [
1515
{
16-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/INSTANCE_ID/layers/LAYER_ID',
16+
'@id': 'https://services.sentinel-hub.com/api/v2/configuration/instances/INSTANCE_ID/layers/LAYER_ID',
1717
id: 'LAYER_ID',
1818
title: 'Title',
1919
description: 'Description',
@@ -27,7 +27,7 @@ const mockedLayersResponse = [
2727
],
2828
orderHint: 0,
2929
instance: {
30-
'@id': 'https://services.sentinel-hub.com/configuration/v1/wms/instances/INSTANCE_ID',
30+
'@id': 'https://services.sentinel-hub.com/api/v2/configuration/instances/INSTANCE_ID',
3131
},
3232
dataset: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A' },
3333
datasetSource: { '@id': 'https://services.sentinel-hub.com/configuration/v1/datasets/S2L2A/sources/2' },

src/layer/__tests__/testUtils.layers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ export const checkLayersParamsEndpoint = async (
2626
});
2727
await layer.updateLayerFromServiceIfNeeded({});
2828
expect(mockNetwork.history.get[0].url).toBe(
29-
`${expectedEndpoint}/configuration/v1/wms/instances/${instanceId}/layers`,
29+
`${expectedEndpoint}/api/v2/configuration/instances/${instanceId}/layers`,
3030
);
3131
};

src/layer/const.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ export const DEFAULT_FIND_TILES_MAX_COUNT_PARAMETER = 50;
235235
export type DataProductId = string;
236236

237237
export const SUPPORTED_DATA_PRODUCTS_PROCESSING: DataProductId[] = [
238-
'https://services.sentinel-hub.com/configuration/v1/datasets/S2L1C/dataproducts/643',
238+
'https://services.sentinel-hub.com/api/v2/configuration/datasets/S2L1C/dataproducts/643',
239239
];
240240

241241
export type BYOCBand = {

src/layer/utils.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ export async function fetchLayerParamsFromConfigurationService(
198198
throw new Error('Must be authenticated to fetch layer params');
199199
}
200200
const configurationServiceHostName = shServiceHostName ?? SH_SERVICE_ROOT_URL.default;
201-
const url = `${configurationServiceHostName}configuration/v1/wms/instances/${instanceId}/layers`;
201+
const url = `${configurationServiceHostName}api/v2/configuration/instances/${instanceId}/layers`;
202202
const headers = {
203203
Authorization: `Bearer ${authToken}`,
204204
};
@@ -229,7 +229,9 @@ export async function fetchLayerParamsFromConfigurationService(
229229
maxCloudCoverPercent: l.datasourceDefaults.maxCloudCoverage,
230230
}),
231231
evalscript: l.styles[0].evalScript,
232-
dataProduct: l.styles[0].dataProduct ? l.styles[0].dataProduct['@id'] : undefined,
232+
dataProduct: l.styles[0].dataProduct
233+
? `${configurationServiceHostName}api/v2/configuration/datasets/${l.collectionType}/dataproducts/${l.styles[0].dataProduct['id']}`
234+
: undefined,
233235
legend: l.styles.find((s: any) => s.name === l.defaultStyleName)
234236
? l.styles.find((s: any) => s.name === l.defaultStyleName).legend
235237
: null,

0 commit comments

Comments
 (0)