quidproquo-actionprocessor-awslambda 0.0.113 → 0.0.115
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/lib/awsNamingUtils.d.ts +3 -2
- package/lib/awsNamingUtils.js +18 -17
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +1 -1
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +1 -1
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +1 -1
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +1 -1
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +1 -5
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +1 -1
- package/lib/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js +1 -1
- package/lib/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js +7 -2
- package/package.json +1 -1
package/lib/awsNamingUtils.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { QPQConfig } from 'quidproquo-core';
|
|
1
|
+
import { QPQConfig, ResourceName } from 'quidproquo-core';
|
|
2
2
|
export declare const getGlobalConfigRuntimeResourceName: (resourceName: string, application: string, environment: string, feature?: string) => string;
|
|
3
3
|
export declare const getGlobalQpqRuntimeResourceName: (resourceName: string, application: string, environment: string, feature?: string, resourceType?: string) => string;
|
|
4
4
|
export declare const getConfigRuntimeResourceName: (resourceName: string, application: string, service: string, environment: string, feature?: string) => string;
|
|
5
5
|
export declare const getConfigRuntimeResourceNameFromConfig: (resourceName: string, qpqConfig: QPQConfig) => string;
|
|
6
6
|
export declare const getConfigRuntimeResourceNameFromConfigWithServiceOverride: (resourceName: string, qpqConfig: QPQConfig, serviceOverride?: string) => string;
|
|
7
7
|
export declare const getQpqRuntimeResourceName: (resourceName: string, application: string, service: string, environment: string, feature?: string, resourceType?: string) => string;
|
|
8
|
-
export declare const getQpqRuntimeResourceNameFromConfig: (resourceName:
|
|
8
|
+
export declare const getQpqRuntimeResourceNameFromConfig: (resourceName: ResourceName, qpqConfig: QPQConfig, resourceType?: string) => string;
|
|
9
|
+
export declare const getKvsDynamoTableNameFromConfig: (resourceName: ResourceName, qpqConfig: QPQConfig, resourceType?: string) => string;
|
|
9
10
|
export declare const getCFExportNameUserPoolIdFromConfig: (userDirectoryName: string, qpqConfig: QPQConfig, serviceOverride?: string, applicationOverride?: string) => string;
|
|
10
11
|
export declare const getCFExportNameUserPoolClientIdFromConfig: (userDirectoryName: string, qpqConfig: QPQConfig, serviceOverride?: string, applicationOverride?: string) => string;
|
|
11
12
|
export declare const getCFExportNameApiKeyIdFromConfig: (apiKeyName: string, qpqConfig: QPQConfig, serviceOverride?: string, applicationOverride?: string) => string;
|
package/lib/awsNamingUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEventBusSnsTopicArn = exports.getCFExportNameDistributionIdArnFromConfig = exports.getCFExportNameSnsTopicArnFromConfig = exports.getCFExportNameApiKeyIdFromConfig = exports.getCFExportNameUserPoolClientIdFromConfig = exports.getCFExportNameUserPoolIdFromConfig = exports.getQpqRuntimeResourceNameFromConfig = exports.getQpqRuntimeResourceName = exports.getConfigRuntimeResourceNameFromConfigWithServiceOverride = exports.getConfigRuntimeResourceNameFromConfig = exports.getConfigRuntimeResourceName = exports.getGlobalQpqRuntimeResourceName = exports.getGlobalConfigRuntimeResourceName = void 0;
|
|
3
|
+
exports.getEventBusSnsTopicArn = exports.getCFExportNameDistributionIdArnFromConfig = exports.getCFExportNameSnsTopicArnFromConfig = exports.getCFExportNameApiKeyIdFromConfig = exports.getCFExportNameUserPoolClientIdFromConfig = exports.getCFExportNameUserPoolIdFromConfig = exports.getKvsDynamoTableNameFromConfig = exports.getQpqRuntimeResourceNameFromConfig = exports.getQpqRuntimeResourceName = exports.getConfigRuntimeResourceNameFromConfigWithServiceOverride = exports.getConfigRuntimeResourceNameFromConfig = exports.getConfigRuntimeResourceName = exports.getGlobalQpqRuntimeResourceName = exports.getGlobalConfigRuntimeResourceName = void 0;
|
|
4
4
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
5
|
const quidproquo_config_aws_1 = require("quidproquo-config-aws");
|
|
6
6
|
const getGlobalConfigRuntimeResourceName = (resourceName, application, environment, feature) => {
|
|
@@ -46,13 +46,27 @@ const getQpqRuntimeResourceName = (resourceName, application, service, environme
|
|
|
46
46
|
};
|
|
47
47
|
exports.getQpqRuntimeResourceName = getQpqRuntimeResourceName;
|
|
48
48
|
const getQpqRuntimeResourceNameFromConfig = (resourceName, qpqConfig, resourceType = '') => {
|
|
49
|
+
const crossServiceResourceName = quidproquo_core_1.qpqCoreUtils.resolveCrossServiceResourceName(resourceName);
|
|
49
50
|
const application = quidproquo_core_1.qpqCoreUtils.getApplicationName(qpqConfig);
|
|
50
|
-
const service = quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
51
|
+
const service = crossServiceResourceName.service || quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
51
52
|
const environment = quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);
|
|
52
53
|
const feature = quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
|
|
53
|
-
return (0, exports.getQpqRuntimeResourceName)(
|
|
54
|
+
return (0, exports.getQpqRuntimeResourceName)(crossServiceResourceName.name, application, service, environment, feature, resourceType);
|
|
54
55
|
};
|
|
55
56
|
exports.getQpqRuntimeResourceNameFromConfig = getQpqRuntimeResourceNameFromConfig;
|
|
57
|
+
const getKvsDynamoTableNameFromConfig = (resourceName, qpqConfig, resourceType = '') => {
|
|
58
|
+
var _a;
|
|
59
|
+
const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, resourceName);
|
|
60
|
+
const crossServiceResourceName = quidproquo_core_1.qpqCoreUtils.resolveCrossServiceResourceName(resourceName);
|
|
61
|
+
const application = quidproquo_core_1.qpqCoreUtils.getApplicationName(qpqConfig);
|
|
62
|
+
const service = crossServiceResourceName.service ||
|
|
63
|
+
((_a = storeConfig === null || storeConfig === void 0 ? void 0 : storeConfig.owner) === null || _a === void 0 ? void 0 : _a.module) ||
|
|
64
|
+
quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
65
|
+
const environment = quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig);
|
|
66
|
+
const feature = quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig);
|
|
67
|
+
return (0, exports.getQpqRuntimeResourceName)(crossServiceResourceName.name, application, service, environment, feature, resourceType);
|
|
68
|
+
};
|
|
69
|
+
exports.getKvsDynamoTableNameFromConfig = getKvsDynamoTableNameFromConfig;
|
|
56
70
|
const getCFExportNameUserPoolIdFromConfig = (userDirectoryName, qpqConfig, serviceOverride, applicationOverride) => {
|
|
57
71
|
const application = applicationOverride || quidproquo_core_1.qpqCoreUtils.getApplicationName(qpqConfig);
|
|
58
72
|
const service = serviceOverride || quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
|
|
@@ -92,24 +106,11 @@ const getCFExportNameDistributionIdArnFromConfig = (webEntryName, qpqConfig, ser
|
|
|
92
106
|
return (0, exports.getQpqRuntimeResourceName)(webEntryName, application, service, environment, feature, 'distribution-id-export');
|
|
93
107
|
};
|
|
94
108
|
exports.getCFExportNameDistributionIdArnFromConfig = getCFExportNameDistributionIdArnFromConfig;
|
|
95
|
-
function insertPipes(input) {
|
|
96
|
-
let output = '';
|
|
97
|
-
for (let i = 0; i < input.length; i++) {
|
|
98
|
-
output += input[i] + '|';
|
|
99
|
-
}
|
|
100
|
-
// remove the last '|' character
|
|
101
|
-
output = output.slice(0, -1);
|
|
102
|
-
return output;
|
|
103
|
-
}
|
|
104
109
|
const getEventBusSnsTopicArn = (eventBusName, qpqConfig, module, environment, application, feature) => {
|
|
105
110
|
const topicName = (0, exports.getConfigRuntimeResourceName)(eventBusName, application, module, environment, feature);
|
|
106
111
|
const accountInfo = (0, quidproquo_config_aws_1.getAwsServiceAccountInfoByDeploymentInfo)(qpqConfig, module, environment, feature, application);
|
|
107
112
|
const awsAccountId = accountInfo.awsAccountId;
|
|
108
113
|
const region = accountInfo.awsRegion;
|
|
109
|
-
|
|
110
|
-
console.log('awsAccountId: ', awsAccountId);
|
|
111
|
-
console.log('TopicARN: ', insertPipes(arn));
|
|
112
|
-
console.log('accountInfo: ', JSON.stringify(accountInfo, null, 2));
|
|
113
|
-
return arn;
|
|
114
|
+
return `arn:aws:sns:${region}:${awsAccountId}:${topicName}`;
|
|
114
115
|
};
|
|
115
116
|
exports.getEventBusSnsTopicArn = getEventBusSnsTopicArn;
|
|
@@ -15,7 +15,7 @@ const quidproquo_core_2 = require("quidproquo-core");
|
|
|
15
15
|
const dynamo_1 = require("../../../logic/dynamo");
|
|
16
16
|
const getProcessKeyValueStoreDelete = (qpqConfig) => {
|
|
17
17
|
return ({ keyValueStoreName, key, sortKey }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
18
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
19
19
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
20
20
|
yield (0, dynamo_1.deleteItem)(dynamoTableName, region, key, sortKey);
|
|
21
21
|
return (0, quidproquo_core_2.actionResult)(void 0);
|
|
@@ -15,7 +15,7 @@ const quidproquo_core_2 = require("quidproquo-core");
|
|
|
15
15
|
const dynamo_1 = require("../../../logic/dynamo");
|
|
16
16
|
const getProcessKeyValueStoreGet = (qpqConfig) => {
|
|
17
17
|
return ({ keyValueStoreName, key }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
18
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
19
19
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
20
20
|
const result = yield (0, dynamo_1.getItem)(dynamoTableName, key, region);
|
|
21
21
|
return (0, quidproquo_core_2.actionResult)(result);
|
|
@@ -15,7 +15,7 @@ const quidproquo_core_2 = require("quidproquo-core");
|
|
|
15
15
|
const dynamo_1 = require("../../../logic/dynamo");
|
|
16
16
|
const getProcessKeyValueStoreGetAll = (qpqConfig) => {
|
|
17
17
|
return ({ keyValueStoreName }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
18
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
19
19
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
20
20
|
const result = yield (0, dynamo_1.getAllItems)(dynamoTableName, region);
|
|
21
21
|
return (0, quidproquo_core_2.actionResult)(result);
|
|
@@ -16,7 +16,7 @@ const dynamo_1 = require("../../../logic/dynamo");
|
|
|
16
16
|
const qpqDynamoOrm_1 = require("../../../logic/dynamo/qpqDynamoOrm");
|
|
17
17
|
const getProcessKeyValueStoreQuery = (qpqConfig) => {
|
|
18
18
|
return ({ keyValueStoreName, keyCondition, filterCondition }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
19
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
20
20
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
21
21
|
const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
|
|
22
22
|
if (!storeConfig) {
|
|
@@ -15,12 +15,8 @@ const quidproquo_core_2 = require("quidproquo-core");
|
|
|
15
15
|
const scan_1 = require("../../../logic/dynamo/scan");
|
|
16
16
|
const getProcessKeyValueStoreScan = (qpqConfig) => {
|
|
17
17
|
return ({ keyValueStoreName, filterCondition }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
18
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
19
19
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
20
|
-
const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
|
|
21
|
-
if (!storeConfig) {
|
|
22
|
-
return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.NotFound, `Could not find key value store with name "${keyValueStoreName}"`);
|
|
23
|
-
}
|
|
24
20
|
const items = yield (0, scan_1.scan)(dynamoTableName, region, filterCondition);
|
|
25
21
|
return (0, quidproquo_core_2.actionResult)(items);
|
|
26
22
|
});
|
|
@@ -15,7 +15,7 @@ const quidproquo_core_2 = require("quidproquo-core");
|
|
|
15
15
|
const dynamo_1 = require("../../../logic/dynamo");
|
|
16
16
|
const getProcessKeyValueStoreUpdate = (qpqConfig) => {
|
|
17
17
|
return ({ keyValueStoreName, key, sortKey, updates, options }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
18
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
19
19
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
20
20
|
yield (0, dynamo_1.updateItem)(dynamoTableName, region, updates, key, sortKey);
|
|
21
21
|
return (0, quidproquo_core_2.actionResult)(void 0);
|
|
@@ -14,7 +14,7 @@ const awsNamingUtils_1 = require("../../../awsNamingUtils");
|
|
|
14
14
|
const dynamo_1 = require("../../../logic/dynamo");
|
|
15
15
|
const getProcessKeyValueStoreUpsert = (qpqConfig) => {
|
|
16
16
|
return ({ keyValueStoreName, item, options }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
-
const dynamoTableName = (0, awsNamingUtils_1.
|
|
17
|
+
const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
|
|
18
18
|
const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
19
19
|
const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
|
|
20
20
|
if (!storeConfig) {
|
|
@@ -135,15 +135,20 @@ const buildAttributeValue = (value) => {
|
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
else if (value !== null) {
|
|
138
|
+
const objectKeyValuePairs = Object.entries(value)
|
|
139
|
+
.filter(([k, v]) => v !== undefined)
|
|
140
|
+
.map(([k, v]) => {
|
|
141
|
+
return [k, (0, exports.buildAttributeValue)(v)];
|
|
142
|
+
});
|
|
138
143
|
return {
|
|
139
|
-
M: Object.fromEntries(
|
|
144
|
+
M: Object.fromEntries(objectKeyValuePairs),
|
|
140
145
|
};
|
|
141
146
|
}
|
|
142
147
|
else {
|
|
143
148
|
return { NULL: true };
|
|
144
149
|
}
|
|
145
150
|
default:
|
|
146
|
-
throw new Error(`Unsupported data type: ${valueType}`);
|
|
151
|
+
throw new Error(`Unsupported data type in kvs expression: ${valueType}`);
|
|
147
152
|
}
|
|
148
153
|
};
|
|
149
154
|
exports.buildAttributeValue = buildAttributeValue;
|