quidproquo-actionprocessor-awslambda 0.0.199 → 0.0.200
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/commonjs/getActionProcessor/core/event/utils/parseMultipartFormData.js +5 -3
- package/lib/esm/awsLambdaUtils.d.ts +9 -0
- package/lib/esm/awsLambdaUtils.js +35 -0
- package/lib/esm/awsNamingUtils.d.ts +25 -0
- package/lib/esm/awsNamingUtils.js +173 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +12 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/config/index.d.ts +9 -0
- package/lib/esm/getActionProcessor/core/config/index.js +12 -0
- package/lib/esm/getActionProcessor/core/config/utils/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/config/utils/index.js +1 -0
- package/lib/esm/getActionProcessor/core/config/utils/resolveSecretResourceName.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/config/utils/resolveSecretResourceName.js +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/autoRespond.js +35 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getRecords.js +39 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/matchStory.js +34 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/transformResponseResult.js +56 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/types.d.ts +10 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/index.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/index.js +2 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getRecords.js +27 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/matchStory.js +32 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/transformResponseResult.js +18 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/types.d.ts +16 -0
- package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/types.js +2 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getRecords.js +28 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/matchStory.js +32 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/transformResponseResult.js +60 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/types.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/autoRespond.js +34 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getRecords.js +33 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/matchStory.js +33 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/transformResponseResult.js +26 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/types.d.ts +9 -0
- package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/autoRespond.js +15 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getRecords.js +33 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/matchStory.js +20 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/transformResponseResult.js +17 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/types.d.ts +15 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/index.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/index.js +2 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getRecords.js +16 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/matchStory.js +17 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/transformResponseResult.js +17 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/types.d.ts +7 -0
- package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/index.d.ts +7 -0
- package/lib/esm/getActionProcessor/core/event/index.js +7 -0
- package/lib/esm/getActionProcessor/core/event/lambda/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/event/lambda/index.js +1 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getRecords.js +15 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/matchStory.js +21 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/transformResponseResult.js +14 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/types.d.ts +11 -0
- package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getRecords.js +22 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getStorySession.js +11 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/matchStory.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/matchStory.js +12 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/transformResponseResult.js +17 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/types.d.ts +10 -0
- package/lib/esm/getActionProcessor/core/event/s3/fileEvent/types.js +3 -0
- package/lib/esm/getActionProcessor/core/event/s3/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/event/s3/index.js +1 -0
- package/lib/esm/getActionProcessor/core/event/sqs/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/event/sqs/index.js +1 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/autoRespond.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/autoRespond.js +11 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/getRecords.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/getRecords.js +24 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/getStorySession.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/getStorySession.js +17 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/index.js +12 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/matchStory.d.ts +7 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/matchStory.js +42 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/transformResponseResult.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/transformResponseResult.js +24 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/types.d.ts +12 -0
- package/lib/esm/getActionProcessor/core/event/sqs/queue/types.js +1 -0
- package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.js +54 -0
- package/lib/esm/getActionProcessor/core/event/utils/parseMultipartFormData.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/event/utils/parseMultipartFormData.js +45 -0
- package/lib/esm/getActionProcessor/core/eventBus/getQueueSendMessageActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/eventBus/getQueueSendMessageActionProcessor.js +28 -0
- package/lib/esm/getActionProcessor/core/eventBus/index.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/eventBus/index.js +4 -0
- package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +21 -0
- package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +12 -0
- package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +19 -0
- package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +21 -0
- package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +12 -0
- package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js +12 -0
- package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/file/index.d.ts +12 -0
- package/lib/esm/getActionProcessor/core/file/index.js +18 -0
- package/lib/esm/getActionProcessor/core/file/utils/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/file/utils/index.js +1 -0
- package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js +9 -0
- package/lib/esm/getActionProcessor/core/index.d.ts +12 -0
- package/lib/esm/getActionProcessor/core/index.js +12 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +16 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +20 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +15 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +16 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js +26 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/index.d.ts +10 -0
- package/lib/esm/getActionProcessor/core/keyValueStore/index.js +14 -0
- package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +25 -0
- package/lib/esm/getActionProcessor/core/queue/index.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/queue/index.js +4 -0
- package/lib/esm/getActionProcessor/core/system/getExecuteStoryActionProcessor.d.ts +7 -0
- package/lib/esm/getActionProcessor/core/system/getExecuteStoryActionProcessor.js +35 -0
- package/lib/esm/getActionProcessor/core/system/index.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/system/index.js +4 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +25 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgetPasswordActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgetPasswordActionProcessor.js +18 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +18 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +23 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgetPasswordActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgetPasswordActionProcessor.js +18 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesActionProcessor.js +24 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +17 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +17 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js +23 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +23 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +28 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js +14 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +17 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +17 -0
- package/lib/esm/getActionProcessor/core/userDirectory/index.d.ts +21 -0
- package/lib/esm/getActionProcessor/core/userDirectory/index.js +36 -0
- package/lib/esm/getActionProcessor/index.d.ts +2 -0
- package/lib/esm/getActionProcessor/index.js +2 -0
- package/lib/esm/getActionProcessor/webserver/admin/getAdminActionProcessor.d.ts +9 -0
- package/lib/esm/getActionProcessor/webserver/admin/getAdminActionProcessor.js +50 -0
- package/lib/esm/getActionProcessor/webserver/admin/index.d.ts +8 -0
- package/lib/esm/getActionProcessor/webserver/admin/index.js +4 -0
- package/lib/esm/getActionProcessor/webserver/index.d.ts +4 -0
- package/lib/esm/getActionProcessor/webserver/index.js +4 -0
- package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionActionProcessor.js +34 -0
- package/lib/esm/getActionProcessor/webserver/serviceFunction/index.d.ts +5 -0
- package/lib/esm/getActionProcessor/webserver/serviceFunction/index.js +4 -0
- package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.js +18 -0
- package/lib/esm/getActionProcessor/webserver/webEntry/index.d.ts +5 -0
- package/lib/esm/getActionProcessor/webserver/webEntry/index.js +4 -0
- package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.d.ts +6 -0
- package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js +26 -0
- package/lib/esm/getActionProcessor/webserver/websocket/index.d.ts +5 -0
- package/lib/esm/getActionProcessor/webserver/websocket/index.js +4 -0
- package/lib/esm/index.d.ts +8 -0
- package/lib/esm/index.js +8 -0
- package/lib/esm/logic/acm/findMatchingCertificates.d.ts +1 -0
- package/lib/esm/logic/acm/findMatchingCertificates.js +39 -0
- package/lib/esm/logic/acm/getDomainValidationOptions.d.ts +2 -0
- package/lib/esm/logic/acm/getDomainValidationOptions.js +26 -0
- package/lib/esm/logic/apiGateway/getApiKeys.d.ts +2 -0
- package/lib/esm/logic/apiGateway/getApiKeys.js +13 -0
- package/lib/esm/logic/apiGateway/websocketSendMessage.d.ts +1 -0
- package/lib/esm/logic/apiGateway/websocketSendMessage.js +16 -0
- package/lib/esm/logic/cache/memoFunc.d.ts +7 -0
- package/lib/esm/logic/cache/memoFunc.js +28 -0
- package/lib/esm/logic/cache/memoFuncAsync.d.ts +7 -0
- package/lib/esm/logic/cache/memoFuncAsync.js +29 -0
- package/lib/esm/logic/cloudFront/invalidateCache.d.ts +2 -0
- package/lib/esm/logic/cloudFront/invalidateCache.js +24 -0
- package/lib/esm/logic/cloudformation/getExportedValue.d.ts +1 -0
- package/lib/esm/logic/cloudformation/getExportedValue.js +17 -0
- package/lib/esm/logic/cognito/authenticateUser.d.ts +2 -0
- package/lib/esm/logic/cognito/authenticateUser.js +25 -0
- package/lib/esm/logic/cognito/changePassword.d.ts +1 -0
- package/lib/esm/logic/cognito/changePassword.js +11 -0
- package/lib/esm/logic/cognito/cognitoAttributeMap.d.ts +10 -0
- package/lib/esm/logic/cognito/cognitoAttributeMap.js +45 -0
- package/lib/esm/logic/cognito/confirmForgotPassword.d.ts +2 -0
- package/lib/esm/logic/cognito/confirmForgotPassword.js +21 -0
- package/lib/esm/logic/cognito/createUser.d.ts +2 -0
- package/lib/esm/logic/cognito/createUser.js +26 -0
- package/lib/esm/logic/cognito/decodeValidJwt.d.ts +5 -0
- package/lib/esm/logic/cognito/decodeValidJwt.js +30 -0
- package/lib/esm/logic/cognito/forgotPassword.d.ts +2 -0
- package/lib/esm/logic/cognito/forgotPassword.js +24 -0
- package/lib/esm/logic/cognito/getUser.d.ts +10 -0
- package/lib/esm/logic/cognito/getUser.js +23 -0
- package/lib/esm/logic/cognito/getUserAttributes.d.ts +2 -0
- package/lib/esm/logic/cognito/getUserAttributes.js +14 -0
- package/lib/esm/logic/cognito/getUserAttributesBySub.d.ts +2 -0
- package/lib/esm/logic/cognito/getUserAttributesBySub.js +16 -0
- package/lib/esm/logic/cognito/getUserPoolClientSecret.d.ts +1 -0
- package/lib/esm/logic/cognito/getUserPoolClientSecret.js +14 -0
- package/lib/esm/logic/cognito/listPagedUsers.d.ts +2 -0
- package/lib/esm/logic/cognito/listPagedUsers.js +19 -0
- package/lib/esm/logic/cognito/refreshToken.d.ts +2 -0
- package/lib/esm/logic/cognito/refreshToken.js +23 -0
- package/lib/esm/logic/cognito/requestEmailVerificationCode.d.ts +1 -0
- package/lib/esm/logic/cognito/requestEmailVerificationCode.js +10 -0
- package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -0
- package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.js +24 -0
- package/lib/esm/logic/cognito/setUserAttributes.d.ts +2 -0
- package/lib/esm/logic/cognito/setUserAttributes.js +13 -0
- package/lib/esm/logic/cognito/setUserPassword.d.ts +1 -0
- package/lib/esm/logic/cognito/setUserPassword.js +13 -0
- package/lib/esm/logic/cognito/utils/calculateSecretHash.d.ts +1 -0
- package/lib/esm/logic/cognito/utils/calculateSecretHash.js +10 -0
- package/lib/esm/logic/cognito/utils/index.d.ts +4 -0
- package/lib/esm/logic/cognito/utils/index.js +4 -0
- package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.d.ts +1 -0
- package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.js +6 -0
- package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.d.ts +1 -0
- package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.js +6 -0
- package/lib/esm/logic/cognito/utils/transformCognitoResponse.d.ts +5 -0
- package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +37 -0
- package/lib/esm/logic/cognito/verifyJwt.d.ts +1 -0
- package/lib/esm/logic/cognito/verifyJwt.js +6 -0
- package/lib/esm/logic/cognito/verifyUserEmail.d.ts +1 -0
- package/lib/esm/logic/cognito/verifyUserEmail.js +11 -0
- package/lib/esm/logic/createAwsClient.d.ts +3 -0
- package/lib/esm/logic/createAwsClient.js +32 -0
- package/lib/esm/logic/dynamo/convertObjectToDynamoMap.d.ts +1 -0
- package/lib/esm/logic/dynamo/convertObjectToDynamoMap.js +63 -0
- package/lib/esm/logic/dynamo/deleteItem.d.ts +2 -0
- package/lib/esm/logic/dynamo/deleteItem.js +16 -0
- package/lib/esm/logic/dynamo/getAllItems.d.ts +1 -0
- package/lib/esm/logic/dynamo/getAllItems.js +23 -0
- package/lib/esm/logic/dynamo/getItem.d.ts +1 -0
- package/lib/esm/logic/dynamo/getItem.js +21 -0
- package/lib/esm/logic/dynamo/getLogByCorrelation.d.ts +2 -0
- package/lib/esm/logic/dynamo/getLogByCorrelation.js +39 -0
- package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.d.ts +2 -0
- package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.js +49 -0
- package/lib/esm/logic/dynamo/getPagedItemsOverRange.d.ts +2 -0
- package/lib/esm/logic/dynamo/getPagedItemsOverRange.js +48 -0
- package/lib/esm/logic/dynamo/index.d.ts +6 -0
- package/lib/esm/logic/dynamo/index.js +6 -0
- package/lib/esm/logic/dynamo/logs/index.d.ts +1 -0
- package/lib/esm/logic/dynamo/logs/index.js +1 -0
- package/lib/esm/logic/dynamo/logs/utils/index.d.ts +2 -0
- package/lib/esm/logic/dynamo/logs/utils/index.js +2 -0
- package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.d.ts +1 -0
- package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.js +3 -0
- package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.d.ts +2 -0
- package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js +3 -0
- package/lib/esm/logic/dynamo/putItem.d.ts +5 -0
- package/lib/esm/logic/dynamo/putItem.js +33 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.d.ts +10 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js +187 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.d.ts +12 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js +125 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.d.ts +2 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +22 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/index.d.ts +3 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/index.js +3 -0
- package/lib/esm/logic/dynamo/query.d.ts +2 -0
- package/lib/esm/logic/dynamo/query.js +28 -0
- package/lib/esm/logic/dynamo/scan.d.ts +2 -0
- package/lib/esm/logic/dynamo/scan.js +24 -0
- package/lib/esm/logic/dynamo/updateItem.d.ts +2 -0
- package/lib/esm/logic/dynamo/updateItem.js +22 -0
- package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.d.ts +2 -0
- package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.js +5 -0
- package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.d.ts +4 -0
- package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.js +5 -0
- package/lib/esm/logic/lambda/executeLambdaByName.d.ts +1 -0
- package/lib/esm/logic/lambda/executeLambdaByName.js +25 -0
- package/lib/esm/logic/parametersManager/getParameter.d.ts +1 -0
- package/lib/esm/logic/parametersManager/getParameter.js +10 -0
- package/lib/esm/logic/parametersManager/getParameters.d.ts +1 -0
- package/lib/esm/logic/parametersManager/getParameters.js +11 -0
- package/lib/esm/logic/parametersManager/setParameter.d.ts +1 -0
- package/lib/esm/logic/parametersManager/setParameter.js +11 -0
- package/lib/esm/logic/s3/deleteFiles.d.ts +1 -0
- package/lib/esm/logic/s3/deleteFiles.js +14 -0
- package/lib/esm/logic/s3/generatePresignedUrl.d.ts +1 -0
- package/lib/esm/logic/s3/generatePresignedUrl.js +19 -0
- package/lib/esm/logic/s3/listFiles.d.ts +10 -0
- package/lib/esm/logic/s3/listFiles.js +42 -0
- package/lib/esm/logic/s3/objectExists.d.ts +1 -0
- package/lib/esm/logic/s3/objectExists.js +16 -0
- package/lib/esm/logic/s3/readBinaryFile.d.ts +2 -0
- package/lib/esm/logic/s3/readBinaryFile.js +15 -0
- package/lib/esm/logic/s3/readTextFile.d.ts +1 -0
- package/lib/esm/logic/s3/readTextFile.js +10 -0
- package/lib/esm/logic/s3/s3Utils.d.ts +7 -0
- package/lib/esm/logic/s3/s3Utils.js +7 -0
- package/lib/esm/logic/s3/writeBinaryFile.d.ts +3 -0
- package/lib/esm/logic/s3/writeBinaryFile.js +13 -0
- package/lib/esm/logic/s3/writeTextFile.d.ts +2 -0
- package/lib/esm/logic/s3/writeTextFile.js +11 -0
- package/lib/esm/logic/secretsManager/getSecret.d.ts +1 -0
- package/lib/esm/logic/secretsManager/getSecret.js +14 -0
- package/lib/esm/logic/sns/publishMessage.d.ts +1 -0
- package/lib/esm/logic/sns/publishMessage.js +28 -0
- package/lib/esm/logic/sqs/getQueueUrl.d.ts +2 -0
- package/lib/esm/logic/sqs/getQueueUrl.js +7 -0
- package/lib/esm/logic/sqs/sendMessages.d.ts +1 -0
- package/lib/esm/logic/sqs/sendMessages.js +23 -0
- package/lib/esm/runtimeConfig/QPQAWSResourceMap.d.ts +4 -0
- package/lib/esm/runtimeConfig/QPQAWSResourceMap.js +1 -0
- package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.d.ts +4 -0
- package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js +12 -0
- package/lib/esm/types/DynamicLoader.d.ts +1 -0
- package/lib/esm/types/DynamicLoader.js +1 -0
- package/lib/esm/types/index.d.ts +1 -0
- package/lib/esm/types/index.js +1 -0
- package/package.json +12 -8
package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { QPQConfig } from 'quidproquo-core';
|
|
2
|
+
import { WebEntryInvalidateCacheActionProcessor } from 'quidproquo-webserver';
|
|
3
|
+
declare const _default: (qpqConfig: QPQConfig) => {
|
|
4
|
+
"@quidproquo-webserver/WebEntry/InvalidateCache": WebEntryInvalidateCacheActionProcessor;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { actionResult, qpqCoreUtils } from 'quidproquo-core';
|
|
2
|
+
import { WebEntryActionType } from 'quidproquo-webserver';
|
|
3
|
+
import { getCFExportNameDistributionIdArnFromConfig } from '../../../awsNamingUtils';
|
|
4
|
+
import { invalidateCache } from '../../../logic/cloudFront/invalidateCache';
|
|
5
|
+
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
6
|
+
const getWebEntryInvalidteCacheActionProcessor = (qpqConfig) => {
|
|
7
|
+
return async ({ paths, webEntryName }) => {
|
|
8
|
+
const region = qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
9
|
+
const distributionId = await getExportedValue(getCFExportNameDistributionIdArnFromConfig(webEntryName, qpqConfig), region);
|
|
10
|
+
await invalidateCache(distributionId, region, paths);
|
|
11
|
+
return actionResult(void 0);
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default (qpqConfig) => {
|
|
15
|
+
return {
|
|
16
|
+
[WebEntryActionType.InvalidateCache]: getWebEntryInvalidteCacheActionProcessor(qpqConfig),
|
|
17
|
+
};
|
|
18
|
+
};
|
package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { QPQConfig } from 'quidproquo-core';
|
|
2
|
+
import { WebsocketSendMessageActionProcessor } from 'quidproquo-webserver';
|
|
3
|
+
declare const _default: (qpqConfig: QPQConfig) => {
|
|
4
|
+
"@quidproquo-webserver/Websocket/SendMessage": WebsocketSendMessageActionProcessor<any>;
|
|
5
|
+
};
|
|
6
|
+
export default _default;
|
package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, qpqCoreUtils } from 'quidproquo-core';
|
|
2
|
+
import { WebsocketActionType, WebsocketSendMessageErrorTypeEnum } from 'quidproquo-webserver';
|
|
3
|
+
import { getCFExportNameWebsocketApiIdFromConfig } from '../../../awsNamingUtils';
|
|
4
|
+
import { sendMessageToWebSocketConnection } from '../../../logic/apiGateway/websocketSendMessage';
|
|
5
|
+
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
6
|
+
const getWebsocketSendMessageActionProcessor = (qpqConfig) => {
|
|
7
|
+
return async ({ connectionId, payload, websocketApiName }) => {
|
|
8
|
+
const region = qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
9
|
+
const apiId = await getExportedValue(getCFExportNameWebsocketApiIdFromConfig(websocketApiName, qpqConfig), region);
|
|
10
|
+
try {
|
|
11
|
+
await sendMessageToWebSocketConnection(apiId, connectionId, region, payload);
|
|
12
|
+
return actionResult(void 0);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return actionResultErrorFromCaughtError(error, {
|
|
16
|
+
ThrottlingException: () => actionResultError(WebsocketSendMessageErrorTypeEnum.Throttled, 'Rate exceeded'),
|
|
17
|
+
GoneException: () => actionResultError(WebsocketSendMessageErrorTypeEnum.Disconnected, 'Connection no longer exists'),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export default (qpqConfig) => {
|
|
23
|
+
return {
|
|
24
|
+
[WebsocketActionType.SendMessage]: getWebsocketSendMessageActionProcessor(qpqConfig),
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './getActionProcessor';
|
|
2
|
+
export * as awsLambdaUtils from './awsLambdaUtils';
|
|
3
|
+
export * as awsNamingUtils from './awsNamingUtils';
|
|
4
|
+
export * from './runtimeConfig/QPQAWSResourceMap';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './logic/parametersManager/getParameter';
|
|
7
|
+
export * from './logic/parametersManager/getParameters';
|
|
8
|
+
export * from './logic/cache/memoFunc';
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './getActionProcessor';
|
|
2
|
+
export * as awsLambdaUtils from './awsLambdaUtils';
|
|
3
|
+
export * as awsNamingUtils from './awsNamingUtils';
|
|
4
|
+
export * from './runtimeConfig/QPQAWSResourceMap';
|
|
5
|
+
export * from './types';
|
|
6
|
+
export * from './logic/parametersManager/getParameter';
|
|
7
|
+
export * from './logic/parametersManager/getParameters';
|
|
8
|
+
export * from './logic/cache/memoFunc';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const findMatchingCertificates: (domainName: string, region: string, retryCount?: number, delayMs?: number) => Promise<string[]>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ACMClient, ListCertificatesCommand } from '@aws-sdk/client-acm';
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
export const findMatchingCertificates = async (domainName, region, retryCount = 3, delayMs = 5000) => {
|
|
4
|
+
const lowerCaseDomainName = domainName.toLowerCase();
|
|
5
|
+
const acmClient = createAwsClient(ACMClient, {
|
|
6
|
+
region,
|
|
7
|
+
});
|
|
8
|
+
let remainingRetries = retryCount;
|
|
9
|
+
while (remainingRetries > 0) {
|
|
10
|
+
let certificateArns = [];
|
|
11
|
+
let NextToken;
|
|
12
|
+
do {
|
|
13
|
+
const listCommand = new ListCertificatesCommand({
|
|
14
|
+
NextToken,
|
|
15
|
+
});
|
|
16
|
+
const listResult = await acmClient.send(listCommand);
|
|
17
|
+
for (const certificate of listResult.CertificateSummaryList || []) {
|
|
18
|
+
if (certificate.CertificateArn &&
|
|
19
|
+
certificate.DomainName?.toLowerCase() === lowerCaseDomainName) {
|
|
20
|
+
certificateArns.push(certificate.CertificateArn);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
NextToken = listResult.NextToken;
|
|
24
|
+
} while (NextToken);
|
|
25
|
+
if (certificateArns.length > 0) {
|
|
26
|
+
return certificateArns;
|
|
27
|
+
}
|
|
28
|
+
remainingRetries--;
|
|
29
|
+
if (remainingRetries != 0) {
|
|
30
|
+
// Don't wait after the last try
|
|
31
|
+
await new Promise((res) => setTimeout(res, delayMs));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return []; // Return an empty array after max retries
|
|
35
|
+
};
|
|
36
|
+
// (async () => {
|
|
37
|
+
// const matchingCerts = await findMatchingCertificates('example.com', 'us-east-1');
|
|
38
|
+
// console.log('Matching certificates:', matchingCerts);
|
|
39
|
+
// })();
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ACMClient, DescribeCertificateCommand } from '@aws-sdk/client-acm';
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
export const getDomainValidationOptions = async (certificateArn, region) => {
|
|
4
|
+
const acmClient = createAwsClient(ACMClient, {
|
|
5
|
+
region,
|
|
6
|
+
});
|
|
7
|
+
const command = new DescribeCertificateCommand({
|
|
8
|
+
CertificateArn: certificateArn,
|
|
9
|
+
});
|
|
10
|
+
const result = await acmClient.send(command);
|
|
11
|
+
const entries = {};
|
|
12
|
+
console.log('DescribeCertificateCommand: ', JSON.stringify(result, null, 2));
|
|
13
|
+
// Extract the DomainValidationOptions and populate the entries
|
|
14
|
+
if (result.Certificate && result.Certificate.DomainValidationOptions) {
|
|
15
|
+
for (const option of result.Certificate.DomainValidationOptions) {
|
|
16
|
+
if (option.ResourceRecord?.Name && option.ResourceRecord?.Value) {
|
|
17
|
+
entries[option.ResourceRecord.Name] = {
|
|
18
|
+
proxied: false,
|
|
19
|
+
type: 'CNAME',
|
|
20
|
+
value: option.ResourceRecord.Value,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return entries;
|
|
26
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { APIGatewayClient, GetApiKeysCommand, } from '@aws-sdk/client-api-gateway';
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
export const getApiKeys = async (region, ...keyNames) => {
|
|
4
|
+
const apiGatewayClient = createAwsClient(APIGatewayClient, { region });
|
|
5
|
+
const input = {
|
|
6
|
+
includeValues: true,
|
|
7
|
+
limit: 500,
|
|
8
|
+
};
|
|
9
|
+
const res = await apiGatewayClient.send(new GetApiKeysCommand(input));
|
|
10
|
+
return (res.items
|
|
11
|
+
?.filter((i) => keyNames.indexOf(i.name) >= 0)
|
|
12
|
+
.map((i) => ({ name: i.name, value: i.value, description: i.description })) || []);
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sendMessageToWebSocketConnection: (apiId: string, connectionId: string, region: string, payload: any) => Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiGatewayManagementApiClient, PostToConnectionCommand } from "@aws-sdk/client-apigatewaymanagementapi";
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
export const sendMessageToWebSocketConnection = async (apiId, connectionId, region, payload) => {
|
|
4
|
+
// Create a new ApiGatewayManagementApiClient
|
|
5
|
+
const apiGatewayManagementApiClient = createAwsClient(ApiGatewayManagementApiClient, {
|
|
6
|
+
apiVersion: "2018-11-29",
|
|
7
|
+
endpoint: `https://${apiId}.execute-api.${region}.amazonaws.com/prod`,
|
|
8
|
+
region
|
|
9
|
+
});
|
|
10
|
+
// Create a new PostToConnectionCommand with the connection ID and payload
|
|
11
|
+
const command = new PostToConnectionCommand({
|
|
12
|
+
ConnectionId: connectionId,
|
|
13
|
+
Data: JSON.stringify(payload) // Convert payload to string if necessary
|
|
14
|
+
});
|
|
15
|
+
await apiGatewayManagementApiClient.send(command);
|
|
16
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memoizes a function by caching its return values.
|
|
3
|
+
* @param func The function to memoize.
|
|
4
|
+
* @param ttlInSeconds Time-to-live for the cached values in seconds.
|
|
5
|
+
* @returns The memoized function.
|
|
6
|
+
*/
|
|
7
|
+
export declare const memoFunc: <T extends (...args: any[]) => any>(func: T, ttlInSeconds?: number) => T;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import NodeCache from 'node-cache';
|
|
2
|
+
const cache = new WeakMap();
|
|
3
|
+
/**
|
|
4
|
+
* Memoizes a function by caching its return values.
|
|
5
|
+
* @param func The function to memoize.
|
|
6
|
+
* @param ttlInSeconds Time-to-live for the cached values in seconds.
|
|
7
|
+
* @returns The memoized function.
|
|
8
|
+
*/
|
|
9
|
+
export const memoFunc = (func, ttlInSeconds = 3600) => {
|
|
10
|
+
return ((...args) => {
|
|
11
|
+
// Check if the function has a corresponding cache entry
|
|
12
|
+
if (!cache.has(func)) {
|
|
13
|
+
// Create a new NodeCache instance and store it in the cache
|
|
14
|
+
cache.set(func, new NodeCache({ stdTTL: ttlInSeconds }));
|
|
15
|
+
}
|
|
16
|
+
const cacheKey = JSON.stringify(args);
|
|
17
|
+
const nodeCache = cache.get(func);
|
|
18
|
+
const cachedValue = nodeCache.get(cacheKey);
|
|
19
|
+
if (cachedValue) {
|
|
20
|
+
return cachedValue;
|
|
21
|
+
}
|
|
22
|
+
// Call the original function if the value is not cached
|
|
23
|
+
const result = func(...args);
|
|
24
|
+
// Cache the result for future use
|
|
25
|
+
nodeCache.set(cacheKey, result);
|
|
26
|
+
return result;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memoizes a function by caching its return values.
|
|
3
|
+
* @param func The function to memoize.
|
|
4
|
+
* @param ttlInSeconds Time-to-live for the cached values in seconds.
|
|
5
|
+
* @returns The memoized function.
|
|
6
|
+
*/
|
|
7
|
+
export declare const memoFuncAsync: <T extends (...args: any[]) => any>(func: T, ttlInSeconds?: number) => T;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import NodeCache from 'node-cache';
|
|
2
|
+
const cache = new WeakMap();
|
|
3
|
+
/**
|
|
4
|
+
* Memoizes a function by caching its return values.
|
|
5
|
+
* @param func The function to memoize.
|
|
6
|
+
* @param ttlInSeconds Time-to-live for the cached values in seconds.
|
|
7
|
+
* @returns The memoized function.
|
|
8
|
+
*/
|
|
9
|
+
export const memoFuncAsync = (func, ttlInSeconds = 3600) => {
|
|
10
|
+
return (async (...args) => {
|
|
11
|
+
if (!cache.has(func)) {
|
|
12
|
+
cache.set(func, new NodeCache({ stdTTL: ttlInSeconds }));
|
|
13
|
+
}
|
|
14
|
+
const cacheKey = JSON.stringify(args);
|
|
15
|
+
const nodeCache = cache.get(func);
|
|
16
|
+
if (nodeCache.has(cacheKey)) {
|
|
17
|
+
return nodeCache.get(cacheKey);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
// Await the result and then cache it
|
|
21
|
+
const result = await func(...args);
|
|
22
|
+
nodeCache.set(cacheKey, result);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
throw err; // re-throw the error to be caught by caller
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CloudFrontClient, CreateInvalidationCommand, } from '@aws-sdk/client-cloudfront';
|
|
2
|
+
import crypto from 'crypto';
|
|
3
|
+
import { createAwsClient } from '../createAwsClient';
|
|
4
|
+
export const getInvalidationCallerReference = (paths) => {
|
|
5
|
+
const allPaths = paths.join('');
|
|
6
|
+
// All paths as a hash
|
|
7
|
+
const allPathHash = crypto.createHash('md5').update(allPaths).digest('hex');
|
|
8
|
+
// Unique key is the now time with all paths hash
|
|
9
|
+
return allPathHash + new Date().toISOString();
|
|
10
|
+
};
|
|
11
|
+
export const invalidateCache = async (distributionId, region, paths) => {
|
|
12
|
+
const cloudFrontClient = createAwsClient(CloudFrontClient, { region });
|
|
13
|
+
const input = {
|
|
14
|
+
DistributionId: distributionId,
|
|
15
|
+
InvalidationBatch: {
|
|
16
|
+
Paths: {
|
|
17
|
+
Quantity: paths.length,
|
|
18
|
+
Items: paths,
|
|
19
|
+
},
|
|
20
|
+
CallerReference: getInvalidationCallerReference(paths),
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
await cloudFrontClient.send(new CreateInvalidationCommand(input));
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getExportedValue: (variableName: string, region: string) => Promise<string>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CloudFormationClient, ListExportsCommand, } from '@aws-sdk/client-cloudformation';
|
|
2
|
+
import { memoFuncAsync } from '../cache/memoFuncAsync';
|
|
3
|
+
import { createAwsClient } from '../createAwsClient';
|
|
4
|
+
export const getExportedValue = memoFuncAsync(async (variableName, region) => {
|
|
5
|
+
const cloudformation = createAwsClient(CloudFormationClient, { region });
|
|
6
|
+
const listCommandParams = {};
|
|
7
|
+
do {
|
|
8
|
+
const result = await cloudformation.send(new ListExportsCommand(listCommandParams));
|
|
9
|
+
const value = (result.Exports || []).find((e) => e.Name === variableName)?.Value;
|
|
10
|
+
if (value !== undefined) {
|
|
11
|
+
console.log(`CF Found: [${variableName}] = [${value}]`);
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
listCommandParams.NextToken = result.NextToken;
|
|
15
|
+
} while (!!listCommandParams.NextToken);
|
|
16
|
+
throw new Error(`CF could not find: [${variableName}]`);
|
|
17
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, AdminInitiateAuthCommand, AuthFlowType, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { calculateSecretHash } from './utils/calculateSecretHash';
|
|
3
|
+
import { getUserPoolClientSecret } from './getUserPoolClientSecret';
|
|
4
|
+
import { cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo } from './utils/transformCognitoResponse';
|
|
5
|
+
import { createAwsClient } from '../createAwsClient';
|
|
6
|
+
// TODO: retry for TooManyRequestsException
|
|
7
|
+
export const authenticateUser = async (userPoolId, clientId, region, username, password) => {
|
|
8
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
9
|
+
const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
|
|
10
|
+
const secretHash = calculateSecretHash(username, clientId, clientSecret);
|
|
11
|
+
// Time we issued the request
|
|
12
|
+
const issueDateTime = new Date().toISOString();
|
|
13
|
+
const params = {
|
|
14
|
+
AuthFlow: AuthFlowType.ADMIN_USER_PASSWORD_AUTH,
|
|
15
|
+
UserPoolId: userPoolId,
|
|
16
|
+
ClientId: clientId,
|
|
17
|
+
AuthParameters: {
|
|
18
|
+
USERNAME: username,
|
|
19
|
+
PASSWORD: password,
|
|
20
|
+
SECRET_HASH: secretHash,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const response = await cognitoClient.send(new AdminInitiateAuthCommand(params));
|
|
24
|
+
return cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo(response, issueDateTime);
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const changePassword: (accessToken: string, previousPassword: string, proposedPassword: string, region: string) => Promise<void>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, ChangePasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
export const changePassword = async (accessToken, previousPassword, proposedPassword, region) => {
|
|
4
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
5
|
+
const params = {
|
|
6
|
+
AccessToken: accessToken,
|
|
7
|
+
PreviousPassword: previousPassword,
|
|
8
|
+
ProposedPassword: proposedPassword,
|
|
9
|
+
};
|
|
10
|
+
await cognitoClient.send(new ChangePasswordCommand(params));
|
|
11
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UserAttributes } from 'quidproquo-core';
|
|
2
|
+
export declare const cognitoAttributeMap: Record<keyof UserAttributes, string>;
|
|
3
|
+
export declare const getCognitoUserAttributesFromQpqUserAttributes: (userAttributes: UserAttributes) => {
|
|
4
|
+
Name: string;
|
|
5
|
+
Value: string;
|
|
6
|
+
}[];
|
|
7
|
+
export declare const getQpqAttributesFromCognitoUserAttributes: (cognitoUserAttributes: {
|
|
8
|
+
Name: string;
|
|
9
|
+
Value: string;
|
|
10
|
+
}[]) => UserAttributes;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export const cognitoAttributeMap = {
|
|
2
|
+
email: 'email',
|
|
3
|
+
emailVerified: 'email_verified',
|
|
4
|
+
userId: 'sub',
|
|
5
|
+
address: 'address',
|
|
6
|
+
birthDate: 'birthdate',
|
|
7
|
+
familyName: 'family_name',
|
|
8
|
+
gender: 'gender',
|
|
9
|
+
givenName: 'given_name',
|
|
10
|
+
locale: 'locale',
|
|
11
|
+
middleName: 'middle_name',
|
|
12
|
+
name: 'name',
|
|
13
|
+
nickname: 'nickname',
|
|
14
|
+
phoneNumber: 'phone_number',
|
|
15
|
+
picture: 'picture',
|
|
16
|
+
preferredUsername: 'preferred_username',
|
|
17
|
+
profile: 'profile',
|
|
18
|
+
website: 'website',
|
|
19
|
+
zoneInfo: 'zoneinfo',
|
|
20
|
+
};
|
|
21
|
+
// Flip the cognitoAttributeMap for reverse mapping
|
|
22
|
+
const reversedCognitoAttributeMap = Object.entries(cognitoAttributeMap).reduce((acc, [key, value]) => ({ ...acc, [value]: key }), {});
|
|
23
|
+
export const getCognitoUserAttributesFromQpqUserAttributes = (userAttributes) => {
|
|
24
|
+
return Object.keys(userAttributes)
|
|
25
|
+
.map((key) => ({
|
|
26
|
+
Name: cognitoAttributeMap[key],
|
|
27
|
+
Value: `${userAttributes[key]}`,
|
|
28
|
+
}))
|
|
29
|
+
.filter((attribute) => !!attribute.Name && !!attribute.Value);
|
|
30
|
+
};
|
|
31
|
+
export const getQpqAttributesFromCognitoUserAttributes = (cognitoUserAttributes) => {
|
|
32
|
+
// Map cognitoUserAttributes to your UserAttributes format
|
|
33
|
+
const userAttributes = cognitoUserAttributes.reduce((acc, { Name, Value }) => {
|
|
34
|
+
const userAttributeKey = reversedCognitoAttributeMap[Name];
|
|
35
|
+
if (!userAttributeKey) {
|
|
36
|
+
return acc; // If there's no matching key in your mapping, just continue with the current accumulation
|
|
37
|
+
}
|
|
38
|
+
if (userAttributeKey === 'emailVerified') {
|
|
39
|
+
// Assume the value of 'email_verified' is a string of 'true' or 'false'
|
|
40
|
+
return { ...acc, [userAttributeKey]: Value === 'true' };
|
|
41
|
+
}
|
|
42
|
+
return { ...acc, [userAttributeKey]: Value };
|
|
43
|
+
}, {});
|
|
44
|
+
return userAttributes;
|
|
45
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, ConfirmForgotPasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { calculateSecretHash } from './utils/calculateSecretHash';
|
|
3
|
+
import { getUserPoolClientSecret } from './getUserPoolClientSecret';
|
|
4
|
+
import { authenticateUser } from './authenticateUser';
|
|
5
|
+
import { createAwsClient } from '../createAwsClient';
|
|
6
|
+
export const confirmForgotPassword = async (userPoolId, clientId, region, code, username, password) => {
|
|
7
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
8
|
+
const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
|
|
9
|
+
const secretHash = calculateSecretHash(username, clientId, clientSecret);
|
|
10
|
+
const params = {
|
|
11
|
+
ClientId: clientId,
|
|
12
|
+
ConfirmationCode: code,
|
|
13
|
+
SecretHash: secretHash,
|
|
14
|
+
Password: password,
|
|
15
|
+
Username: username,
|
|
16
|
+
};
|
|
17
|
+
await cognitoClient.send(new ConfirmForgotPasswordCommand(params));
|
|
18
|
+
// Authenticate the user
|
|
19
|
+
const authResponse = await authenticateUser(userPoolId, clientId, region, username, password);
|
|
20
|
+
return authResponse;
|
|
21
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, AdminCreateUserCommand, DeliveryMediumType, MessageActionType, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { authenticateUser } from './authenticateUser';
|
|
3
|
+
import { setUserPassword } from './setUserPassword';
|
|
4
|
+
import { getCognitoUserAttributesFromQpqUserAttributes } from './cognitoAttributeMap';
|
|
5
|
+
import { createAwsClient } from '../createAwsClient';
|
|
6
|
+
export const createUser = async (userPoolId, region, clientId, createUserRequest) => {
|
|
7
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
8
|
+
const params = {
|
|
9
|
+
UserPoolId: userPoolId,
|
|
10
|
+
Username: createUserRequest.email,
|
|
11
|
+
MessageAction: MessageActionType.SUPPRESS,
|
|
12
|
+
DesiredDeliveryMediums: [DeliveryMediumType.EMAIL],
|
|
13
|
+
UserAttributes: getCognitoUserAttributesFromQpqUserAttributes(createUserRequest),
|
|
14
|
+
ForceAliasCreation: false,
|
|
15
|
+
};
|
|
16
|
+
if (createUserRequest.phoneNumber) {
|
|
17
|
+
params.DesiredDeliveryMediums.push(DeliveryMediumType.SMS);
|
|
18
|
+
}
|
|
19
|
+
const response = await cognitoClient.send(new AdminCreateUserCommand(params));
|
|
20
|
+
const username = response.User?.Username || '';
|
|
21
|
+
// Set the user's password
|
|
22
|
+
await setUserPassword(region, userPoolId, username, createUserRequest.password);
|
|
23
|
+
// Authenticate the user
|
|
24
|
+
const authResponse = await authenticateUser(userPoolId, clientId, region, username, createUserRequest.password);
|
|
25
|
+
return authResponse;
|
|
26
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { verify, decode } from 'jsonwebtoken';
|
|
2
|
+
import jwksClient from 'jwks-rsa';
|
|
3
|
+
export const decodeValidJwt = async (userPoolId, region, ignoreExpiration, accessToken) => {
|
|
4
|
+
if (!accessToken) {
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
const decodedToken = decode(accessToken, { complete: true });
|
|
9
|
+
if (!decodedToken) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const client = jwksClient({
|
|
13
|
+
jwksUri: `https://cognito-idp.${region}.amazonaws.com/${userPoolId}/.well-known/jwks.json`,
|
|
14
|
+
});
|
|
15
|
+
const key = await client.getSigningKey(decodedToken.header.kid);
|
|
16
|
+
const signingKey = key.getPublicKey();
|
|
17
|
+
const payload = verify(accessToken, signingKey, {
|
|
18
|
+
algorithms: ['RS256'],
|
|
19
|
+
ignoreExpiration,
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
userId: payload.sub,
|
|
23
|
+
username: payload.username,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
console.log('Failed to decode jwt token', e);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, ForgotPasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { calculateSecretHash } from './utils/calculateSecretHash';
|
|
3
|
+
import { getUserPoolClientSecret } from './getUserPoolClientSecret';
|
|
4
|
+
import { createAwsClient } from '../createAwsClient';
|
|
5
|
+
export const forgotPassword = async (userPoolId, clientId, region, username) => {
|
|
6
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
7
|
+
const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
|
|
8
|
+
const secretHash = calculateSecretHash(username, clientId, clientSecret);
|
|
9
|
+
const params = {
|
|
10
|
+
ClientId: clientId,
|
|
11
|
+
Username: username,
|
|
12
|
+
SecretHash: secretHash,
|
|
13
|
+
ClientMetadata: {
|
|
14
|
+
userInitiated: 'true',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
const response = await cognitoClient.send(new ForgotPasswordCommand(params));
|
|
18
|
+
const deliveryInfo = {
|
|
19
|
+
attributeName: response.CodeDeliveryDetails.AttributeName || 'email',
|
|
20
|
+
destination: response.CodeDeliveryDetails.Destination || 'unknown@email.com',
|
|
21
|
+
deliveryMedium: response.CodeDeliveryDetails.DeliveryMedium || 'EMAIL',
|
|
22
|
+
};
|
|
23
|
+
return deliveryInfo;
|
|
24
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface UserAttributes {
|
|
2
|
+
[attribute: string]: string;
|
|
3
|
+
}
|
|
4
|
+
export interface User {
|
|
5
|
+
id: string;
|
|
6
|
+
username: string;
|
|
7
|
+
email: string;
|
|
8
|
+
userAttributes: UserAttributes;
|
|
9
|
+
}
|
|
10
|
+
export declare const getUser: (accessToken: string, region: string) => Promise<User>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CognitoIdentityProviderClient, GetUserCommand, } from '@aws-sdk/client-cognito-identity-provider';
|
|
2
|
+
import { createAwsClient } from '../createAwsClient';
|
|
3
|
+
const getUserAttribute = (attributeName, userAttributes) => {
|
|
4
|
+
const lowerAttributeName = attributeName.toLowerCase();
|
|
5
|
+
const attribute = userAttributes.find((k) => k.Name?.toLowerCase() === lowerAttributeName);
|
|
6
|
+
return attribute?.Value;
|
|
7
|
+
};
|
|
8
|
+
export const getUser = async (accessToken, region) => {
|
|
9
|
+
const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
|
|
10
|
+
const params = {
|
|
11
|
+
AccessToken: accessToken,
|
|
12
|
+
};
|
|
13
|
+
const response = await cognitoClient.send(new GetUserCommand(params));
|
|
14
|
+
const attributeTypes = (response.UserAttributes || []).filter((ua) => !!ua.Value);
|
|
15
|
+
const userAttributes = attributeTypes.reduce((acc, ua) => ({ ...acc, [ua.Name]: ua.Value }), {});
|
|
16
|
+
const user = {
|
|
17
|
+
username: response.Username,
|
|
18
|
+
id: getUserAttribute('sub', attributeTypes),
|
|
19
|
+
email: getUserAttribute('email', attributeTypes),
|
|
20
|
+
userAttributes,
|
|
21
|
+
};
|
|
22
|
+
return user;
|
|
23
|
+
};
|