quidproquo-actionprocessor-awslambda 0.0.263 → 0.1.1
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/awsNamingUtils.d.ts +1 -0
- package/lib/commonjs/awsNamingUtils.js +12 -1
- package/lib/commonjs/getActionProcessor/core/ai/aiModelMap.js +9 -9
- package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +8 -41
- package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +14 -50
- package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +57 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/index.d.ts +32 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/index.js +48 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +12 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +11 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +11 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +8 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +12 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +16 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.js +8 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +8 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +12 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +13 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +11 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +13 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +10 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +12 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +53 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.js +9 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.js +11 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
- package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.js +82 -0
- package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
- package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.js +2 -0
- package/lib/commonjs/getActionProcessor/core/ai/types/index.d.ts +1 -0
- package/lib/commonjs/{logic/textract → getActionProcessor/core/ai/types}/index.js +1 -2
- package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +13 -2
- package/lib/commonjs/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/config/index.js +1 -2
- package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +15 -5
- package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js +17 -9
- package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js +9 -1
- package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +5 -0
- package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +5 -0
- package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +13 -2
- package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +16 -7
- package/lib/commonjs/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +7 -2
- package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
- package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +16 -6
- package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +5 -4
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +28 -0
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +12 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +12 -3
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +1 -1
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +9 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +10 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +17 -3
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +11 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +34 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +12 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +13 -2
- package/lib/commonjs/getActionProcessor/core/userDirectory/index.js +2 -1
- package/lib/commonjs/getActionProcessor/webserver/index.d.ts +0 -1
- package/lib/commonjs/getActionProcessor/webserver/index.js +1 -3
- package/lib/commonjs/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +1 -1
- package/lib/commonjs/index.d.ts +1 -0
- package/lib/commonjs/index.js +3 -0
- package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
- package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.js +20 -0
- package/lib/commonjs/lambdaExtensions/logExtensionPort.d.ts +1 -0
- package/lib/commonjs/lambdaExtensions/logExtensionPort.js +7 -0
- package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
- package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
- package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +2 -2
- package/lib/commonjs/lambdaHandlers/helpers/logger.d.ts +4 -1
- package/lib/commonjs/lambdaHandlers/helpers/logger.js +94 -36
- package/lib/commonjs/logic/cognito/associateSoftwareToken.d.ts +2 -0
- package/lib/commonjs/logic/cognito/associateSoftwareToken.js +28 -0
- package/lib/commonjs/logic/cognito/decodeValidJwt.js +2 -1
- package/lib/commonjs/logic/cognito/getUserAttributesBySub.d.ts +4 -0
- package/lib/commonjs/logic/cognito/getUserAttributesBySub.js +12 -2
- package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +2 -0
- package/lib/commonjs/logic/cognito/verifySoftwareToken.d.ts +1 -0
- package/lib/commonjs/logic/cognito/verifySoftwareToken.js +28 -0
- package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +8 -2
- package/lib/commonjs/logic/s3/generatePresignedUploadUrl.js +8 -1
- package/lib/commonjs/logic/s3/objectExists.js +9 -3
- package/lib/esm/awsNamingUtils.d.ts +1 -0
- package/lib/esm/awsNamingUtils.js +10 -0
- package/lib/esm/getActionProcessor/core/ai/aiModelMap.js +9 -9
- package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +12 -39
- package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +18 -47
- package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +54 -0
- package/lib/esm/getActionProcessor/core/ai/logic/index.d.ts +32 -0
- package/lib/esm/getActionProcessor/core/ai/logic/index.js +32 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +8 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +7 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +7 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +4 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +8 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +12 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.js +4 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +4 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +8 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +9 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +7 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +9 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +8 -0
- package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
- package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +40 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.js +5 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.js +7 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
- package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.js +78 -0
- package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
- package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.js +1 -0
- package/lib/esm/getActionProcessor/core/ai/types/index.d.ts +1 -0
- package/lib/esm/getActionProcessor/core/ai/types/index.js +1 -0
- package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +13 -2
- package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/config/index.js +0 -2
- package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +19 -9
- package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +18 -10
- package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +10 -2
- package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +6 -1
- package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +6 -1
- package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +14 -3
- package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +20 -11
- package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +8 -3
- package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +12 -4
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +20 -10
- package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +1 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +13 -0
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +13 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +13 -4
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +2 -2
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +10 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +11 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +18 -4
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +12 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +35 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +13 -3
- package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +14 -3
- package/lib/esm/getActionProcessor/core/userDirectory/index.js +2 -0
- package/lib/esm/getActionProcessor/webserver/index.d.ts +0 -1
- package/lib/esm/getActionProcessor/webserver/index.js +0 -3
- package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +2 -2
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
- package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.js +13 -0
- package/lib/esm/lambdaExtensions/logExtensionPort.d.ts +1 -0
- package/lib/esm/lambdaExtensions/logExtensionPort.js +4 -0
- package/lib/esm/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
- package/lib/esm/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
- package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +1 -1
- package/lib/esm/lambdaHandlers/helpers/logger.d.ts +4 -1
- package/lib/esm/lambdaHandlers/helpers/logger.js +94 -38
- package/lib/esm/logic/cognito/associateSoftwareToken.d.ts +2 -0
- package/lib/esm/logic/cognito/associateSoftwareToken.js +15 -0
- package/lib/esm/logic/cognito/decodeValidJwt.js +2 -1
- package/lib/esm/logic/cognito/getUserAttributesBySub.d.ts +4 -0
- package/lib/esm/logic/cognito/getUserAttributesBySub.js +10 -1
- package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +2 -0
- package/lib/esm/logic/cognito/verifySoftwareToken.d.ts +1 -0
- package/lib/esm/logic/cognito/verifySoftwareToken.js +15 -0
- package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +7 -2
- package/lib/esm/logic/s3/generatePresignedUploadUrl.js +8 -1
- package/lib/esm/logic/s3/objectExists.js +8 -3
- package/lib/extension-layer/extensions/qpq-log-extension +2 -0
- package/lib/extension-layer/qpq-log-extension/index.js +58 -0
- package/package.json +10 -8
- package/lib/commonjs/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
- package/lib/commonjs/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +0 -25
- package/lib/commonjs/getActionProcessor/webserver/extract/getExtractExpenseActionProcessor.d.ts +0 -2
- package/lib/commonjs/getActionProcessor/webserver/extract/getExtractExpenseActionProcessor.js +0 -56
- package/lib/commonjs/getActionProcessor/webserver/extract/index.d.ts +0 -2
- package/lib/commonjs/getActionProcessor/webserver/extract/index.js +0 -17
- package/lib/commonjs/logic/textract/analyzeExpense.d.ts +0 -51
- package/lib/commonjs/logic/textract/analyzeExpense.js +0 -31
- package/lib/commonjs/logic/textract/index.d.ts +0 -2
- package/lib/commonjs/logic/textract/transformExpenseResponse.d.ts +0 -29
- package/lib/commonjs/logic/textract/transformExpenseResponse.js +0 -180
- package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
- package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +0 -10
- package/lib/esm/getActionProcessor/webserver/extract/getExtractExpenseActionProcessor.d.ts +0 -2
- package/lib/esm/getActionProcessor/webserver/extract/getExtractExpenseActionProcessor.js +0 -40
- package/lib/esm/getActionProcessor/webserver/extract/index.d.ts +0 -2
- package/lib/esm/getActionProcessor/webserver/extract/index.js +0 -4
- package/lib/esm/logic/textract/analyzeExpense.d.ts +0 -51
- package/lib/esm/logic/textract/analyzeExpense.js +0 -18
- package/lib/esm/logic/textract/index.d.ts +0 -2
- package/lib/esm/logic/textract/index.js +0 -2
- package/lib/esm/logic/textract/transformExpenseResponse.d.ts +0 -29
- package/lib/esm/logic/textract/transformExpenseResponse.js +0 -173
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileIsColdStorageErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getObjectStorageClass } from '../../../logic/s3/getObjectStorageClass';
|
|
4
4
|
import { resolveStorageDriveBucketName } from './utils';
|
|
5
5
|
const getProcessFileIsColdStorage = (qpqConfig) => {
|
|
6
6
|
return async ({ drive, filepath }) => {
|
|
7
7
|
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
try {
|
|
9
|
+
const isColdStorage = (await getObjectStorageClass(s3BucketName, filepath, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig))) === 'cold_storage';
|
|
10
|
+
return actionResult(isColdStorage);
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return actionResultErrorFromCaughtError(error, {
|
|
14
|
+
AccessDenied: () => actionResultError(FileIsColdStorageErrorTypeEnum.AccessDenied, 'Access denied reading file storage class'),
|
|
15
|
+
Forbidden: () => actionResultError(FileIsColdStorageErrorTypeEnum.AccessDenied, 'Access denied reading file storage class'),
|
|
16
|
+
NotFound: () => actionResultError(FileIsColdStorageErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
17
|
+
NoSuchKey: () => actionResultError(FileIsColdStorageErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
18
|
+
NoSuchBucket: () => actionResultError(FileIsColdStorageErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
10
21
|
};
|
|
11
22
|
};
|
|
12
23
|
export const getFileIsColdStorageActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileListDirectoryErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { listFiles } from '../../../logic/s3/s3Utils';
|
|
4
4
|
import { resolveStorageDriveBucketName } from './utils';
|
|
5
5
|
const getProcessFileListDirectory = (qpqConfig) => {
|
|
6
6
|
return async ({ drive, folderPath, maxFiles, pageToken }) => {
|
|
7
7
|
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
try {
|
|
9
|
+
const s3FileList = await listFiles(s3BucketName, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), folderPath, maxFiles, pageToken);
|
|
10
|
+
// Add the drive onto the list
|
|
11
|
+
const fileInfos = s3FileList.fileInfos.map((s3fi) => ({
|
|
12
|
+
...s3fi,
|
|
13
|
+
drive,
|
|
14
|
+
}));
|
|
15
|
+
return actionResult({
|
|
16
|
+
fileInfos,
|
|
17
|
+
pageToken: s3FileList.pageToken,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return actionResultErrorFromCaughtError(error, {
|
|
22
|
+
AccessDenied: () => actionResultError(FileListDirectoryErrorTypeEnum.AccessDenied, 'Access denied listing directory'),
|
|
23
|
+
Forbidden: () => actionResultError(FileListDirectoryErrorTypeEnum.AccessDenied, 'Access denied listing directory'),
|
|
24
|
+
NoSuchBucket: () => actionResultError(FileListDirectoryErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
18
27
|
};
|
|
19
28
|
};
|
|
20
29
|
export const getFileListDirectoryActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileReadBinaryContentsErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { readBinaryFile } from '../../../logic/s3/s3Utils';
|
|
4
4
|
import { resolveStorageDriveBucketName } from './utils';
|
|
5
5
|
const getProcessFileReadBinaryContents = (qpqConfig) => {
|
|
6
6
|
return async ({ drive, filepath }) => {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
try {
|
|
8
|
+
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
9
|
+
return actionResult(await readBinaryFile(s3BucketName, filepath, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig)));
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return actionResultErrorFromCaughtError(error, {
|
|
13
|
+
InvalidObjectState: () => actionResultError(FileReadBinaryContentsErrorTypeEnum.InvalidStorageClass, 'File is in the wrong storage class'),
|
|
14
|
+
NoSuchKey: () => actionResultError(FileReadBinaryContentsErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
15
|
+
NotFound: () => actionResultError(FileReadBinaryContentsErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
9
18
|
};
|
|
10
19
|
};
|
|
11
20
|
export const getFileReadBinaryContentsActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, actionResultError, actionResultErrorFromCaughtError, ErrorTypeEnum, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, ErrorTypeEnum, FileActionType, FileStreamOpenErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
|
4
|
+
import { randomGuid } from '../../../awsLambdaUtils';
|
|
4
5
|
import { createAwsClient } from '../../../logic/createAwsClient';
|
|
5
6
|
import { resolveStorageDriveBucketName } from './utils';
|
|
6
7
|
async function* chunkedReadableIterator(stream, chunkSize, transform) {
|
|
@@ -30,7 +31,7 @@ const getProcessFileStreamOpen = (qpqConfig) => {
|
|
|
30
31
|
if (!response.Body) {
|
|
31
32
|
return actionResultError(ErrorTypeEnum.GenericError, `Empty response body for: ${filepath}`);
|
|
32
33
|
}
|
|
33
|
-
const streamId = `s3-${
|
|
34
|
+
const streamId = `s3-${randomGuid()}`;
|
|
34
35
|
const isText = encoding === 'text';
|
|
35
36
|
const size = chunkSize ?? 65536;
|
|
36
37
|
const transform = isText
|
|
@@ -41,7 +42,11 @@ const getProcessFileStreamOpen = (qpqConfig) => {
|
|
|
41
42
|
return actionResult({ id: streamId, encoding });
|
|
42
43
|
}
|
|
43
44
|
catch (error) {
|
|
44
|
-
return actionResultErrorFromCaughtError(error, {
|
|
45
|
+
return actionResultErrorFromCaughtError(error, {
|
|
46
|
+
InvalidObjectState: () => actionResultError(FileStreamOpenErrorTypeEnum.InvalidStorageClass, 'File is in the wrong storage class'),
|
|
47
|
+
NoSuchKey: () => actionResultError(FileStreamOpenErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
48
|
+
NotFound: () => actionResultError(FileStreamOpenErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
|
|
49
|
+
});
|
|
45
50
|
}
|
|
46
51
|
};
|
|
47
52
|
};
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileWriteBinaryContentsErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getS3BucketStorageClassFromStorageDriveTier } from '../../../awsLambdaUtils';
|
|
4
4
|
import { writeBinaryFile } from '../../../logic/s3/s3Utils';
|
|
5
5
|
import { resolveStorageDriveBucketName } from './utils';
|
|
6
6
|
const getProcessFileWriteBinaryContents = (qpqConfig) => {
|
|
7
7
|
return async ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) => {
|
|
8
8
|
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
try {
|
|
10
|
+
await writeBinaryFile(s3BucketName, filepath, data, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), getS3BucketStorageClassFromStorageDriveTier(storageDriveAdvancedWriteOptions?.storageDriveTier));
|
|
11
|
+
return actionResult(void 0);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return actionResultErrorFromCaughtError(error, {
|
|
15
|
+
AccessDenied: () => actionResultError(FileWriteBinaryContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
16
|
+
Forbidden: () => actionResultError(FileWriteBinaryContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
17
|
+
NoSuchBucket: () => actionResultError(FileWriteBinaryContentsErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
11
20
|
};
|
|
12
21
|
};
|
|
13
22
|
export const getFileWriteBinaryContentsActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileWriteObjectJsonErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getS3BucketStorageClassFromStorageDriveTier } from '../../../awsLambdaUtils';
|
|
4
4
|
import { writeTextFile } from '../../../logic/s3/s3Utils';
|
|
5
5
|
import { resolveStorageDriveBucketName } from './utils';
|
|
@@ -7,8 +7,17 @@ const getProcessFileWriteObjectJson = (qpqConfig) => {
|
|
|
7
7
|
return async ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) => {
|
|
8
8
|
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
9
9
|
const dataJson = JSON.stringify(data);
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
try {
|
|
11
|
+
await writeTextFile(s3BucketName, filepath, dataJson, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), getS3BucketStorageClassFromStorageDriveTier(storageDriveAdvancedWriteOptions?.storageDriveTier));
|
|
12
|
+
return actionResult(void 0);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return actionResultErrorFromCaughtError(error, {
|
|
16
|
+
AccessDenied: () => actionResultError(FileWriteObjectJsonErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
17
|
+
Forbidden: () => actionResultError(FileWriteObjectJsonErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
18
|
+
NoSuchBucket: () => actionResultError(FileWriteObjectJsonErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
12
21
|
};
|
|
13
22
|
};
|
|
14
23
|
export const getFileWriteObjectJsonActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, FileActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, FileActionType, FileWriteTextContentsErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getS3BucketStorageClassFromStorageDriveTier } from '../../../awsLambdaUtils';
|
|
4
4
|
import { writeTextFile } from '../../../logic/s3/s3Utils';
|
|
5
5
|
import { resolveStorageDriveBucketName } from './utils';
|
|
6
6
|
const getProcessFileWriteTextContents = (qpqConfig) => {
|
|
7
7
|
return async ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) => {
|
|
8
8
|
const s3BucketName = resolveStorageDriveBucketName(drive, qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
try {
|
|
10
|
+
await writeTextFile(s3BucketName, filepath, data, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), getS3BucketStorageClassFromStorageDriveTier(storageDriveAdvancedWriteOptions?.storageDriveTier));
|
|
11
|
+
return actionResult(void 0);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return actionResultErrorFromCaughtError(error, {
|
|
15
|
+
AccessDenied: () => actionResultError(FileWriteTextContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
16
|
+
Forbidden: () => actionResultError(FileWriteTextContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
|
|
17
|
+
NoSuchBucket: () => actionResultError(FileWriteTextContentsErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
11
20
|
};
|
|
12
21
|
};
|
|
13
22
|
export const getFileWriteTextContentsActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
2
|
import { qpqCoreUtils } from 'quidproquo-core';
|
|
3
|
-
import { actionResult, KeyValueStoreActionType } from 'quidproquo-core';
|
|
3
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, KeyValueStoreActionType, KeyValueStoreDeleteErrorTypeEnum } from 'quidproquo-core';
|
|
4
4
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
5
5
|
import { deleteItem } from '../../../logic/dynamo';
|
|
6
6
|
const getProcessKeyValueStoreDelete = (qpqConfig) => {
|
|
@@ -8,8 +8,16 @@ const getProcessKeyValueStoreDelete = (qpqConfig) => {
|
|
|
8
8
|
const dynamoTableName = getKvsDynamoTableNameFromConfig(keyValueStoreName, qpqConfig, 'kvs');
|
|
9
9
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
10
10
|
const storeConfig = qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
try {
|
|
12
|
+
await deleteItem(dynamoTableName, region, key, storeConfig.partitionKey.key, sortKey, storeConfig.sortKeys[0]?.key);
|
|
13
|
+
return actionResult(void 0);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
return actionResultErrorFromCaughtError(error, {
|
|
17
|
+
InternalServerError: () => actionResultError(KeyValueStoreDeleteErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
18
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreDeleteErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
13
21
|
};
|
|
14
22
|
};
|
|
15
23
|
export const getKeyValueStoreDeleteActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, KeyValueStoreActionType } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, KeyValueStoreActionType, KeyValueStoreGetErrorTypeEnum } from 'quidproquo-core';
|
|
3
3
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getItem } from '../../../logic/dynamo';
|
|
5
5
|
const getProcessKeyValueStoreGet = (qpqConfig) => {
|
|
6
6
|
return async ({ keyValueStoreName, key }) => {
|
|
7
7
|
const dynamoTableName = getKvsDynamoTableNameFromConfig(keyValueStoreName, qpqConfig, 'kvs');
|
|
8
8
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
try {
|
|
10
|
+
const result = await getItem(dynamoTableName, key, region);
|
|
11
|
+
return actionResult(result);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return actionResultErrorFromCaughtError(error, {
|
|
15
|
+
InternalServerError: () => actionResultError(KeyValueStoreGetErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
16
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreGetErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
11
19
|
};
|
|
12
20
|
};
|
|
13
21
|
export const getKeyValueStoreGetActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, KeyValueStoreActionType } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, KeyValueStoreActionType, KeyValueStoreGetAllErrorTypeEnum } from 'quidproquo-core';
|
|
3
3
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getAllItems } from '../../../logic/dynamo';
|
|
5
5
|
const getProcessKeyValueStoreGetAll = (qpqConfig) => {
|
|
6
6
|
return async ({ keyValueStoreName }) => {
|
|
7
7
|
const dynamoTableName = getKvsDynamoTableNameFromConfig(keyValueStoreName, qpqConfig, 'kvs');
|
|
8
8
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
try {
|
|
10
|
+
const result = await getAllItems(dynamoTableName, region);
|
|
11
|
+
return actionResult(result);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
return actionResultErrorFromCaughtError(error, {
|
|
15
|
+
InternalServerError: () => actionResultError(KeyValueStoreGetAllErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
16
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreGetAllErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
11
19
|
};
|
|
12
20
|
};
|
|
13
21
|
export const getKeyValueStoreGetAllActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResultError, ErrorTypeEnum, qpqCoreUtils } from 'quidproquo-core';
|
|
3
|
-
import { actionResult, KeyValueStoreActionType } from 'quidproquo-core';
|
|
2
|
+
import { actionResultError, actionResultErrorFromCaughtError, ErrorTypeEnum, qpqCoreUtils } from 'quidproquo-core';
|
|
3
|
+
import { actionResult, KeyValueStoreActionType, KeyValueStoreQueryErrorTypeEnum } from 'quidproquo-core';
|
|
4
4
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
5
5
|
import { query } from '../../../logic/dynamo';
|
|
6
6
|
import { getDynamoTableIndexByConfigAndQuery } from '../../../logic/dynamo/qpqDynamoOrm';
|
|
@@ -12,8 +12,16 @@ const getProcessKeyValueStoreQuery = (qpqConfig) => {
|
|
|
12
12
|
if (!storeConfig) {
|
|
13
13
|
return actionResultError(ErrorTypeEnum.NotFound, `Could not find key value store with name "${keyValueStoreName}"`);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
try {
|
|
16
|
+
const items = await query(dynamoTableName, region, keyCondition, options?.filter, options?.nextPageKey, getDynamoTableIndexByConfigAndQuery(storeConfig, keyCondition), options?.limit, options?.sortAscending);
|
|
17
|
+
return actionResult(items);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
return actionResultErrorFromCaughtError(error, {
|
|
21
|
+
InternalServerError: () => actionResultError(KeyValueStoreQueryErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
22
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreQueryErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
17
25
|
};
|
|
18
26
|
};
|
|
19
27
|
export const getKeyValueStoreQueryActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import {
|
|
2
|
+
import { actionResultError, actionResultErrorFromCaughtError } from 'quidproquo-core';
|
|
3
|
+
import { actionResult, KeyValueStoreActionType, KeyValueStoreScanErrorTypeEnum } from 'quidproquo-core';
|
|
3
4
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
4
5
|
import { scan } from '../../../logic/dynamo/scan';
|
|
5
6
|
const getProcessKeyValueStoreScan = (qpqConfig) => {
|
|
6
7
|
return async ({ keyValueStoreName, filterCondition, nextPageKey }) => {
|
|
7
8
|
const dynamoTableName = getKvsDynamoTableNameFromConfig(keyValueStoreName, qpqConfig, 'kvs');
|
|
8
9
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
try {
|
|
11
|
+
const items = await scan(dynamoTableName, region, filterCondition, nextPageKey);
|
|
12
|
+
return actionResult(items);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return actionResultErrorFromCaughtError(error, {
|
|
16
|
+
InternalServerError: () => actionResultError(KeyValueStoreScanErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
17
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreScanErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
11
20
|
};
|
|
12
21
|
};
|
|
13
22
|
export const getKeyValueStoreScanActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
2
|
import { qpqCoreUtils } from 'quidproquo-core';
|
|
3
|
-
import { actionResult, KeyValueStoreActionType } from 'quidproquo-core';
|
|
3
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, KeyValueStoreActionType, KeyValueStoreUpdateErrorTypeEnum } from 'quidproquo-core';
|
|
4
4
|
import { getKvsDynamoTableNameFromConfig } from '../../../awsNamingUtils';
|
|
5
5
|
import { updateItem } from '../../../logic/dynamo';
|
|
6
6
|
const getProcessKeyValueStoreUpdate = (qpqConfig) => {
|
|
@@ -8,8 +8,16 @@ const getProcessKeyValueStoreUpdate = (qpqConfig) => {
|
|
|
8
8
|
const dynamoTableName = getKvsDynamoTableNameFromConfig(keyValueStoreName, qpqConfig, 'kvs');
|
|
9
9
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
10
10
|
const storeConfig = qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
try {
|
|
12
|
+
const item = await updateItem(dynamoTableName, region, updates, storeConfig.partitionKey.key, key, storeConfig.sortKeys[0]?.key, sortKey);
|
|
13
|
+
return actionResult(item);
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
return actionResultErrorFromCaughtError(error, {
|
|
17
|
+
InternalServerError: () => actionResultError(KeyValueStoreUpdateErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
|
|
18
|
+
ResourceNotFoundException: () => actionResultError(KeyValueStoreUpdateErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
13
21
|
};
|
|
14
22
|
};
|
|
15
23
|
export const getKeyValueStoreUpdateActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, QueueActionType } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, QueueActionType, QueueSendMessagesErrorTypeEnum, toCrossServiceSession } from 'quidproquo-core';
|
|
3
3
|
import { sendMessages } from '../../../logic/sqs/sendMessages';
|
|
4
4
|
import { resolveResourceName } from '../../../runtimeConfig/qpqAwsLambdaRuntimeConfigUtils';
|
|
5
5
|
const getProcessQueueSendMessage = (qpqConfig) => {
|
|
6
6
|
return async ({ queueName, queueMessages }, session) => {
|
|
7
7
|
// While we have some uuids
|
|
8
8
|
const sqsQueueName = resolveResourceName(queueName, qpqConfig);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
try {
|
|
10
|
+
await sendMessages(sqsQueueName, qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), queueMessages.map((message) => {
|
|
11
|
+
// Add the session info to the message
|
|
12
|
+
const queueMessageWithSession = {
|
|
13
|
+
...message,
|
|
14
|
+
storySession: toCrossServiceSession(session),
|
|
15
|
+
};
|
|
16
|
+
return JSON.stringify(queueMessageWithSession);
|
|
17
|
+
}));
|
|
18
|
+
return actionResult(void 0);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return actionResultErrorFromCaughtError(error, {
|
|
22
|
+
AccessDenied: () => actionResultError(QueueSendMessagesErrorTypeEnum.AccessDenied, 'Access denied sending to queue'),
|
|
23
|
+
AccessDeniedException: () => actionResultError(QueueSendMessagesErrorTypeEnum.AccessDenied, 'Access denied sending to queue'),
|
|
24
|
+
QueueDoesNotExist: () => actionResultError(QueueSendMessagesErrorTypeEnum.QueueNotFound, `Queue not found: ${queueName}`),
|
|
25
|
+
RequestThrottled: () => actionResultError(QueueSendMessagesErrorTypeEnum.ServiceUnavailable, 'Queue throttled'),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
18
28
|
};
|
|
19
29
|
};
|
|
20
30
|
export const getQueueSendMessagesActionProcessor = async (qpqConfig) => ({
|
|
@@ -11,6 +11,7 @@ const getProcessExecuteStory = (qpqConfig) => {
|
|
|
11
11
|
const functionKey = getUniqueKeyFromQpqFunctionRuntime(payload.runtime);
|
|
12
12
|
const resolveStory = createRuntime(qpqConfig, {
|
|
13
13
|
context: payload.storySession?.context || session.context,
|
|
14
|
+
localContext: payload.storySession?.localContext || session.localContext,
|
|
14
15
|
depth: (payload.storySession?.depth || session.depth || 0) + 1,
|
|
15
16
|
decodedAccessToken: payload.storySession?.decodedAccessToken || session.decodedAccessToken,
|
|
16
17
|
correlation: payload.storySession?.correlation || session.correlation,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
+
import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
|
|
3
|
+
import { associateSoftwareToken } from '../../../logic/cognito/associateSoftwareToken';
|
|
4
|
+
const getProcessAssociateSoftwareToken = (qpqConfig) => {
|
|
5
|
+
return async ({ session }) => {
|
|
6
|
+
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
7
|
+
const response = await associateSoftwareToken(region, session);
|
|
8
|
+
return actionResult(response);
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export const getUserDirectoryAssociateSoftwareTokenActionProcessor = async (qpqConfig) => ({
|
|
12
|
+
[UserDirectoryActionType.AssociateSoftwareToken]: getProcessAssociateSoftwareToken(qpqConfig),
|
|
13
|
+
});
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, UserDirectoryActionType, UserDirectoryChangePasswordErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { changePassword } from '../../../logic/cognito/changePassword';
|
|
4
4
|
const getProcessChangePassword = (qpqConfig) => {
|
|
5
5
|
return async ({ oldPassword, newPassword, accessToken }) => {
|
|
6
6
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
try {
|
|
8
|
+
await changePassword(accessToken, oldPassword, newPassword, region);
|
|
9
|
+
return actionResult(void 0);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return actionResultErrorFromCaughtError(error, {
|
|
13
|
+
NotAuthorizedException: () => actionResultError(UserDirectoryChangePasswordErrorTypeEnum.IncorrectPassword, 'Current password is incorrect'),
|
|
14
|
+
InvalidPasswordException: () => actionResultError(UserDirectoryChangePasswordErrorTypeEnum.InvalidNewPassword, 'New password does not meet the password policy'),
|
|
15
|
+
LimitExceededException: () => actionResultError(UserDirectoryChangePasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
9
18
|
};
|
|
10
19
|
};
|
|
11
20
|
export const getUserDirectoryChangePasswordActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, UserDirectoryActionType, UserDirectoryConfirmEmailVerificationErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { verifyUserEmail } from '../../../logic/cognito/verifyUserEmail';
|
|
4
4
|
const getProcessConfirmEmailVerification = (qpqConfig) => {
|
|
5
5
|
return async ({ code, accessToken }) => {
|
|
6
6
|
const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
try {
|
|
8
|
+
await verifyUserEmail(region, accessToken, code);
|
|
9
|
+
return actionResult(void 0);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
return actionResultErrorFromCaughtError(error, {
|
|
13
|
+
CodeMismatchException: () => actionResultError(UserDirectoryConfirmEmailVerificationErrorTypeEnum.InvalidCode, 'Verification code is incorrect'),
|
|
14
|
+
ExpiredCodeException: () => actionResultError(UserDirectoryConfirmEmailVerificationErrorTypeEnum.ExpiredCode, 'Verification code has expired'),
|
|
15
|
+
LimitExceededException: () => actionResultError(UserDirectoryConfirmEmailVerificationErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
9
18
|
};
|
|
10
19
|
};
|
|
11
20
|
export const getUserDirectoryConfirmEmailVerificationActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, UserDirectoryActionType, UserDirectoryConfirmForgotPasswordErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getCFExportNameUserPoolClientIdFromConfig, getCFExportNameUserPoolIdFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
5
5
|
import { confirmForgotPassword } from '../../../logic/cognito/confirmForgotPassword';
|
|
@@ -10,8 +10,18 @@ const getProcessConfirmForgotPassword = (qpqConfig) => {
|
|
|
10
10
|
const userPoolId = await getExportedValue(getCFExportNameUserPoolIdFromConfig(userDirectoryName, qpqConfig), region);
|
|
11
11
|
const userPoolClientId = await getExportedValue(getCFExportNameUserPoolClientIdFromConfig(userDirectoryName, qpqConfig), region);
|
|
12
12
|
const resolvedUsername = await resolveUsernameByPreferredUsername(userPoolId, region, username);
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
try {
|
|
14
|
+
const authResponse = await confirmForgotPassword(userPoolId, userPoolClientId, region, code, resolvedUsername, password);
|
|
15
|
+
return actionResult(authResponse);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return actionResultErrorFromCaughtError(error, {
|
|
19
|
+
CodeMismatchException: () => actionResultError(UserDirectoryConfirmForgotPasswordErrorTypeEnum.InvalidCode, 'Confirmation code is incorrect'),
|
|
20
|
+
ExpiredCodeException: () => actionResultError(UserDirectoryConfirmForgotPasswordErrorTypeEnum.ExpiredCode, 'Confirmation code has expired'),
|
|
21
|
+
InvalidPasswordException: () => actionResultError(UserDirectoryConfirmForgotPasswordErrorTypeEnum.InvalidNewPassword, 'New password does not meet the password policy'),
|
|
22
|
+
LimitExceededException: () => actionResultError(UserDirectoryConfirmForgotPasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
15
25
|
};
|
|
16
26
|
};
|
|
17
27
|
export const getUserDirectoryConfirmForgotPasswordActionProcessor = async (qpqConfig) => ({
|
package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, actionResultError,
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, UserDirectoryActionType, UserDirectoryCreateUserErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getCFExportNameUserPoolClientIdFromConfig, getCFExportNameUserPoolIdFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
5
5
|
import { createUser } from '../../../logic/cognito/createUser';
|
|
@@ -11,10 +11,19 @@ const getProcessCreateUser = (qpqConfig) => {
|
|
|
11
11
|
const userPoolClientId = await getExportedValue(getCFExportNameUserPoolClientIdFromConfig(payload.userDirectoryName, qpqConfig), region);
|
|
12
12
|
const resolvedUsername = await resolveUsernameByPreferredUsername(userPoolId, region, payload.createUserRequest.email);
|
|
13
13
|
if (resolvedUsername !== payload.createUserRequest.email) {
|
|
14
|
-
return actionResultError(
|
|
14
|
+
return actionResultError(UserDirectoryCreateUserErrorTypeEnum.Conflict, 'An account with this email already exists');
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const authResponse = await createUser(userPoolId, region, userPoolClientId, payload.createUserRequest);
|
|
18
|
+
return actionResult(authResponse);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return actionResultErrorFromCaughtError(error, {
|
|
22
|
+
UsernameExistsException: () => actionResultError(UserDirectoryCreateUserErrorTypeEnum.Conflict, 'An account with this email already exists'),
|
|
23
|
+
InvalidPasswordException: () => actionResultError(UserDirectoryCreateUserErrorTypeEnum.InvalidPassword, 'Password does not meet the password policy'),
|
|
24
|
+
LimitExceededException: () => actionResultError(UserDirectoryCreateUserErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
|
|
25
|
+
});
|
|
15
26
|
}
|
|
16
|
-
const authResponse = await createUser(userPoolId, region, userPoolClientId, payload.createUserRequest);
|
|
17
|
-
return actionResult(authResponse);
|
|
18
27
|
};
|
|
19
28
|
};
|
|
20
29
|
export const getUserDirectoryCreateUserActionProcessor = async (qpqConfig) => ({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, actionResultError,
|
|
2
|
+
import { actionResult, actionResultError, UserDirectoryActionType, UserDirectoryDecodeAccessTokenErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getCFExportNameUserPoolIdFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
5
5
|
import { decodeValidJwt } from '../../../logic/cognito/decodeValidJwt';
|
|
@@ -9,7 +9,7 @@ const getProcessDecodeAccessToken = (qpqConfig) => {
|
|
|
9
9
|
const userPoolId = await getExportedValue(getCFExportNameUserPoolIdFromConfig(userDirectoryName, qpqConfig), region);
|
|
10
10
|
const authInfo = await decodeValidJwt(userPoolId, region, ignoreExpiration, accessToken);
|
|
11
11
|
if (!authInfo || !authInfo?.username) {
|
|
12
|
-
return actionResultError(
|
|
12
|
+
return actionResultError(UserDirectoryDecodeAccessTokenErrorTypeEnum.Unauthorized, 'Invalid access token');
|
|
13
13
|
}
|
|
14
14
|
return actionResult({
|
|
15
15
|
...authInfo,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { qpqConfigAwsUtils } from 'quidproquo-config-aws';
|
|
2
|
-
import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
|
|
2
|
+
import { actionResult, actionResultError, actionResultErrorFromCaughtError, UserDirectoryActionType, UserDirectoryForgotPasswordErrorTypeEnum, } from 'quidproquo-core';
|
|
3
3
|
import { getCFExportNameUserPoolClientIdFromConfig, getCFExportNameUserPoolIdFromConfig } from '../../../awsNamingUtils';
|
|
4
4
|
import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
|
|
5
5
|
import { forgotPassword } from '../../../logic/cognito/forgotPassword';
|
|
@@ -10,8 +10,16 @@ const getProcessForgotPassword = (qpqConfig) => {
|
|
|
10
10
|
const userPoolId = await getExportedValue(getCFExportNameUserPoolIdFromConfig(userDirectoryName, qpqConfig), region);
|
|
11
11
|
const userPoolClientId = await getExportedValue(getCFExportNameUserPoolClientIdFromConfig(userDirectoryName, qpqConfig), region);
|
|
12
12
|
const resolvedUsername = await resolveUsernameByPreferredUsername(userPoolId, region, username);
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
try {
|
|
14
|
+
const authResponse = await forgotPassword(userPoolId, userPoolClientId, region, resolvedUsername);
|
|
15
|
+
return actionResult(authResponse);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return actionResultErrorFromCaughtError(error, {
|
|
19
|
+
UserNotFoundException: () => actionResultError(UserDirectoryForgotPasswordErrorTypeEnum.UserNotFound, 'No account found for this user'),
|
|
20
|
+
LimitExceededException: () => actionResultError(UserDirectoryForgotPasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
15
23
|
};
|
|
16
24
|
};
|
|
17
25
|
export const getUserDirectoryForgotPasswordActionProcessor = async (qpqConfig) => ({
|