quidproquo-actionprocessor-awslambda 0.0.114 → 0.0.116

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);
@@ -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) {
@@ -0,0 +1,5 @@
1
+ import { UserDirectoryGetUserAttributesByUserIdActionProcessor, QPQConfig } from 'quidproquo-core';
2
+ declare const _default: (qpqConfig: QPQConfig) => {
3
+ "@quidproquo-core/UserDirectory/GetUserAttributesByUserId": UserDirectoryGetUserAttributesByUserIdActionProcessor;
4
+ };
5
+ export default _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const quidproquo_core_1 = require("quidproquo-core");
13
+ const awsNamingUtils_1 = require("../../../awsNamingUtils");
14
+ const getExportedValue_1 = require("../../../logic/cloudformation/getExportedValue");
15
+ const getUserAttributesBySub_1 = require("../../../logic/cognito/getUserAttributesBySub");
16
+ const getUserDirectoryGetUserAttributesByUserIdActionProcessor = (qpqConfig) => {
17
+ return ({ userDirectoryName, serviceOverride, userId }, session) => __awaiter(void 0, void 0, void 0, function* () {
18
+ const region = quidproquo_core_1.qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
19
+ const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig, serviceOverride), region);
20
+ const userAttributes = yield (0, getUserAttributesBySub_1.getUserAttributesBySub)(userPoolId, region, userId);
21
+ return (0, quidproquo_core_1.actionResult)(userAttributes);
22
+ });
23
+ };
24
+ exports.default = (qpqConfig) => {
25
+ return {
26
+ [quidproquo_core_1.UserDirectoryActionType.GetUserAttributesByUserId]: getUserDirectoryGetUserAttributesByUserIdActionProcessor(qpqConfig),
27
+ };
28
+ };
@@ -5,6 +5,7 @@ declare const _default: (qpqConfig: QPQConfig) => {
5
5
  "@quidproquo-core/UserDirectory/RequestEmailVerification": import("quidproquo-core").UserDirectoryRequestEmailVerificationActionProcessor;
6
6
  "@quidproquo-core/UserDirectory/RefreshToken": import("quidproquo-core").UserDirectoryRefreshTokenActionProcessor;
7
7
  "@quidproquo-core/UserDirectory/ReadAccessToken": import("quidproquo-core").UserDirectoryReadAccessTokenActionProcessor;
8
+ "@quidproquo-core/UserDirectory/GetUserAttributesByUserId": import("quidproquo-core").UserDirectoryGetUserAttributesByUserIdActionProcessor;
8
9
  "@quidproquo-core/UserDirectory/GetUserAttributes": import("quidproquo-core").UserDirectoryGetUserAttributesActionProcessor;
9
10
  "@quidproquo-core/UserDirectory/ForgotPassword": import("quidproquo-core").UserDirectoryForgotPasswordActionProcessor;
10
11
  "@quidproquo-core/UserDirectory/DecodeAccessToken": import("quidproquo-core").UserDirectoryDecodeAccessTokenActionProcessor;
@@ -10,9 +10,10 @@ const getUserDirectoryCreateUserActionProcessor_1 = __importDefault(require("./g
10
10
  const getUserDirectoryDecodeAccessTokenActionProcessor_1 = __importDefault(require("./getUserDirectoryDecodeAccessTokenActionProcessor"));
11
11
  const getUserDirectoryForgetPasswordActionProcessor_1 = __importDefault(require("./getUserDirectoryForgetPasswordActionProcessor"));
12
12
  const getUserDirectoryGetUserAttributesActionProcessor_1 = __importDefault(require("./getUserDirectoryGetUserAttributesActionProcessor"));
13
+ const getUserDirectoryGetUserAttributesByUserIdActionProcessor_1 = __importDefault(require("./getUserDirectoryGetUserAttributesByUserIdActionProcessor"));
13
14
  const getUserDirectoryReadAccessTokenActionProcessor_1 = __importDefault(require("./getUserDirectoryReadAccessTokenActionProcessor"));
14
15
  const getUserDirectoryRefreshTokenActionProcessor_1 = __importDefault(require("./getUserDirectoryRefreshTokenActionProcessor"));
15
16
  const getUserDirectoryRequestEmailVerificationActionProcessor_1 = __importDefault(require("./getUserDirectoryRequestEmailVerificationActionProcessor"));
16
17
  const getUserDirectoryRespondToAuthChallengeActionProcessor_1 = __importDefault(require("./getUserDirectoryRespondToAuthChallengeActionProcessor"));
17
18
  const getUserDirectorySetUserAttributesActionProcessor_1 = __importDefault(require("./getUserDirectorySetUserAttributesActionProcessor"));
18
- exports.default = (qpqConfig) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (0, getUserDirectoryAuthenticateUserActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryConfirmEmailVerificationActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryConfirmForgetPasswordActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryCreateUserActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryDecodeAccessTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryForgetPasswordActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryGetUserAttributesActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryReadAccessTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRefreshTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRequestEmailVerificationActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRespondToAuthChallengeActionProcessor_1.default)(qpqConfig)), (0, getUserDirectorySetUserAttributesActionProcessor_1.default)(qpqConfig)));
19
+ exports.default = (qpqConfig) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (0, getUserDirectoryAuthenticateUserActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryConfirmEmailVerificationActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryConfirmForgetPasswordActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryCreateUserActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryDecodeAccessTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryForgetPasswordActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryGetUserAttributesActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryGetUserAttributesByUserIdActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryReadAccessTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRefreshTokenActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRequestEmailVerificationActionProcessor_1.default)(qpqConfig)), (0, getUserDirectoryRespondToAuthChallengeActionProcessor_1.default)(qpqConfig)), (0, getUserDirectorySetUserAttributesActionProcessor_1.default)(qpqConfig)));
@@ -0,0 +1,2 @@
1
+ import { UserAttributes } from 'quidproquo-core';
2
+ export declare const getUserAttributesBySub: (userPoolId: string, region: string, sub: string) => Promise<UserAttributes>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getUserAttributesBySub = void 0;
13
+ const client_cognito_identity_provider_1 = require("@aws-sdk/client-cognito-identity-provider");
14
+ const cognitoAttributeMap_1 = require("./cognitoAttributeMap");
15
+ const getUserAttributesBySub = (userPoolId, region, sub) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const cognitoClient = new client_cognito_identity_provider_1.CognitoIdentityProviderClient({ region });
17
+ const response = yield cognitoClient.send(new client_cognito_identity_provider_1.ListUsersCommand({
18
+ UserPoolId: userPoolId,
19
+ Filter: `sub = "${sub}"`,
20
+ }));
21
+ console.log(response);
22
+ const [user] = (response === null || response === void 0 ? void 0 : response.Users) || [];
23
+ if (!user) {
24
+ throw new Error('User not found');
25
+ }
26
+ const validAttributes = (user.Attributes || []).filter((attr) => attr.Name && attr.Value);
27
+ return (0, cognitoAttributeMap_1.getQpqAttributesFromCognitoUserAttributes)(validAttributes);
28
+ });
29
+ exports.getUserAttributesBySub = getUserAttributesBySub;
@@ -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.114",
3
+ "version": "0.0.116",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.js",