@cumulus/db 10.1.0 → 10.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/dist/index.d.ts +1 -1
- package/dist/index.js +8 -3
- package/dist/models/base.d.ts +3 -1
- package/dist/models/base.js +4 -2
- package/dist/translate/rules.d.ts +10 -0
- package/dist/translate/rules.js +32 -20
- package/package.json +9 -9
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export { translateApiAsyncOperationToPostgresAsyncOperation } from './translate/
|
|
|
18
18
|
export { translateApiFiletoPostgresFile, translatePostgresFileToApiFile, } from './translate/file';
|
|
19
19
|
export { translateApiCollectionToPostgresCollection } from './translate/collections';
|
|
20
20
|
export { translateApiProviderToPostgresProvider, } from './translate/providers';
|
|
21
|
-
export { translateApiRuleToPostgresRule } from './translate/rules';
|
|
21
|
+
export { translateApiRuleToPostgresRule, translateApiRuleToPostgresRuleRaw, } from './translate/rules';
|
|
22
22
|
export { translateApiExecutionToPostgresExecution, translatePostgresExecutionToApiExecution, } from './translate/executions';
|
|
23
23
|
export { translateApiGranuleToPostgresGranule, translatePostgresGranuleToApiGranule, } from './translate/granules';
|
|
24
24
|
export { translateApiPdrToPostgresPdr } from './translate/pdrs';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -19,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.
|
|
23
|
-
exports.RulePgModel = void 0;
|
|
26
|
+
exports.PdrPgModel = exports.GranulesExecutionsPgModel = exports.GranulePgModel = exports.FilePgModel = exports.ExecutionPgModel = exports.CollectionPgModel = exports.BasePgModel = exports.AsyncOperationPgModel = exports.upsertGranuleWithExecutionJoinRecord = exports.getApiGranuleExecutionCumulusIds = exports.getApiGranuleCumulusIds = exports.getExecutionArnsByGranuleCumulusId = exports.getApiGranuleExecutionCumulusIdsByExecution = exports.getApiExecutionCumulusIds = exports.getWorkflowNameIntersectFromGranuleIds = exports.newestExecutionArnFromGranuleIdWorkflowName = exports.executionArnsFromGranuleIdsAndWorkflowNames = exports.translateApiPdrToPostgresPdr = exports.translatePostgresGranuleToApiGranule = exports.translateApiGranuleToPostgresGranule = exports.translatePostgresExecutionToApiExecution = exports.translateApiExecutionToPostgresExecution = exports.translateApiRuleToPostgresRuleRaw = exports.translateApiRuleToPostgresRule = exports.translateApiProviderToPostgresProvider = exports.translateApiCollectionToPostgresCollection = exports.translatePostgresFileToApiFile = exports.translateApiFiletoPostgresFile = exports.translateApiAsyncOperationToPostgresAsyncOperation = exports.nullifyUndefinedProviderValues = exports.validateProviderHost = exports.migrationDir = exports.TableNames = exports.createRejectableTransaction = exports.localStackConnectionEnv = exports.getKnexConfig = exports.getKnexClient = exports.generateLocalTestDb = exports.fakeRuleRecordFactory = exports.fakeProviderRecordFactory = exports.fakePdrRecordFactory = exports.fakeGranuleRecordFactory = exports.fakeFileRecordFactory = exports.fakeExecutionRecordFactory = exports.fakeCollectionRecordFactory = exports.fakeAsyncOperationRecordFactory = exports.destroyLocalTestDb = exports.deleteTestDatabase = exports.createTestDatabase = exports.Knex = void 0;
|
|
27
|
+
exports.RulePgModel = exports.ProviderPgModel = void 0;
|
|
24
28
|
const path = __importStar(require("path"));
|
|
25
29
|
var knex_1 = require("knex");
|
|
26
30
|
Object.defineProperty(exports, "Knex", { enumerable: true, get: function () { return knex_1.Knex; } });
|
|
@@ -61,6 +65,7 @@ var providers_1 = require("./translate/providers");
|
|
|
61
65
|
Object.defineProperty(exports, "translateApiProviderToPostgresProvider", { enumerable: true, get: function () { return providers_1.translateApiProviderToPostgresProvider; } });
|
|
62
66
|
var rules_1 = require("./translate/rules");
|
|
63
67
|
Object.defineProperty(exports, "translateApiRuleToPostgresRule", { enumerable: true, get: function () { return rules_1.translateApiRuleToPostgresRule; } });
|
|
68
|
+
Object.defineProperty(exports, "translateApiRuleToPostgresRuleRaw", { enumerable: true, get: function () { return rules_1.translateApiRuleToPostgresRuleRaw; } });
|
|
64
69
|
var executions_1 = require("./translate/executions");
|
|
65
70
|
Object.defineProperty(exports, "translateApiExecutionToPostgresExecution", { enumerable: true, get: function () { return executions_1.translateApiExecutionToPostgresExecution; } });
|
|
66
71
|
Object.defineProperty(exports, "translatePostgresExecutionToApiExecution", { enumerable: true, get: function () { return executions_1.translatePostgresExecutionToApiExecution; } });
|
package/dist/models/base.d.ts
CHANGED
|
@@ -59,9 +59,11 @@ declare class BasePgModel<ItemType, RecordType extends {
|
|
|
59
59
|
*
|
|
60
60
|
* @param {Knex | Knex.Transaction} knexOrTransaction - DB client or transaction
|
|
61
61
|
* @param {ItemType} item - A record to insert into the DB
|
|
62
|
+
* @param {string | Array<string>} returningFields - A string or array of strings
|
|
63
|
+
* of columns to return. Defaults to 'cumulus_id'.
|
|
62
64
|
* @returns {Promise<number[]>} List of IDs of the inserted records
|
|
63
65
|
*/
|
|
64
|
-
create(knexOrTransaction: Knex | Knex.Transaction, item: ItemType): Promise<number[]>;
|
|
66
|
+
create(knexOrTransaction: Knex | Knex.Transaction, item: ItemType, returningFields?: string | string[]): Promise<number[]>;
|
|
65
67
|
/**
|
|
66
68
|
* Deletes the item from Postgres
|
|
67
69
|
*
|
package/dist/models/base.js
CHANGED
|
@@ -106,12 +106,14 @@ class BasePgModel {
|
|
|
106
106
|
*
|
|
107
107
|
* @param {Knex | Knex.Transaction} knexOrTransaction - DB client or transaction
|
|
108
108
|
* @param {ItemType} item - A record to insert into the DB
|
|
109
|
+
* @param {string | Array<string>} returningFields - A string or array of strings
|
|
110
|
+
* of columns to return. Defaults to 'cumulus_id'.
|
|
109
111
|
* @returns {Promise<number[]>} List of IDs of the inserted records
|
|
110
112
|
*/
|
|
111
|
-
async create(knexOrTransaction, item) {
|
|
113
|
+
async create(knexOrTransaction, item, returningFields = 'cumulus_id') {
|
|
112
114
|
return await knexOrTransaction(this.tableName)
|
|
113
115
|
.insert(item)
|
|
114
|
-
.returning(
|
|
116
|
+
.returning(returningFields);
|
|
115
117
|
}
|
|
116
118
|
/**
|
|
117
119
|
* Deletes the item from Postgres
|
|
@@ -12,5 +12,15 @@ import { PostgresRule } from '../types/rule';
|
|
|
12
12
|
* @param {Object} providerPgModel - Instance of the provider database model
|
|
13
13
|
* @returns {Object} A rule record
|
|
14
14
|
*/
|
|
15
|
+
export declare const translateApiRuleToPostgresRuleRaw: (record: RuleRecord, dbClient: Knex, collectionPgModel?: CollectionPgModel, providerPgModel?: ProviderPgModel) => Promise<PostgresRule>;
|
|
16
|
+
/**
|
|
17
|
+
* Generate a Postgres rule record from a DynamoDB record and remove nil properties.
|
|
18
|
+
*
|
|
19
|
+
* @param {Object} record - A rule
|
|
20
|
+
* @param {Object} dbClient - Knex client for reading from RDS database
|
|
21
|
+
* @param {Object} collectionPgModel - Instance of the collection database model
|
|
22
|
+
* @param {Object} providerPgModel - Instance of the provider database model
|
|
23
|
+
* @returns {Object} A rule record
|
|
24
|
+
*/
|
|
15
25
|
export declare const translateApiRuleToPostgresRule: (record: RuleRecord, dbClient: Knex, collectionPgModel?: CollectionPgModel, providerPgModel?: ProviderPgModel) => Promise<PostgresRule>;
|
|
16
26
|
//# sourceMappingURL=rules.d.ts.map
|
package/dist/translate/rules.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.translateApiRuleToPostgresRule = void 0;
|
|
3
|
+
exports.translateApiRuleToPostgresRule = exports.translateApiRuleToPostgresRuleRaw = void 0;
|
|
4
|
+
const util_1 = require("@cumulus/common/util");
|
|
4
5
|
const collection_1 = require("../models/collection");
|
|
5
6
|
const provider_1 = require("../models/provider");
|
|
6
7
|
/**
|
|
@@ -12,26 +13,37 @@ const provider_1 = require("../models/provider");
|
|
|
12
13
|
* @param {Object} providerPgModel - Instance of the provider database model
|
|
13
14
|
* @returns {Object} A rule record
|
|
14
15
|
*/
|
|
16
|
+
const translateApiRuleToPostgresRuleRaw = async (record, dbClient, collectionPgModel = new collection_1.CollectionPgModel(), providerPgModel = new provider_1.ProviderPgModel()) => ({
|
|
17
|
+
name: record.name,
|
|
18
|
+
workflow: record.workflow,
|
|
19
|
+
provider_cumulus_id: record.provider ? await providerPgModel.getRecordCumulusId(dbClient, { name: record.provider }) : undefined,
|
|
20
|
+
collection_cumulus_id: record.collection ? await collectionPgModel.getRecordCumulusId(dbClient, { name: record.collection.name, version: record.collection.version }) : undefined,
|
|
21
|
+
meta: record.meta,
|
|
22
|
+
payload: record.payload,
|
|
23
|
+
queue_url: record.queueUrl,
|
|
24
|
+
arn: record.rule.arn,
|
|
25
|
+
type: record.rule.type,
|
|
26
|
+
value: record.rule.value,
|
|
27
|
+
log_event_arn: record.rule.logEventArn,
|
|
28
|
+
enabled: (record.state === undefined) || (record.state === 'ENABLED'),
|
|
29
|
+
tags: (record.tags ? JSON.stringify(record.tags) : undefined),
|
|
30
|
+
execution_name_prefix: record.executionNamePrefix,
|
|
31
|
+
created_at: (record.createdAt ? new Date(record.createdAt) : undefined),
|
|
32
|
+
updated_at: (record.updatedAt ? new Date(record.updatedAt) : undefined),
|
|
33
|
+
});
|
|
34
|
+
exports.translateApiRuleToPostgresRuleRaw = translateApiRuleToPostgresRuleRaw;
|
|
35
|
+
/**
|
|
36
|
+
* Generate a Postgres rule record from a DynamoDB record and remove nil properties.
|
|
37
|
+
*
|
|
38
|
+
* @param {Object} record - A rule
|
|
39
|
+
* @param {Object} dbClient - Knex client for reading from RDS database
|
|
40
|
+
* @param {Object} collectionPgModel - Instance of the collection database model
|
|
41
|
+
* @param {Object} providerPgModel - Instance of the provider database model
|
|
42
|
+
* @returns {Object} A rule record
|
|
43
|
+
*/
|
|
15
44
|
const translateApiRuleToPostgresRule = async (record, dbClient, collectionPgModel = new collection_1.CollectionPgModel(), providerPgModel = new provider_1.ProviderPgModel()) => {
|
|
16
|
-
const ruleRecord =
|
|
17
|
-
|
|
18
|
-
workflow: record.workflow,
|
|
19
|
-
provider_cumulus_id: record.provider ? await providerPgModel.getRecordCumulusId(dbClient, { name: record.provider }) : undefined,
|
|
20
|
-
collection_cumulus_id: record.collection ? await collectionPgModel.getRecordCumulusId(dbClient, { name: record.collection.name, version: record.collection.version }) : undefined,
|
|
21
|
-
meta: record.meta,
|
|
22
|
-
payload: record.payload,
|
|
23
|
-
queue_url: record.queueUrl,
|
|
24
|
-
arn: record.rule.arn,
|
|
25
|
-
type: record.rule.type,
|
|
26
|
-
value: record.rule.value,
|
|
27
|
-
log_event_arn: record.rule.logEventArn,
|
|
28
|
-
enabled: (record.state === undefined) || (record.state === 'ENABLED'),
|
|
29
|
-
tags: (record.tags ? JSON.stringify(record.tags) : undefined),
|
|
30
|
-
execution_name_prefix: record.executionNamePrefix,
|
|
31
|
-
created_at: (record.createdAt ? new Date(record.createdAt) : undefined),
|
|
32
|
-
updated_at: (record.updatedAt ? new Date(record.updatedAt) : undefined),
|
|
33
|
-
};
|
|
34
|
-
return ruleRecord;
|
|
45
|
+
const ruleRecord = await (0, exports.translateApiRuleToPostgresRuleRaw)(record, dbClient, collectionPgModel, providerPgModel);
|
|
46
|
+
return (0, util_1.removeNilProperties)(ruleRecord);
|
|
35
47
|
};
|
|
36
48
|
exports.translateApiRuleToPostgresRule = translateApiRuleToPostgresRule;
|
|
37
49
|
//# sourceMappingURL=rules.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cumulus/db",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.2",
|
|
4
4
|
"description": "Utilities for working with the Cumulus DB",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
"node": ">=12.18.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@cumulus/aws-client": "10.1.
|
|
33
|
-
"@cumulus/common": "10.1.
|
|
34
|
-
"@cumulus/errors": "10.1.
|
|
35
|
-
"@cumulus/logger": "10.1.
|
|
36
|
-
"@cumulus/message": "10.1.
|
|
37
|
-
"@cumulus/types": "10.1.
|
|
32
|
+
"@cumulus/aws-client": "10.1.2",
|
|
33
|
+
"@cumulus/common": "10.1.2",
|
|
34
|
+
"@cumulus/errors": "10.1.2",
|
|
35
|
+
"@cumulus/logger": "10.1.2",
|
|
36
|
+
"@cumulus/message": "10.1.2",
|
|
37
|
+
"@cumulus/types": "10.1.2",
|
|
38
38
|
"crypto-random-string": "^3.2.0",
|
|
39
39
|
"is-valid-hostname": "0.0.1",
|
|
40
40
|
"knex": "0.95.15",
|
|
41
|
-
"lodash": "^4.17.
|
|
41
|
+
"lodash": "^4.17.21",
|
|
42
42
|
"pg": "^8.3.0",
|
|
43
43
|
"snake-camel": "^1.0.6",
|
|
44
44
|
"uuid": "8.3.2"
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/uuid": "^8.0.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "3b59753fa85064549b70ad8ed4a4ee213c5af313"
|
|
50
50
|
}
|