@cumulus/api-client 18.0.0 → 18.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cumulus/api-client",
3
- "version": "18.0.0",
3
+ "version": "18.1.0",
4
4
  "description": "API client for working with the Cumulus archive API",
5
5
  "keywords": [
6
6
  "GIBS",
@@ -39,12 +39,12 @@
39
39
  "author": "Cumulus Authors",
40
40
  "license": "Apache-2.0",
41
41
  "dependencies": {
42
- "@cumulus/aws-client": "18.0.0",
43
- "@cumulus/logger": "18.0.0",
42
+ "@cumulus/aws-client": "18.1.0",
43
+ "@cumulus/logger": "18.1.0",
44
44
  "p-retry": "^2.0.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@cumulus/types": "18.0.0"
47
+ "@cumulus/types": "18.1.0"
48
48
  },
49
- "gitHead": "43bcef7c0d979a05cd2dd559b811f4ac8f85a9b1"
49
+ "gitHead": "8428a02e0903d8d303c7dd36215aa6a24906e07b"
50
50
  }
package/rules.d.ts CHANGED
@@ -18,7 +18,30 @@ export declare const postRule: (params: {
18
18
  callback?: InvokeApiFunction;
19
19
  }) => Promise<ApiGatewayLambdaHttpProxyResponse>;
20
20
  /**
21
- * Update a rule in the rules API
21
+ * Replace a rule via PUT request. Existing values will be removed if not specified
22
+ * or set to null.
23
+ * PUT /rules/${ruleName}
24
+ *
25
+ * @param {Object} params - params
26
+ * @param {string} params.prefix - the prefix configured for the stack
27
+ * @param {Object} params.ruleName - the rule to update
28
+ * @param {Object} params.replacementRule - complete replacement rule
29
+ * @param {Function} params.callback - async function to invoke the api lambda
30
+ * that takes a prefix / user payload. Defaults
31
+ * to cumulusApiClient.invokeApi
32
+ * @returns {Promise<Object>} - promise that resolves to the output of the API lambda
33
+ */
34
+ export declare const replaceRule: (params: {
35
+ prefix: string;
36
+ ruleName: string;
37
+ replacementRule: NewRuleRecord & {
38
+ action?: 'rerun';
39
+ };
40
+ callback?: InvokeApiFunction;
41
+ }) => Promise<ApiGatewayLambdaHttpProxyResponse>;
42
+ /**
43
+ * Update a rule via PATCH request. Existing values will not be overwritten if not
44
+ * specified, null values will be removed.
22
45
  *
23
46
  * @param {Object} params - params
24
47
  * @param {string} params.prefix - the prefix configured for the stack
package/rules.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,WAAkB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,QAAQ,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,QAAQ,iCAAiC,CAoB5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YACZ,MAAM;;;;;MAGZ,QAAQ,iCAAiC,CAY5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,WAAkB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,QAAQ,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,QAAQ,iCAAiC,CAW5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAiB7C"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,WAAkB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,QAAQ,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,WAAkB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,aAAa,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,QAAQ,iCAAiC,CAqB5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,iBAAiB,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B,KAAG,QAAQ,iCAAiC,CAqB5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YACZ,MAAM;;;;;MAGZ,QAAQ,iCAAiC,CAY5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,WAAkB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,QAAQ,iCAAiC,CAe5C,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WAAkB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,KAAG,QAAQ,iCAAiC,CAW5C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAiB7C"}
package/rules.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rerunRule = exports.deleteRule = exports.getRule = exports.listRules = exports.updateRule = exports.postRule = void 0;
3
+ exports.rerunRule = exports.deleteRule = exports.getRule = exports.listRules = exports.updateRule = exports.replaceRule = exports.postRule = void 0;
4
4
  const cumulusApiClient_1 = require("./cumulusApiClient");
5
5
  /**
6
6
  * Post a rule to the rules API
@@ -31,7 +31,39 @@ const postRule = async (params) => {
31
31
  };
32
32
  exports.postRule = postRule;
33
33
  /**
34
- * Update a rule in the rules API
34
+ * Replace a rule via PUT request. Existing values will be removed if not specified
35
+ * or set to null.
36
+ * PUT /rules/${ruleName}
37
+ *
38
+ * @param {Object} params - params
39
+ * @param {string} params.prefix - the prefix configured for the stack
40
+ * @param {Object} params.ruleName - the rule to update
41
+ * @param {Object} params.replacementRule - complete replacement rule
42
+ * @param {Function} params.callback - async function to invoke the api lambda
43
+ * that takes a prefix / user payload. Defaults
44
+ * to cumulusApiClient.invokeApi
45
+ * @returns {Promise<Object>} - promise that resolves to the output of the API lambda
46
+ */
47
+ const replaceRule = async (params) => {
48
+ const { prefix, ruleName, replacementRule, callback = cumulusApiClient_1.invokeApi, } = params;
49
+ return await callback({
50
+ prefix,
51
+ payload: {
52
+ httpMethod: 'PUT',
53
+ resource: '/{proxy+}',
54
+ headers: {
55
+ 'Content-Type': 'application/json',
56
+ 'Cumulus-API-Version': '2',
57
+ },
58
+ path: `/rules/${ruleName}`,
59
+ body: JSON.stringify(replacementRule),
60
+ },
61
+ });
62
+ };
63
+ exports.replaceRule = replaceRule;
64
+ /**
65
+ * Update a rule via PATCH request. Existing values will not be overwritten if not
66
+ * specified, null values will be removed.
35
67
  *
36
68
  * @param {Object} params - params
37
69
  * @param {string} params.prefix - the prefix configured for the stack
@@ -47,10 +79,11 @@ const updateRule = async (params) => {
47
79
  return await callback({
48
80
  prefix,
49
81
  payload: {
50
- httpMethod: 'PUT',
82
+ httpMethod: 'PATCH',
51
83
  resource: '/{proxy+}',
52
84
  headers: {
53
85
  'Content-Type': 'application/json',
86
+ 'Cumulus-API-Version': '2',
54
87
  },
55
88
  path: `/rules/${ruleName}`,
56
89
  body: JSON.stringify(updateParams),
package/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["src/rules.ts"],"names":[],"mappings":"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"}
package/src/rules.ts CHANGED
@@ -36,7 +36,50 @@ export const postRule = async (params: {
36
36
  };
37
37
 
38
38
  /**
39
- * Update a rule in the rules API
39
+ * Replace a rule via PUT request. Existing values will be removed if not specified
40
+ * or set to null.
41
+ * PUT /rules/${ruleName}
42
+ *
43
+ * @param {Object} params - params
44
+ * @param {string} params.prefix - the prefix configured for the stack
45
+ * @param {Object} params.ruleName - the rule to update
46
+ * @param {Object} params.replacementRule - complete replacement rule
47
+ * @param {Function} params.callback - async function to invoke the api lambda
48
+ * that takes a prefix / user payload. Defaults
49
+ * to cumulusApiClient.invokeApi
50
+ * @returns {Promise<Object>} - promise that resolves to the output of the API lambda
51
+ */
52
+ export const replaceRule = async (params: {
53
+ prefix: string,
54
+ ruleName: string,
55
+ replacementRule: NewRuleRecord & { action?: 'rerun' },
56
+ callback?: InvokeApiFunction
57
+ }): Promise<ApiGatewayLambdaHttpProxyResponse> => {
58
+ const {
59
+ prefix,
60
+ ruleName,
61
+ replacementRule,
62
+ callback = invokeApi,
63
+ } = params;
64
+
65
+ return await callback({
66
+ prefix,
67
+ payload: {
68
+ httpMethod: 'PUT',
69
+ resource: '/{proxy+}',
70
+ headers: {
71
+ 'Content-Type': 'application/json',
72
+ 'Cumulus-API-Version': '2',
73
+ },
74
+ path: `/rules/${ruleName}`,
75
+ body: JSON.stringify(replacementRule),
76
+ },
77
+ });
78
+ };
79
+
80
+ /**
81
+ * Update a rule via PATCH request. Existing values will not be overwritten if not
82
+ * specified, null values will be removed.
40
83
  *
41
84
  * @param {Object} params - params
42
85
  * @param {string} params.prefix - the prefix configured for the stack
@@ -63,10 +106,11 @@ export const updateRule = async (params: {
63
106
  return await callback({
64
107
  prefix,
65
108
  payload: {
66
- httpMethod: 'PUT',
109
+ httpMethod: 'PATCH',
67
110
  resource: '/{proxy+}',
68
111
  headers: {
69
112
  'Content-Type': 'application/json',
113
+ 'Cumulus-API-Version': '2',
70
114
  },
71
115
  path: `/rules/${ruleName}`,
72
116
  body: JSON.stringify(updateParams),