@cumulus/cmrjs 20.1.1 → 20.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nycrc.json +4 -4
- package/cmr-utils.d.ts +91 -49
- package/cmr-utils.d.ts.map +1 -1
- package/cmr-utils.js +170 -55
- package/cmr-utils.js.map +1 -1
- package/package.json +11 -10
- package/src/cmr-utils.js +215 -65
- package/tsconfig.tsbuildinfo +1 -1
package/cmr-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmr-utils.js","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmr-utils.js","sourceRoot":"","sources":["src/cmr-utils.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cumulus/cmrjs",
|
|
3
|
-
"version": "20.1.
|
|
3
|
+
"version": "20.1.2",
|
|
4
4
|
"description": "A node SDK for CMR",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.12.2"
|
|
@@ -36,13 +36,14 @@
|
|
|
36
36
|
"author": "Cumulus Authors",
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@cumulus/aws-client": "20.1.
|
|
40
|
-
"@cumulus/cmr-client": "20.1.
|
|
41
|
-
"@cumulus/common": "20.1.
|
|
42
|
-
"@cumulus/distribution-utils": "20.1.
|
|
43
|
-
"@cumulus/errors": "20.1.
|
|
44
|
-
"@cumulus/launchpad-auth": "20.1.
|
|
45
|
-
"@cumulus/logger": "20.1.
|
|
39
|
+
"@cumulus/aws-client": "20.1.2",
|
|
40
|
+
"@cumulus/cmr-client": "20.1.2",
|
|
41
|
+
"@cumulus/common": "20.1.2",
|
|
42
|
+
"@cumulus/distribution-utils": "20.1.2",
|
|
43
|
+
"@cumulus/errors": "20.1.2",
|
|
44
|
+
"@cumulus/launchpad-auth": "20.1.2",
|
|
45
|
+
"@cumulus/logger": "20.1.2",
|
|
46
|
+
"@cumulus/message": "20.1.2",
|
|
46
47
|
"got": "^11.8.1",
|
|
47
48
|
"js2xmlparser": "^4.0.0",
|
|
48
49
|
"lodash": "^4.17.21",
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
"xml2js": "0.5.0"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"@cumulus/types": "
|
|
55
|
+
"@cumulus/types": "20.1.2"
|
|
55
56
|
},
|
|
56
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "051ef1428ac21105fd55370d15e26009f4b49f57"
|
|
57
58
|
}
|
package/src/cmr-utils.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
//@ts-check
|
|
4
|
+
|
|
3
5
|
const got = require('got');
|
|
4
6
|
const get = require('lodash/get');
|
|
5
7
|
const pick = require('lodash/pick');
|
|
6
8
|
const set = require('lodash/set');
|
|
9
|
+
const cloneDeep = require('lodash/cloneDeep');
|
|
7
10
|
const { promisify } = require('util');
|
|
8
11
|
const js2xmlParser = require('js2xmlparser');
|
|
9
12
|
const path = require('path');
|
|
@@ -28,13 +31,22 @@ const errors = require('@cumulus/errors');
|
|
|
28
31
|
const { CMR, getSearchUrl, ummVersion } = require('@cumulus/cmr-client');
|
|
29
32
|
const { constructDistributionUrl } = require('@cumulus/distribution-utils');
|
|
30
33
|
const { getBucketAccessUrl } = require('@cumulus/cmr-client/getUrl');
|
|
34
|
+
const { constructCollectionId } = require('@cumulus/message/Collections');
|
|
31
35
|
const {
|
|
32
36
|
xmlParseOptions,
|
|
33
37
|
ummVersionToMetadataFormat,
|
|
34
38
|
} = require('./utils');
|
|
35
|
-
|
|
39
|
+
/* eslint-disable max-len */
|
|
40
|
+
/**
|
|
41
|
+
* @typedef {import('@cumulus/cmr-client/CMR').CMRConstructorParams} CMRConstructorParams
|
|
42
|
+
* @typedef {import('@cumulus/distribution-utils/dist/types').DistributionBucketMap} DistributionBucketMap
|
|
43
|
+
* @typedef {import('@cumulus/types').ApiFile} ApiFile
|
|
44
|
+
*/
|
|
45
|
+
/* eslint-enable max-len */
|
|
36
46
|
const log = new Logger({ sender: '@cumulus/cmrjs/src/cmr-utils' });
|
|
37
47
|
|
|
48
|
+
const s3CredsEndpoint = 's3credentials';
|
|
49
|
+
|
|
38
50
|
/**
|
|
39
51
|
* @typedef {{
|
|
40
52
|
* provider: string,
|
|
@@ -228,18 +240,16 @@ async function publishUMMGJSON2CMR(cmrFile, cmrClient, revisionId) {
|
|
|
228
240
|
* @param {string} cmrRevisionId - Optional CMR Revision ID
|
|
229
241
|
* if not provided, CMR username and password are used to get a cmr token
|
|
230
242
|
*/
|
|
231
|
-
|
|
243
|
+
function publish2CMR(cmrPublishObject, creds, cmrRevisionId) {
|
|
232
244
|
const cmrClient = new CMR(creds);
|
|
233
245
|
const cmrFileName = getFilename(cmrPublishObject);
|
|
234
|
-
|
|
235
246
|
// choose xml or json and do the things.
|
|
236
247
|
if (isECHO10Filename(cmrFileName)) {
|
|
237
|
-
return
|
|
248
|
+
return publishECHO10XML2CMR(cmrPublishObject, cmrClient, cmrRevisionId);
|
|
238
249
|
}
|
|
239
250
|
if (isUMMGFilename(cmrFileName)) {
|
|
240
|
-
return
|
|
251
|
+
return publishUMMGJSON2CMR(cmrPublishObject, cmrClient, cmrRevisionId);
|
|
241
252
|
}
|
|
242
|
-
|
|
243
253
|
throw new Error(`invalid cmrPublishObject passed to publis2CMR ${JSON.stringify(cmrPublishObject)}`);
|
|
244
254
|
}
|
|
245
255
|
|
|
@@ -480,10 +490,9 @@ function generateFileUrl({
|
|
|
480
490
|
/**
|
|
481
491
|
* Construct online access url for a given file and a url type.
|
|
482
492
|
*
|
|
483
|
-
* @param {Object} params - input parameters
|
|
484
493
|
* @param {Object} params.file - file object
|
|
485
494
|
* @param {string} params.distEndpoint - distribution endpoint from config
|
|
486
|
-
* @param {
|
|
495
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket name to bucket type
|
|
487
496
|
* @param {Object} params.urlType - url type, distribution or s3
|
|
488
497
|
* @param {distributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path mapping
|
|
489
498
|
* for all distribution bucketss
|
|
@@ -518,10 +527,9 @@ function constructOnlineAccessUrl({
|
|
|
518
527
|
/**
|
|
519
528
|
* Construct a list of online access urls grouped by link type.
|
|
520
529
|
*
|
|
521
|
-
* @param {Object} params - input parameters
|
|
522
530
|
* @param {Array<Object>} params.files - array of file objects
|
|
523
531
|
* @param {string} params.distEndpoint - distribution endpoint from config
|
|
524
|
-
* @param {
|
|
532
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket name to bucket type
|
|
525
533
|
* @param {string} params.cmrGranuleUrlType - cmrGranuleUrlType from config
|
|
526
534
|
* @param {distributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path mapping
|
|
527
535
|
* for all distribution bucketss
|
|
@@ -576,10 +584,9 @@ function constructOnlineAccessUrls({
|
|
|
576
584
|
* @param {Object} params - input parameters
|
|
577
585
|
* @param {Array<Object>} params.files - array of file objects
|
|
578
586
|
* @param {string} params.distEndpoint - distribution endpoint from config
|
|
579
|
-
* @param {
|
|
580
|
-
* @param {string} params.s3CredsEndpoint - Optional endpoint for acquiring temporary s3 creds
|
|
587
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
581
588
|
* @param {string} params.cmrGranuleUrlType - cmrGranuleUrlType from config
|
|
582
|
-
* @param {
|
|
589
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
583
590
|
* mapping for all distribution buckets
|
|
584
591
|
* @param {boolean} params.useDirectS3Type - indicate if direct s3 access type is used
|
|
585
592
|
* @returns {Promise<[{URL: string, string, Description: string, Type: string}]>}
|
|
@@ -589,7 +596,6 @@ function constructRelatedUrls({
|
|
|
589
596
|
files,
|
|
590
597
|
distEndpoint,
|
|
591
598
|
bucketTypes,
|
|
592
|
-
s3CredsEndpoint = 's3credentials',
|
|
593
599
|
cmrGranuleUrlType = 'both',
|
|
594
600
|
distributionBucketMap,
|
|
595
601
|
useDirectS3Type = false,
|
|
@@ -612,7 +618,7 @@ function constructRelatedUrls({
|
|
|
612
618
|
/**
|
|
613
619
|
* Create a list of URL objects that should not appear under onlineAccess in the CMR metadata.
|
|
614
620
|
* @param {Array<Object>} files - array of updated file objects
|
|
615
|
-
* @param {
|
|
621
|
+
* @param {{ [key: string]: string }} bucketTypes - map of buckets name to bucket types
|
|
616
622
|
* @returns {Array<Object>} array of files to be omitted in cmr's OnlineAccessURLs
|
|
617
623
|
*/
|
|
618
624
|
function onlineAccessURLsToRemove(files, bucketTypes) {
|
|
@@ -720,6 +726,44 @@ function shouldUseDirectS3Type(metadataObject) {
|
|
|
720
726
|
return false;
|
|
721
727
|
}
|
|
722
728
|
|
|
729
|
+
/**
|
|
730
|
+
* Update the UMMG cmr metadata object to have corrected urls
|
|
731
|
+
*
|
|
732
|
+
* @param {Object} params.metadataObject - ummg cmr metadata object
|
|
733
|
+
* @param {Array<ApiFile>} params.files - files with which to update the cmr metadata
|
|
734
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
735
|
+
* @param {string} params.cmrGranuleUrlType
|
|
736
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
737
|
+
* mapping for all distribution buckets
|
|
738
|
+
* @returns {Object}
|
|
739
|
+
*/
|
|
740
|
+
function updateUMMGMetadataObject({
|
|
741
|
+
metadataObject,
|
|
742
|
+
files,
|
|
743
|
+
distEndpoint,
|
|
744
|
+
bucketTypes,
|
|
745
|
+
cmrGranuleUrlType = 'both',
|
|
746
|
+
distributionBucketMap,
|
|
747
|
+
}) {
|
|
748
|
+
const updatedMetadataObject = cloneDeep(metadataObject);
|
|
749
|
+
const useDirectS3Type = shouldUseDirectS3Type(updatedMetadataObject);
|
|
750
|
+
|
|
751
|
+
const newURLs = constructRelatedUrls({
|
|
752
|
+
files,
|
|
753
|
+
distEndpoint,
|
|
754
|
+
bucketTypes,
|
|
755
|
+
cmrGranuleUrlType,
|
|
756
|
+
distributionBucketMap,
|
|
757
|
+
useDirectS3Type,
|
|
758
|
+
});
|
|
759
|
+
|
|
760
|
+
const removedURLs = onlineAccessURLsToRemove(files, bucketTypes);
|
|
761
|
+
const originalURLs = get(updatedMetadataObject, 'RelatedUrls', []);
|
|
762
|
+
const mergedURLs = mergeURLs(originalURLs, newURLs, removedURLs);
|
|
763
|
+
set(updatedMetadataObject, 'RelatedUrls', mergedURLs);
|
|
764
|
+
return updatedMetadataObject;
|
|
765
|
+
}
|
|
766
|
+
|
|
723
767
|
/**
|
|
724
768
|
* After files are moved, create new online access URLs and then update the S3
|
|
725
769
|
* UMMG cmr.json file with this information.
|
|
@@ -728,9 +772,9 @@ function shouldUseDirectS3Type(metadataObject) {
|
|
|
728
772
|
* @param {Object} params.cmrFile - cmr.json file whose contents will be updated.
|
|
729
773
|
* @param {Array<Object>} params.files - array of moved file objects.
|
|
730
774
|
* @param {string} params.distEndpoint - distribution endpoint form config.
|
|
731
|
-
* @param {
|
|
775
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
732
776
|
* @param {string} params.cmrGranuleUrlType - cmrGranuleUrlType from config
|
|
733
|
-
* @param {
|
|
777
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
734
778
|
* mapping for all distribution buckets
|
|
735
779
|
* @returns {Promise<{ metadataObject: Object, etag: string}>} an object
|
|
736
780
|
* containing a `metadataObject` (the updated UMMG metadata object) and the
|
|
@@ -746,41 +790,31 @@ async function updateUMMGMetadata({
|
|
|
746
790
|
}) {
|
|
747
791
|
const filename = getS3UrlOfFile(cmrFile);
|
|
748
792
|
const metadataObject = await metadataObjectFromCMRJSONFile(filename);
|
|
749
|
-
const
|
|
750
|
-
|
|
751
|
-
const newURLs = constructRelatedUrls({
|
|
793
|
+
const updatedMetadataObject = updateUMMGMetadataObject({
|
|
794
|
+
metadataObject,
|
|
752
795
|
files,
|
|
753
796
|
distEndpoint,
|
|
754
797
|
bucketTypes,
|
|
755
798
|
cmrGranuleUrlType,
|
|
756
799
|
distributionBucketMap,
|
|
757
|
-
useDirectS3Type,
|
|
758
800
|
});
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
const originalURLs = get(metadataObject, 'RelatedUrls', []);
|
|
762
|
-
const mergedURLs = mergeURLs(originalURLs, newURLs, removedURLs);
|
|
763
|
-
set(metadataObject, 'RelatedUrls', mergedURLs);
|
|
764
|
-
|
|
765
|
-
const { ETag: etag } = await uploadUMMGJSONCMRFile(metadataObject, cmrFile);
|
|
766
|
-
return { metadataObject, etag };
|
|
801
|
+
const { ETag: etag } = await uploadUMMGJSONCMRFile(updatedMetadataObject, cmrFile);
|
|
802
|
+
return { metadataObject: updatedMetadataObject, etag };
|
|
767
803
|
}
|
|
768
804
|
|
|
769
805
|
/**
|
|
770
806
|
* Helper to build an CMR settings object, used to initialize CMR.
|
|
771
807
|
*
|
|
772
808
|
* @param {Object} cmrConfig - CMR configuration object
|
|
773
|
-
* @param {string}
|
|
774
|
-
* @param {string}
|
|
775
|
-
* @param {string}
|
|
776
|
-
* @param {string}
|
|
777
|
-
* @param {string}
|
|
778
|
-
* @param {string}
|
|
779
|
-
* @param {string}
|
|
780
|
-
* @param {string}
|
|
781
|
-
* @returns {Promise<
|
|
782
|
-
* object to
|
|
783
|
-
* create CMR instance - contains the
|
|
809
|
+
* @param {string} cmrConfig.oauthProvider - Oauth provider: launchpad or earthdata
|
|
810
|
+
* @param {string} cmrConfig.provider - the CMR provider
|
|
811
|
+
* @param {string} cmrConfig.clientId - Client id for CMR requests
|
|
812
|
+
* @param {string} cmrConfig.passphraseSecretName - Launchpad passphrase secret name
|
|
813
|
+
* @param {string} cmrConfig.api - Launchpad api
|
|
814
|
+
* @param {string} cmrConfig.certificate - Launchpad certificate
|
|
815
|
+
* @param {string} cmrConfig.username - EDL username
|
|
816
|
+
* @param {string} cmrConfig.passwordSecretName - CMR password secret name
|
|
817
|
+
* @returns {Promise<CMRConstructorParams>} object to create CMR instance - contains the
|
|
784
818
|
* provider, clientId, and either launchpad token or EDL username and
|
|
785
819
|
* password
|
|
786
820
|
*/
|
|
@@ -879,31 +913,24 @@ function buildMergedEchoURLObject(URLlist = [], originalURLlist = [], removedURL
|
|
|
879
913
|
}
|
|
880
914
|
|
|
881
915
|
/**
|
|
882
|
-
*
|
|
883
|
-
* the S3 ECHO10 CMR XML file with this information.
|
|
916
|
+
* Update the Echo10 cmr metadata object to have corrected urls
|
|
884
917
|
*
|
|
885
|
-
* @param {Object} params -
|
|
886
|
-
* @param {Object} params.
|
|
887
|
-
* @param {
|
|
888
|
-
* @param {string} params.
|
|
889
|
-
* @param {
|
|
890
|
-
* @param {Object} params.distributionBucketMap - Object with bucket:tea-path
|
|
918
|
+
* @param {Object} params.metadataObject - xml cmr metadata object
|
|
919
|
+
* @param {Array<Object>} params.files - files with which to update the cmr metadata
|
|
920
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
921
|
+
* @param {string} params.cmrGranuleUrlType
|
|
922
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
891
923
|
* mapping for all distribution buckets
|
|
892
|
-
* @returns {
|
|
893
|
-
* containing a `metadataObject` and the `etag` of the uploaded CMR file
|
|
924
|
+
* @returns {Object}
|
|
894
925
|
*/
|
|
895
|
-
|
|
896
|
-
|
|
926
|
+
function updateEcho10XMLMetadataObject({
|
|
927
|
+
metadataObject,
|
|
897
928
|
files,
|
|
898
929
|
distEndpoint,
|
|
899
930
|
bucketTypes,
|
|
900
|
-
s3CredsEndpoint = 's3credentials',
|
|
901
931
|
cmrGranuleUrlType = 'both',
|
|
902
932
|
distributionBucketMap,
|
|
903
933
|
}) {
|
|
904
|
-
// add/replace the OnlineAccessUrls
|
|
905
|
-
const filename = getS3UrlOfFile(cmrFile);
|
|
906
|
-
const metadataObject = await metadataObjectFromCMRXMLFile(filename);
|
|
907
934
|
const metadataGranule = metadataObject.Granule;
|
|
908
935
|
const updatedGranule = { ...metadataGranule };
|
|
909
936
|
|
|
@@ -923,23 +950,60 @@ async function updateEcho10XMLMetadata({
|
|
|
923
950
|
distributionBucketMap,
|
|
924
951
|
});
|
|
925
952
|
newURLs.push(getS3CredentialsObject(urljoin(distEndpoint, s3CredsEndpoint)));
|
|
926
|
-
|
|
927
953
|
const mergedOnlineResources = buildMergedEchoURLObject(newURLs, originalOnlineResourceURLs,
|
|
928
954
|
removedURLs, ['EXTENDED METADATA', 'VIEW RELATED INFORMATION'], ['URLDescription']);
|
|
929
955
|
const mergedOnlineAccessURLs = buildMergedEchoURLObject(newURLs, originalOnlineAccessURLs,
|
|
930
956
|
removedURLs, ['GET DATA', 'GET DATA VIA DIRECT ACCESS'], ['Type', 'Description']);
|
|
931
957
|
const mergedAssociatedBrowse = buildMergedEchoURLObject(newURLs, originalAssociatedBrowseURLs,
|
|
932
958
|
removedURLs, ['GET RELATED VISUALIZATION'], ['URLDescription', 'Type']);
|
|
933
|
-
|
|
934
959
|
// Update the Granule with the updated/merged lists
|
|
935
960
|
set(updatedGranule, 'OnlineAccessURLs.OnlineAccessURL', mergedOnlineAccessURLs);
|
|
936
961
|
set(updatedGranule, 'OnlineResources.OnlineResource', mergedOnlineResources);
|
|
937
962
|
set(updatedGranule, 'AssociatedBrowseImageUrls.ProviderBrowseUrl', mergedAssociatedBrowse);
|
|
938
963
|
|
|
939
|
-
|
|
940
|
-
|
|
964
|
+
return {
|
|
965
|
+
...metadataObject,
|
|
966
|
+
Granule: updatedGranule,
|
|
967
|
+
};
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
/**
|
|
971
|
+
* After files are moved, creates new online access URLs and then updates
|
|
972
|
+
* the S3 ECHO10 CMR XML file with this information.
|
|
973
|
+
*
|
|
974
|
+
* @param {Object} params - parameter object
|
|
975
|
+
* @param {Object} params.cmrFile - cmr xml file object to be updated
|
|
976
|
+
* @param {Array<Object>} params.files - array of file objects
|
|
977
|
+
* @param {string} params.distEndpoint - distribution endpoint from config
|
|
978
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
979
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
980
|
+
* mapping for all distribution buckets
|
|
981
|
+
* @returns {Promise<{ metadataObject: Object, etag: string}>} an object
|
|
982
|
+
* containing a `metadataObject` and the `etag` of the uploaded CMR file
|
|
983
|
+
*/
|
|
984
|
+
async function updateEcho10XMLMetadata({
|
|
985
|
+
cmrFile,
|
|
986
|
+
files,
|
|
987
|
+
distEndpoint,
|
|
988
|
+
bucketTypes,
|
|
989
|
+
cmrGranuleUrlType = 'both',
|
|
990
|
+
distributionBucketMap,
|
|
991
|
+
}) {
|
|
992
|
+
// add/replace the OnlineAccessUrls
|
|
993
|
+
const filename = getS3UrlOfFile(cmrFile);
|
|
994
|
+
const metadataObject = await metadataObjectFromCMRXMLFile(filename);
|
|
995
|
+
|
|
996
|
+
const updatedMetadataObject = updateEcho10XMLMetadataObject({
|
|
997
|
+
metadataObject,
|
|
998
|
+
files,
|
|
999
|
+
distEndpoint,
|
|
1000
|
+
bucketTypes,
|
|
1001
|
+
cmrGranuleUrlType,
|
|
1002
|
+
distributionBucketMap,
|
|
1003
|
+
});
|
|
1004
|
+
const xml = generateEcho10XMLString(updatedMetadataObject.Granule);
|
|
941
1005
|
const { ETag: etag } = await uploadEcho10CMRFile(xml, cmrFile);
|
|
942
|
-
return { metadataObject, etag };
|
|
1006
|
+
return { metadataObject: updatedMetadataObject, etag };
|
|
943
1007
|
}
|
|
944
1008
|
|
|
945
1009
|
/**
|
|
@@ -948,12 +1012,12 @@ async function updateEcho10XMLMetadata({
|
|
|
948
1012
|
* @param {Object} params - parameter object
|
|
949
1013
|
* @param {string} params.granuleId - granuleId
|
|
950
1014
|
* @param {Object} params.cmrFile - cmr xml file to be updated
|
|
951
|
-
* @param {Array<
|
|
1015
|
+
* @param {Array<ApiFile>} params.files - array of file objects
|
|
952
1016
|
* @param {string} params.distEndpoint - distribution enpoint from config
|
|
953
1017
|
* @param {boolean} params.published - indicate if publish is needed
|
|
954
|
-
* @param {
|
|
1018
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
955
1019
|
* @param {string} params.cmrGranuleUrlType - type of granule CMR url
|
|
956
|
-
* @param {
|
|
1020
|
+
* @param {DistributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path
|
|
957
1021
|
* mapping for all distribution buckets
|
|
958
1022
|
* @returns {Promise<Object>} CMR file object with the `etag` of the newly
|
|
959
1023
|
* updated metadata file
|
|
@@ -1016,7 +1080,7 @@ async function updateCMRMetadata({
|
|
|
1016
1080
|
* @param {string} params.distEndpoint - distribution endpoint URL
|
|
1017
1081
|
* @param {boolean} params.published - boolean true if the data should be published to
|
|
1018
1082
|
* the CMR service.
|
|
1019
|
-
* @param {
|
|
1083
|
+
* @param {{ [key: string]: string }} params.bucketTypes - map of bucket names to bucket types
|
|
1020
1084
|
* @param {string} params.cmrGranuleUrlType - type of granule CMR url
|
|
1021
1085
|
* @param {distributionBucketMap} params.distributionBucketMap - Object with bucket:tea-path mapping
|
|
1022
1086
|
* for all distribution buckets
|
|
@@ -1253,6 +1317,87 @@ async function getGranuleTemporalInfo(granule) {
|
|
|
1253
1317
|
return {};
|
|
1254
1318
|
}
|
|
1255
1319
|
|
|
1320
|
+
/**
|
|
1321
|
+
* Update collection in an ECHO10 cmr metadata object
|
|
1322
|
+
*
|
|
1323
|
+
* @param {object} cmrObject - CMR metadata object
|
|
1324
|
+
* @param {{ name: string, version: string }} collection - collection name and version to update to
|
|
1325
|
+
* @returns {object}
|
|
1326
|
+
*/
|
|
1327
|
+
const setECHO10Collection = (
|
|
1328
|
+
cmrObject,
|
|
1329
|
+
collection
|
|
1330
|
+
) => {
|
|
1331
|
+
const cmrObjectCopy = cloneDeep(cmrObject);
|
|
1332
|
+
if (!cmrObjectCopy.Granule) {
|
|
1333
|
+
throw new errors.ValidationError(
|
|
1334
|
+
`invalid ECHO10 cmr metadata ${JSON.stringify(cmrObjectCopy)}, must have granule tag`
|
|
1335
|
+
);
|
|
1336
|
+
}
|
|
1337
|
+
cmrObjectCopy.Granule.Collection = {
|
|
1338
|
+
ShortName: collection.name,
|
|
1339
|
+
VersionId: collection.version,
|
|
1340
|
+
};
|
|
1341
|
+
return cmrObjectCopy;
|
|
1342
|
+
};
|
|
1343
|
+
|
|
1344
|
+
/**
|
|
1345
|
+
* Update collection in an UMMG cmr metadata object
|
|
1346
|
+
*
|
|
1347
|
+
* @param {object} cmrObject - CMR metadata object
|
|
1348
|
+
* @param {{ name: string, version: string }} collection - collection name and version to update to
|
|
1349
|
+
* @returns {object}
|
|
1350
|
+
*/
|
|
1351
|
+
const setUMMGCollection = (
|
|
1352
|
+
cmrObject,
|
|
1353
|
+
collection
|
|
1354
|
+
) => {
|
|
1355
|
+
const cmrObjectCopy = cloneDeep(cmrObject);
|
|
1356
|
+
set(cmrObjectCopy, 'CollectionReference', {
|
|
1357
|
+
ShortName: collection.name,
|
|
1358
|
+
Version: collection.version,
|
|
1359
|
+
});
|
|
1360
|
+
return cmrObjectCopy;
|
|
1361
|
+
};
|
|
1362
|
+
|
|
1363
|
+
/**
|
|
1364
|
+
* Get collectionId from cmr metadata
|
|
1365
|
+
* @param {object} cmrObject - cmr metadata object
|
|
1366
|
+
* @param {string} cmrFileName - used to know how to parse this object
|
|
1367
|
+
* @returns {string}
|
|
1368
|
+
*/
|
|
1369
|
+
const getCMRCollectionId = (
|
|
1370
|
+
cmrObject,
|
|
1371
|
+
cmrFileName
|
|
1372
|
+
) => {
|
|
1373
|
+
if (isUMMGFilename(cmrFileName)) {
|
|
1374
|
+
const collectionName = cmrObject.CollectionReference?.ShortName;
|
|
1375
|
+
const collectionVersion = cmrObject.CollectionReference?.Version;
|
|
1376
|
+
if (!(collectionName && collectionVersion)) {
|
|
1377
|
+
throw new errors.ValidationError(
|
|
1378
|
+
'UMMG metadata file has invalid collection configuration' +
|
|
1379
|
+
` ${JSON.stringify(cmrObject.CollectionReference)}`
|
|
1380
|
+
);
|
|
1381
|
+
}
|
|
1382
|
+
return constructCollectionId(
|
|
1383
|
+
collectionName,
|
|
1384
|
+
collectionVersion
|
|
1385
|
+
);
|
|
1386
|
+
}
|
|
1387
|
+
const collectionName = cmrObject.Granule?.Collection?.ShortName;
|
|
1388
|
+
const collectionVersion = cmrObject.Granule?.Collection?.VersionId;
|
|
1389
|
+
if (!(collectionName && collectionVersion)) {
|
|
1390
|
+
throw new errors.ValidationError(
|
|
1391
|
+
'ECHO10 metadata file has invalid collection configuration' +
|
|
1392
|
+
` ${JSON.stringify(cmrObject.Granule?.Collection)}`
|
|
1393
|
+
);
|
|
1394
|
+
}
|
|
1395
|
+
return constructCollectionId(
|
|
1396
|
+
collectionName,
|
|
1397
|
+
collectionVersion
|
|
1398
|
+
);
|
|
1399
|
+
};
|
|
1400
|
+
|
|
1256
1401
|
module.exports = {
|
|
1257
1402
|
addEtagsToFileObjects,
|
|
1258
1403
|
constructCmrConceptLink,
|
|
@@ -1262,6 +1407,7 @@ module.exports = {
|
|
|
1262
1407
|
generateFileUrl,
|
|
1263
1408
|
granuleToCmrFileObject,
|
|
1264
1409
|
getCmrSettings,
|
|
1410
|
+
getCMRCollectionId,
|
|
1265
1411
|
getFileDescription,
|
|
1266
1412
|
getFilename,
|
|
1267
1413
|
getGranuleTemporalInfo,
|
|
@@ -1283,6 +1429,10 @@ module.exports = {
|
|
|
1283
1429
|
removeEtagsFromFileObjects,
|
|
1284
1430
|
removeFromCMR,
|
|
1285
1431
|
updateCMRMetadata,
|
|
1432
|
+
updateEcho10XMLMetadataObject,
|
|
1433
|
+
updateUMMGMetadataObject,
|
|
1434
|
+
setECHO10Collection,
|
|
1435
|
+
setUMMGCollection,
|
|
1286
1436
|
uploadEcho10CMRFile,
|
|
1287
1437
|
uploadUMMGJSONCMRFile,
|
|
1288
1438
|
};
|