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.
@@ -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: string, qpqConfig: QPQConfig, resourceType?: string) => string;
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;
@@ -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)(resourceName, application, service, environment, feature, resourceType);
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
- const arn = `arn:aws:sns:${region}:${awsAccountId}:${topicName}`;
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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.getQpqRuntimeResourceNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
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(Object.entries(value).map(([k, v]) => [k, (0, exports.buildAttributeValue)(v)])),
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quidproquo-actionprocessor-awslambda",
3
- "version": "0.0.113",
3
+ "version": "0.0.115",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.js",