@cumulus/message 20.0.1 → 20.1.0

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/Granules.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Message } from '@cumulus/types';
2
2
  import { ExecutionProcessingTimes } from '@cumulus/types/api/executions';
3
- import { ApiGranule, GranuleStatus, GranuleTemporalInfo, MessageGranule } from '@cumulus/types/api/granules';
3
+ import { ApiGranule, GranuleStatus, GranuleTemporalInfo, PartialGranuleTemporalInfo, MessageGranule } from '@cumulus/types/api/granules';
4
4
  import { ApiFile } from '@cumulus/types/api/files';
5
5
  import { CmrUtilsClass } from './types';
6
6
  interface MetaWithGranuleQueryFields extends Message.Meta {
@@ -93,7 +93,7 @@ export declare const getGranuleCmrTemporalInfo: ({ granule, cmrTemporalInfo, cmr
93
93
  granule: MessageGranule;
94
94
  cmrTemporalInfo?: GranuleTemporalInfo | undefined;
95
95
  cmrUtils: CmrUtilsClass;
96
- }) => Promise<GranuleTemporalInfo | {}>;
96
+ }) => Promise<PartialGranuleTemporalInfo | {}>;
97
97
  /**
98
98
  * Generate an API granule record
99
99
  *
package/Granules.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Granules.d.ts","sourceRoot":"","sources":["src/Granules.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,0BAA2B,SAAQ,OAAO,CAAC,IAAI;IACvD,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED,UAAU,mBAAoB,SAAQ,OAAO,CAAC,cAAc;IAC1D,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,YACpB,mBAAmB,KAC3B,OAAO,EAAqC,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YACpB,mBAAmB,KAC3B,OAAmD,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,mBACX,QAAQ,cAAc,WAC7B,cAAc,KACtB,QAAQ,cAAc,GAAG,aAAiD,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YACvB,mBAAmB,YACS,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,kBAAkB,OAAO,EAAE,KAAQ,MAMtE,CAAC;AAEF,eAAO,MAAM,0BAA0B;;YAEA,CAAC;AAExC,eAAO,MAAM,uBAAuB;;YAEE,CAAC;AA6BvC;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,wBAClB,wBAAwB,KAC5C,wBAAwB,GAAG,EAQ7B,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;aAK3B,cAAc;;cAEb,aAAa;MACrB,QAAQ,mBAAmB,GAAG,EAAE,CAenC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;aAoB1B,cAAc;;kBAET,MAAM;;;;YAIZ,aAAa;;eAEV,MAAM;;;eAGN,MAAM;cACP,aAAa;;cAEb,MAAM;mBACD,MAAM;sBACH,MAAM;mBACT,MAAM;MACnB,QAAQ,UAAU,CAyDrB,CAAC"}
1
+ {"version":3,"file":"Granules.d.ts","sourceRoot":"","sources":["src/Granules.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,UAAU,0BAA2B,SAAQ,OAAO,CAAC,IAAI;IACvD,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAA;CACF;AAED,UAAU,mBAAoB,SAAQ,OAAO,CAAC,cAAc;IAC1D,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;CACF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,YACpB,mBAAmB,KAC3B,OAAO,EAAqC,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,YACpB,mBAAmB,KAC3B,OAAmD,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,mBACX,QAAQ,cAAc,WAC7B,cAAc,KACtB,QAAQ,cAAc,GAAG,aAAiD,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,YACvB,mBAAmB,YACS,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,kBAAkB,OAAO,EAAE,KAAQ,MAMtE,CAAC;AAEF,eAAO,MAAM,0BAA0B;;YAEA,CAAC;AAExC,eAAO,MAAM,uBAAuB;;YAEE,CAAC;AA+BvC;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,wBAClB,wBAAwB,KAC5C,wBAAwB,GAAG,EAQ7B,CAAC;AAWF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;aAK3B,cAAc;;cAEb,aAAa;MACrB,QAAQ,0BAA0B,GAAG,EAAE,CAe1C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;aAoB1B,cAAc;;kBAET,MAAM;;;;YAIZ,aAAa;;eAEV,MAAM;;;eAGN,MAAM;cACP,aAAa;;cAEb,MAAM;mBACD,MAAM;sBACH,MAAM;mBACT,MAAM;MACnB,QAAQ,UAAU,CAyDrB,CAAC"}
package/Granules.js CHANGED
@@ -12,6 +12,7 @@ exports.generateGranuleApiRecord = exports.getGranuleCmrTemporalInfo = exports.g
12
12
  * const Granules = require('@cumulus/message/Granules');
13
13
  */
14
14
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
15
+ const isNil_1 = __importDefault(require("lodash/isNil"));
15
16
  const isInteger_1 = __importDefault(require("lodash/isInteger"));
16
17
  const isUndefined_1 = __importDefault(require("lodash/isUndefined"));
17
18
  const mapValues_1 = __importDefault(require("lodash/mapValues"));
@@ -94,13 +95,16 @@ function isProcessingTimeInfo(info = {}) {
94
95
  }
95
96
  /**
96
97
  * ** Private **
97
- * Convert date string to standard ISO format, retaining null values if they exist
98
+ * Convert date string to standard ISO format, retaining null/undefined values if they exist
99
+ * and converting '' to null
98
100
  *
99
101
  * @param {string} date - Date string, possibly in multiple formats
100
102
  * @returns {string} Standardized ISO date string
101
103
  */
102
- const convertDateToISOStringPreservingNull = (date) => {
103
- if (date === null)
104
+ const convertDateToISOStringSettingNull = (date) => {
105
+ if ((0, isNil_1.default)(date))
106
+ return date;
107
+ if (date === '')
104
108
  return null;
105
109
  return convertDateToISOString(date);
106
110
  };
@@ -116,7 +120,7 @@ const getGranuleProcessingTimeInfo = (processingTimeInfo) => {
116
120
  const updatedProcessingTimeInfo = isProcessingTimeInfo(processingTimeInfo)
117
121
  ? { ...processingTimeInfo }
118
122
  : {};
119
- return (0, mapValues_1.default)(updatedProcessingTimeInfo, convertDateToISOStringPreservingNull);
123
+ return (0, mapValues_1.default)(updatedProcessingTimeInfo, convertDateToISOStringSettingNull);
120
124
  };
121
125
  exports.getGranuleProcessingTimeInfo = getGranuleProcessingTimeInfo;
122
126
  function isGranuleTemporalInfo(info = {}) {
@@ -147,7 +151,7 @@ const getGranuleCmrTemporalInfo = async ({ granule, cmrTemporalInfo, cmrUtils, }
147
151
  if ((0, isEmpty_1.default)(temporalInfo)) {
148
152
  return (0, pick_1.default)(granule, ['beginningDateTime', 'endingDateTime', 'productionDateTime', 'lastUpdateDateTime']);
149
153
  }
150
- return (0, mapValues_1.default)(temporalInfo, convertDateToISOStringPreservingNull);
154
+ return (0, mapValues_1.default)(temporalInfo, convertDateToISOStringSettingNull);
151
155
  };
152
156
  exports.getGranuleCmrTemporalInfo = getGranuleCmrTemporalInfo;
153
157
  /**
package/Granules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Granules.js","sourceRoot":"","sources":["src/Granules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Granules.js","sourceRoot":"","sources":["src/Granules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cumulus/message",
3
- "version": "20.0.1",
3
+ "version": "20.1.0",
4
4
  "description": "Utilities for building and parsing Cumulus messages",
5
5
  "keywords": [
6
6
  "GIBS",
@@ -41,11 +41,11 @@
41
41
  "author": "Cumulus Authors",
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
- "@cumulus/aws-client": "20.0.1",
45
- "@cumulus/common": "20.0.1",
46
- "@cumulus/errors": "20.0.1",
47
- "@cumulus/logger": "20.0.1",
48
- "@cumulus/types": "20.0.1",
44
+ "@cumulus/aws-client": "20.1.0",
45
+ "@cumulus/common": "20.1.0",
46
+ "@cumulus/errors": "20.1.0",
47
+ "@cumulus/logger": "20.1.0",
48
+ "@cumulus/types": "20.1.0",
49
49
  "jsonpath-plus": "^10.0.0",
50
50
  "lodash": "^4.17.21",
51
51
  "uuidv4": "^6.2.13"
@@ -53,5 +53,5 @@
53
53
  "devDependencies": {
54
54
  "@types/uuid": "^8.0.0"
55
55
  },
56
- "gitHead": "3bfee176543ede36c4ca902f4af9c6d108454468"
56
+ "gitHead": "c2ecf1ce2ae86a16639848c7d42b579a7380c2f3"
57
57
  }
package/src/Granules.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  */
10
10
 
11
11
  import isEmpty from 'lodash/isEmpty';
12
+ import isNil from 'lodash/isNil';
12
13
  import isInteger from 'lodash/isInteger';
13
14
  import isUndefined from 'lodash/isUndefined';
14
15
  import mapValues from 'lodash/mapValues';
@@ -22,6 +23,7 @@ import {
22
23
  ApiGranule,
23
24
  GranuleStatus,
24
25
  GranuleTemporalInfo,
26
+ PartialGranuleTemporalInfo,
25
27
  MessageGranule,
26
28
  } from '@cumulus/types/api/granules';
27
29
  import { ApiFile } from '@cumulus/types/api/files';
@@ -133,13 +135,15 @@ function isProcessingTimeInfo(
133
135
 
134
136
  /**
135
137
  * ** Private **
136
- * Convert date string to standard ISO format, retaining null values if they exist
138
+ * Convert date string to standard ISO format, retaining null/undefined values if they exist
139
+ * and converting '' to null
137
140
  *
138
141
  * @param {string} date - Date string, possibly in multiple formats
139
142
  * @returns {string} Standardized ISO date string
140
143
  */
141
- const convertDateToISOStringPreservingNull = (date: string | null) => {
142
- if (date === null) return null;
144
+ const convertDateToISOStringSettingNull = (date: string | null | undefined) => {
145
+ if (isNil(date)) return date;
146
+ if (date === '') return null;
143
147
  return convertDateToISOString(date);
144
148
  };
145
149
 
@@ -159,7 +163,7 @@ export const getGranuleProcessingTimeInfo = (
159
163
  : {};
160
164
  return mapValues(
161
165
  updatedProcessingTimeInfo,
162
- convertDateToISOStringPreservingNull
166
+ convertDateToISOStringSettingNull
163
167
  );
164
168
  };
165
169
 
@@ -193,12 +197,12 @@ export const getGranuleCmrTemporalInfo = async ({
193
197
  granule: MessageGranule,
194
198
  cmrTemporalInfo?: GranuleTemporalInfo,
195
199
  cmrUtils: CmrUtilsClass
196
- }): Promise<GranuleTemporalInfo | {}> => {
200
+ }): Promise<PartialGranuleTemporalInfo | {}> => {
197
201
  // Get CMR temporalInfo (beginningDateTime, endingDateTime,
198
202
  // productionDateTime, lastUpdateDateTime)
199
203
  const temporalInfo = isGranuleTemporalInfo(cmrTemporalInfo)
200
204
  ? { ...cmrTemporalInfo }
201
- : await cmrUtils.getGranuleTemporalInfo(granule);
205
+ : await cmrUtils.getGranuleTemporalInfo(granule) as PartialGranuleTemporalInfo;
202
206
 
203
207
  if (isEmpty(temporalInfo)) {
204
208
  return pick(granule, ['beginningDateTime', 'endingDateTime', 'productionDateTime', 'lastUpdateDateTime']);
@@ -206,7 +210,7 @@ export const getGranuleCmrTemporalInfo = async ({
206
210
 
207
211
  return mapValues(
208
212
  temporalInfo,
209
- convertDateToISOStringPreservingNull
213
+ convertDateToISOStringSettingNull
210
214
  );
211
215
  };
212
216
 
package/src/types.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Message } from '@cumulus/types';
2
- import { GranuleTemporalInfo, MessageGranule } from '@cumulus/types/api/granules';
2
+ import { PartialGranuleProcessingInfo, MessageGranule } from '@cumulus/types/api/granules';
3
3
 
4
4
  export interface WorkflowMessageTemplateCumulusMeta {
5
5
  queueExecutionLimits: Message.QueueExecutionLimits
@@ -18,5 +18,5 @@ export interface Workflow {
18
18
  }
19
19
 
20
20
  export interface CmrUtilsClass {
21
- getGranuleTemporalInfo(granule: MessageGranule): Promise<GranuleTemporalInfo | {}>
21
+ getGranuleTemporalInfo(granule: MessageGranule): Promise<PartialGranuleProcessingInfo | {}>
22
22
  }