quidproquo-actionprocessor-awslambda 0.1.6 → 0.1.8

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.
Files changed (176) hide show
  1. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +8 -3
  2. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js.map +1 -1
  3. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +23 -5
  4. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js.map +1 -1
  5. package/lib/commonjs/getActionProcessor/core/ai/logic/createDriveFileResolver.js +2 -2
  6. package/lib/commonjs/getActionProcessor/core/ai/logic/createDriveFileResolver.js.map +1 -1
  7. package/lib/commonjs/getActionProcessor/core/ai/logic/index.d.ts +3 -0
  8. package/lib/commonjs/getActionProcessor/core/ai/logic/index.js +3 -0
  9. package/lib/commonjs/getActionProcessor/core/ai/logic/index.js.map +1 -1
  10. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +2 -1
  11. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.js.map +1 -1
  12. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +2 -1
  13. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js.map +1 -1
  14. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +10 -12
  15. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js.map +1 -1
  16. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamFinishReason.d.ts +2 -0
  17. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamFinishReason.js +10 -0
  18. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamFinishReason.js.map +1 -0
  19. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableMessages.d.ts +2 -0
  20. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableMessages.js +19 -0
  21. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableMessages.js.map +1 -0
  22. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableSystem.d.ts +2 -0
  23. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableSystem.js +23 -0
  24. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableSystem.js.map +1 -0
  25. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +1 -1
  26. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.js +1 -1
  27. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.js.map +1 -1
  28. package/lib/commonjs/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.d.ts +2 -2
  29. package/lib/commonjs/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.js +10 -6
  30. package/lib/commonjs/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.js.map +1 -1
  31. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js +4 -2
  32. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js.map +1 -1
  33. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js +4 -2
  34. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js.map +1 -1
  35. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +7 -3
  36. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js.map +1 -1
  37. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +7 -3
  38. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js.map +1 -1
  39. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +4 -2
  40. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js.map +1 -1
  41. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +6 -4
  42. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js.map +1 -1
  43. package/lib/commonjs/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +4 -2
  44. package/lib/commonjs/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js.map +1 -1
  45. package/lib/commonjs/getActionProcessor/core/file/getFileReadObjectJsonActionProcessor.js +7 -2
  46. package/lib/commonjs/getActionProcessor/core/file/getFileReadObjectJsonActionProcessor.js.map +1 -1
  47. package/lib/commonjs/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js +6 -2
  48. package/lib/commonjs/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js.map +1 -1
  49. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +3 -2
  50. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js.map +1 -1
  51. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +3 -2
  52. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js.map +1 -1
  53. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +3 -2
  54. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js.map +1 -1
  55. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +3 -2
  56. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js.map +1 -1
  57. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +11 -9
  58. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js.map +1 -1
  59. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +7 -3
  60. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js.map +1 -1
  61. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +8 -3
  62. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js.map +1 -1
  63. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +9 -5
  64. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js.map +1 -1
  65. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +9 -2
  66. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js.map +1 -1
  67. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +10 -8
  68. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js.map +1 -1
  69. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js +13 -11
  70. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js.map +1 -1
  71. package/lib/commonjs/getActionProcessor/core/keyValueStore/index.js +2 -1
  72. package/lib/commonjs/getActionProcessor/core/keyValueStore/index.js.map +1 -1
  73. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +2 -2
  74. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js.map +1 -1
  75. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js +11 -1
  76. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js.map +1 -1
  77. package/lib/commonjs/lambdaHandlers/getSqsEvent_queueEvent.js +3 -3
  78. package/lib/commonjs/lambdaHandlers/getSqsEvent_queueEvent.js.map +1 -1
  79. package/lib/commonjs/logic/cognito/requestEmailVerificationCode.d.ts +2 -1
  80. package/lib/commonjs/logic/cognito/requestEmailVerificationCode.js +8 -1
  81. package/lib/commonjs/logic/cognito/requestEmailVerificationCode.js.map +1 -1
  82. package/lib/commonjs/logic/dynamo/getAllItems.d.ts +2 -1
  83. package/lib/commonjs/logic/dynamo/getAllItems.js +7 -2
  84. package/lib/commonjs/logic/dynamo/getAllItems.js.map +1 -1
  85. package/lib/commonjs/logic/dynamo/getItem.d.ts +2 -1
  86. package/lib/commonjs/logic/dynamo/getItem.js +8 -5
  87. package/lib/commonjs/logic/dynamo/getItem.js.map +1 -1
  88. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +9 -4
  89. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js.map +1 -1
  90. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +21 -5
  91. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js.map +1 -1
  92. package/lib/esm/getActionProcessor/core/ai/logic/createDriveFileResolver.js +2 -2
  93. package/lib/esm/getActionProcessor/core/ai/logic/createDriveFileResolver.js.map +1 -1
  94. package/lib/esm/getActionProcessor/core/ai/logic/index.d.ts +3 -0
  95. package/lib/esm/getActionProcessor/core/ai/logic/index.js +3 -0
  96. package/lib/esm/getActionProcessor/core/ai/logic/index.js.map +1 -1
  97. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +2 -1
  98. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.js.map +1 -1
  99. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +2 -1
  100. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js.map +1 -1
  101. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +13 -8
  102. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js.map +1 -1
  103. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamFinishReason.d.ts +2 -0
  104. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamFinishReason.js +6 -0
  105. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamFinishReason.js.map +1 -0
  106. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableMessages.d.ts +2 -0
  107. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableMessages.js +21 -0
  108. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableMessages.js.map +1 -0
  109. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableSystem.d.ts +2 -0
  110. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableSystem.js +19 -0
  111. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableSystem.js.map +1 -0
  112. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +1 -1
  113. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.js +1 -1
  114. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.js.map +1 -1
  115. package/lib/esm/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.d.ts +2 -2
  116. package/lib/esm/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.js +10 -6
  117. package/lib/esm/getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor.js.map +1 -1
  118. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +5 -3
  119. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js.map +1 -1
  120. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +5 -3
  121. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js.map +1 -1
  122. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +9 -5
  123. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js.map +1 -1
  124. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +9 -5
  125. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js.map +1 -1
  126. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +5 -3
  127. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js.map +1 -1
  128. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +7 -4
  129. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js.map +1 -1
  130. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +5 -3
  131. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js.map +1 -1
  132. package/lib/esm/getActionProcessor/core/file/getFileReadObjectJsonActionProcessor.js +8 -3
  133. package/lib/esm/getActionProcessor/core/file/getFileReadObjectJsonActionProcessor.js.map +1 -1
  134. package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js +7 -3
  135. package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js.map +1 -1
  136. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +4 -3
  137. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js.map +1 -1
  138. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +4 -3
  139. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js.map +1 -1
  140. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +4 -3
  141. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js.map +1 -1
  142. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +4 -3
  143. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js.map +1 -1
  144. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +7 -5
  145. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js.map +1 -1
  146. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +8 -4
  147. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js.map +1 -1
  148. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +9 -4
  149. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js.map +1 -1
  150. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +10 -6
  151. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js.map +1 -1
  152. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +11 -4
  153. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js.map +1 -1
  154. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +7 -5
  155. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js.map +1 -1
  156. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js +14 -12
  157. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js.map +1 -1
  158. package/lib/esm/getActionProcessor/core/keyValueStore/index.js +2 -0
  159. package/lib/esm/getActionProcessor/core/keyValueStore/index.js.map +1 -1
  160. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +2 -2
  161. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js.map +1 -1
  162. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js +12 -2
  163. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js.map +1 -1
  164. package/lib/esm/lambdaHandlers/getSqsEvent_queueEvent.js +3 -3
  165. package/lib/esm/lambdaHandlers/getSqsEvent_queueEvent.js.map +1 -1
  166. package/lib/esm/logic/cognito/requestEmailVerificationCode.d.ts +2 -1
  167. package/lib/esm/logic/cognito/requestEmailVerificationCode.js +7 -1
  168. package/lib/esm/logic/cognito/requestEmailVerificationCode.js.map +1 -1
  169. package/lib/esm/logic/dynamo/getAllItems.d.ts +2 -1
  170. package/lib/esm/logic/dynamo/getAllItems.js +7 -2
  171. package/lib/esm/logic/dynamo/getAllItems.js.map +1 -1
  172. package/lib/esm/logic/dynamo/getItem.d.ts +2 -1
  173. package/lib/esm/logic/dynamo/getItem.js +8 -5
  174. package/lib/esm/logic/dynamo/getItem.js.map +1 -1
  175. package/lib/extension-layer/qpq-log-extension/index.js +37 -37
  176. package/package.json +7 -7
@@ -1,8 +1,18 @@
1
- import { actionResult, UserDirectoryActionType, } from 'quidproquo-core';
1
+ import { actionResult, actionResultError, ErrorTypeEnum, UserDirectoryActionType, } from 'quidproquo-core';
2
2
  import { decodeAccessToken } from '../../../logic/cognito';
3
3
  const getProcessSetAccessToken = (qpqConfig) => {
4
4
  return async ({ accessToken, userDirectoryName }, session, apl, logger, updateSession) => {
5
- const decodedAccessToken = await decodeAccessToken(userDirectoryName, qpqConfig, accessToken, false);
5
+ // decodeAccessToken throws on a missing/unverifiable/expired token; surface that
6
+ // as a typed Unauthorized result (matching the dev-server processor and
7
+ // ReadAccessToken) instead of letting the raw error escape as a GenericError.
8
+ // The session is left untouched on failure.
9
+ let decodedAccessToken;
10
+ try {
11
+ decodedAccessToken = await decodeAccessToken(userDirectoryName, qpqConfig, accessToken, false);
12
+ }
13
+ catch {
14
+ return actionResultError(ErrorTypeEnum.Unauthorized, 'Invalid accessToken');
15
+ }
6
16
  updateSession({
7
17
  decodedAccessToken: decodedAccessToken,
8
18
  accessToken,
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDirectorySetAccessTokenActionProcessor.js","sourceRoot":"","sources":["../../../../../src/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,wBAAwB,GAAG,CAAC,SAAoB,EAA8C,EAAE;IACpG,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACvF,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAErG,aAAa,CAAC;YACZ,kBAAkB,EAAE,kBAAkB;YACtC,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAgC,KAAK,EAC7F,SAAoB,EACU,EAAE,CAAC,CAAC;IAClC,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC;CAC9E,CAAC,CAAC","sourcesContent":["import {\n ActionProcessorList,\n ActionProcessorListResolver,\n actionResult,\n QPQConfig,\n UserDirectoryActionType,\n UserDirectorySetAccessTokenActionProcessor,\n} from 'quidproquo-core';\n\nimport { decodeAccessToken } from '../../../logic/cognito';\n\nconst getProcessSetAccessToken = (qpqConfig: QPQConfig): UserDirectorySetAccessTokenActionProcessor => {\n return async ({ accessToken, userDirectoryName }, session, apl, logger, updateSession) => {\n const decodedAccessToken = await decodeAccessToken(userDirectoryName, qpqConfig, accessToken, false);\n\n updateSession({\n decodedAccessToken: decodedAccessToken,\n accessToken,\n });\n\n return actionResult(decodedAccessToken);\n };\n};\n\nexport const getUserDirectorySetAccessTokenActionProcessor: ActionProcessorListResolver = async (\n qpqConfig: QPQConfig,\n): Promise<ActionProcessorList> => ({\n [UserDirectoryActionType.SetAccessToken]: getProcessSetAccessToken(qpqConfig),\n});\n"]}
1
+ {"version":3,"file":"getUserDirectorySetAccessTokenActionProcessor.js","sourceRoot":"","sources":["../../../../../src/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,iBAAiB,EAEjB,aAAa,EAEb,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,wBAAwB,GAAG,CAAC,SAAoB,EAA8C,EAAE;IACpG,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACvF,iFAAiF;QACjF,wEAAwE;QACxE,8EAA8E;QAC9E,4CAA4C;QAC5C,IAAI,kBAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACjG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;QAC9E,CAAC;QAED,aAAa,CAAC;YACZ,kBAAkB,EAAE,kBAAkB;YACtC,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAgC,KAAK,EAC7F,SAAoB,EACU,EAAE,CAAC,CAAC;IAClC,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC;CAC9E,CAAC,CAAC","sourcesContent":["import {\n ActionProcessorList,\n ActionProcessorListResolver,\n actionResult,\n actionResultError,\n DecodedAccessToken,\n ErrorTypeEnum,\n QPQConfig,\n UserDirectoryActionType,\n UserDirectorySetAccessTokenActionProcessor,\n} from 'quidproquo-core';\n\nimport { decodeAccessToken } from '../../../logic/cognito';\n\nconst getProcessSetAccessToken = (qpqConfig: QPQConfig): UserDirectorySetAccessTokenActionProcessor => {\n return async ({ accessToken, userDirectoryName }, session, apl, logger, updateSession) => {\n // decodeAccessToken throws on a missing/unverifiable/expired token; surface that\n // as a typed Unauthorized result (matching the dev-server processor and\n // ReadAccessToken) instead of letting the raw error escape as a GenericError.\n // The session is left untouched on failure.\n let decodedAccessToken: DecodedAccessToken;\n try {\n decodedAccessToken = await decodeAccessToken(userDirectoryName, qpqConfig, accessToken, false);\n } catch {\n return actionResultError(ErrorTypeEnum.Unauthorized, 'Invalid accessToken');\n }\n\n updateSession({\n decodedAccessToken: decodedAccessToken,\n accessToken,\n });\n\n return actionResult(decodedAccessToken);\n };\n};\n\nexport const getUserDirectorySetAccessTokenActionProcessor: ActionProcessorListResolver = async (\n qpqConfig: QPQConfig,\n): Promise<ActionProcessorList> => ({\n [UserDirectoryActionType.SetAccessToken]: getProcessSetAccessToken(qpqConfig),\n});\n"]}
@@ -2,9 +2,9 @@ import { askProcessEvent, askProcessEventWithGroupOrdering, QpqRuntimeType } fro
2
2
  import { getSqsQueueEventProcessor } from '../getActionProcessor';
3
3
  import { getQueueConfigSetting } from '../getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor';
4
4
  import { getQpqLambdaRuntimeForEvent } from './helpers/getQpqLambdaRuntimeForEvent';
5
- const getProcessEventStory = () => {
5
+ const getProcessEventStory = (qpqConfig) => {
6
6
  // FIFO queues must process records one group at a time, blocking a group once a record fails
7
- if (getQueueConfigSetting().isFifo) {
7
+ if (getQueueConfigSetting(qpqConfig).isFifo) {
8
8
  return function* askProcessQueueEventWithGroupOrdering(...eventArguments) {
9
9
  return yield* askProcessEventWithGroupOrdering((record) => record.groupId, ...eventArguments);
10
10
  };
@@ -16,5 +16,5 @@ export const getSqsEvent_queueEvent = (dynamicModuleLoader, qpqConfig) => getQpq
16
16
  depth: 0,
17
17
  context: {},
18
18
  };
19
- }, getSqsQueueEventProcessor, dynamicModuleLoader, qpqConfig, getProcessEventStory);
19
+ }, getSqsQueueEventProcessor, dynamicModuleLoader, qpqConfig, () => getProcessEventStory(qpqConfig));
20
20
  //# sourceMappingURL=getSqsEvent_queueEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSqsEvent_queueEvent.js","sourceRoot":"","sources":["../../../src/lambdaHandlers/getSqsEvent_queueEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gCAAgC,EAAkC,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAIhJ,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8EAA8E,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,oBAAoB,GAAG,GAA2B,EAAE;IACxD,6FAA6F;IAC7F,IAAI,qBAAqB,EAAE,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,CAAC,qCAAqC,CAAC,GAAG,cAAc;YACtE,OAAO,KAAK,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACjH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,mBAAwC,EAAE,SAAoB,EAAE,EAAE,CACvG,2BAA2B,CACzB,cAAc,CAAC,WAAW,EAC1B,CAAC,KAAK,EAAE,EAAE;IACR,OAAO;QACL,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC,EACD,yBAAyB,EACzB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,CACrB,CAAC","sourcesContent":["import { askProcessEvent, askProcessEventWithGroupOrdering, DynamicModuleLoader, QPQConfig, QpqRuntimeType, QueueEvent } from 'quidproquo-core';\n\nimport { SQSEvent } from 'aws-lambda';\n\nimport { getSqsQueueEventProcessor } from '../getActionProcessor';\nimport { getQueueConfigSetting } from '../getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor';\nimport { getQpqLambdaRuntimeForEvent } from './helpers/getQpqLambdaRuntimeForEvent';\n\nconst getProcessEventStory = (): typeof askProcessEvent => {\n // FIFO queues must process records one group at a time, blocking a group once a record fails\n if (getQueueConfigSetting().isFifo) {\n return function* askProcessQueueEventWithGroupOrdering(...eventArguments) {\n return yield* askProcessEventWithGroupOrdering((record: QueueEvent<any>) => record.groupId, ...eventArguments);\n };\n }\n\n return askProcessEvent;\n};\n\nexport const getSqsEvent_queueEvent = (dynamicModuleLoader: DynamicModuleLoader, qpqConfig: QPQConfig) =>\n getQpqLambdaRuntimeForEvent<SQSEvent>(\n QpqRuntimeType.QUEUE_EVENT,\n (event) => {\n return {\n depth: 0,\n context: {},\n };\n },\n getSqsQueueEventProcessor,\n dynamicModuleLoader,\n qpqConfig,\n getProcessEventStory,\n );\n"]}
1
+ {"version":3,"file":"getSqsEvent_queueEvent.js","sourceRoot":"","sources":["../../../src/lambdaHandlers/getSqsEvent_queueEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gCAAgC,EAAkC,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAIhJ,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8EAA8E,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,oBAAoB,GAAG,CAAC,SAAoB,EAA0B,EAAE;IAC5E,6FAA6F;IAC7F,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,CAAC,qCAAqC,CAAC,GAAG,cAAc;YACtE,OAAO,KAAK,CAAC,CAAC,gCAAgC,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACjH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,mBAAwC,EAAE,SAAoB,EAAE,EAAE,CACvG,2BAA2B,CACzB,cAAc,CAAC,WAAW,EAC1B,CAAC,KAAK,EAAE,EAAE;IACR,OAAO;QACL,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC,EACD,yBAAyB,EACzB,mBAAmB,EACnB,SAAS,EACT,GAAG,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CACtC,CAAC","sourcesContent":["import { askProcessEvent, askProcessEventWithGroupOrdering, DynamicModuleLoader, QPQConfig, QpqRuntimeType, QueueEvent } from 'quidproquo-core';\n\nimport { SQSEvent } from 'aws-lambda';\n\nimport { getSqsQueueEventProcessor } from '../getActionProcessor';\nimport { getQueueConfigSetting } from '../getActionProcessor/core/event/sqs/queue/getEventMatchStoryActionProcessor';\nimport { getQpqLambdaRuntimeForEvent } from './helpers/getQpqLambdaRuntimeForEvent';\n\nconst getProcessEventStory = (qpqConfig: QPQConfig): typeof askProcessEvent => {\n // FIFO queues must process records one group at a time, blocking a group once a record fails\n if (getQueueConfigSetting(qpqConfig).isFifo) {\n return function* askProcessQueueEventWithGroupOrdering(...eventArguments) {\n return yield* askProcessEventWithGroupOrdering((record: QueueEvent<any>) => record.groupId, ...eventArguments);\n };\n }\n\n return askProcessEvent;\n};\n\nexport const getSqsEvent_queueEvent = (dynamicModuleLoader: DynamicModuleLoader, qpqConfig: QPQConfig) =>\n getQpqLambdaRuntimeForEvent<SQSEvent>(\n QpqRuntimeType.QUEUE_EVENT,\n (event) => {\n return {\n depth: 0,\n context: {},\n };\n },\n getSqsQueueEventProcessor,\n dynamicModuleLoader,\n qpqConfig,\n () => getProcessEventStory(qpqConfig),\n );\n"]}
@@ -1 +1,2 @@
1
- export declare const requestEmailVerificationCode: (region: string, accessToken: string) => Promise<void>;
1
+ import { AuthenticationDeliveryDetails } from 'quidproquo-core';
2
+ export declare const requestEmailVerificationCode: (region: string, accessToken: string) => Promise<AuthenticationDeliveryDetails>;
@@ -8,6 +8,12 @@ export const requestEmailVerificationCode = async (region, accessToken) => {
8
8
  AccessToken: accessToken,
9
9
  AttributeName: 'email', // Request verification for the email attribute
10
10
  };
11
- const requestEmailVerificationCodeResponse = await cognitoClient.send(new GetUserAttributeVerificationCodeCommand(params));
11
+ const response = await cognitoClient.send(new GetUserAttributeVerificationCodeCommand(params));
12
+ const deliveryInfo = {
13
+ attributeName: response.CodeDeliveryDetails?.AttributeName || 'email',
14
+ destination: response.CodeDeliveryDetails?.Destination || 'unknown@email.com',
15
+ deliveryMedium: response.CodeDeliveryDetails?.DeliveryMedium || 'EMAIL',
16
+ };
17
+ return deliveryInfo;
12
18
  };
13
19
  //# sourceMappingURL=requestEmailVerificationCode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestEmailVerificationCode.js","sourceRoot":"","sources":["../../../../src/logic/cognito/requestEmailVerificationCode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,uCAAuC,GAExC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,MAAc,EAAE,WAAmB,EAAE,EAAE;IACxF,MAAM,aAAa,GAAG,eAAe,CAAC,6BAA6B,EAAE;QACnE,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,MAAM,GAAiD;QAC3D,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,OAAO,EAAE,+CAA+C;KACxE,CAAC;IAEF,MAAM,oCAAoC,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,uCAAuC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7H,CAAC,CAAC","sourcesContent":["import {\n CognitoIdentityProviderClient,\n GetUserAttributeVerificationCodeCommand,\n GetUserAttributeVerificationCodeCommandInput,\n} from '@aws-sdk/client-cognito-identity-provider';\n\nimport { createAwsClient } from '../createAwsClient';\n\nexport const requestEmailVerificationCode = async (region: string, accessToken: string) => {\n const cognitoClient = createAwsClient(CognitoIdentityProviderClient, {\n region,\n });\n\n const params: GetUserAttributeVerificationCodeCommandInput = {\n AccessToken: accessToken,\n AttributeName: 'email', // Request verification for the email attribute\n };\n\n const requestEmailVerificationCodeResponse = await cognitoClient.send(new GetUserAttributeVerificationCodeCommand(params));\n};\n"]}
1
+ {"version":3,"file":"requestEmailVerificationCode.js","sourceRoot":"","sources":["../../../../src/logic/cognito/requestEmailVerificationCode.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,6BAA6B,EAC7B,uCAAuC,GAExC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,MAAc,EAAE,WAAmB,EAA0C,EAAE;IAChI,MAAM,aAAa,GAAG,eAAe,CAAC,6BAA6B,EAAE;QACnE,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,MAAM,GAAiD;QAC3D,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,OAAO,EAAE,+CAA+C;KACxE,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,uCAAuC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/F,MAAM,YAAY,GAAG;QACnB,aAAa,EAAE,QAAQ,CAAC,mBAAmB,EAAE,aAAa,IAAI,OAAO;QACrE,WAAW,EAAE,QAAQ,CAAC,mBAAmB,EAAE,WAAW,IAAI,mBAAmB;QAC7E,cAAc,EAAE,QAAQ,CAAC,mBAAmB,EAAE,cAAc,IAAI,OAAO;KACvC,CAAC;IAEnC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC","sourcesContent":["import { AuthenticationDeliveryDetails } from 'quidproquo-core';\n\nimport {\n CognitoIdentityProviderClient,\n GetUserAttributeVerificationCodeCommand,\n GetUserAttributeVerificationCodeCommandInput,\n} from '@aws-sdk/client-cognito-identity-provider';\n\nimport { createAwsClient } from '../createAwsClient';\n\nexport const requestEmailVerificationCode = async (region: string, accessToken: string): Promise<AuthenticationDeliveryDetails> => {\n const cognitoClient = createAwsClient(CognitoIdentityProviderClient, {\n region,\n });\n\n const params: GetUserAttributeVerificationCodeCommandInput = {\n AccessToken: accessToken,\n AttributeName: 'email', // Request verification for the email attribute\n };\n\n const response = await cognitoClient.send(new GetUserAttributeVerificationCodeCommand(params));\n\n const deliveryInfo = {\n attributeName: response.CodeDeliveryDetails?.AttributeName || 'email',\n destination: response.CodeDeliveryDetails?.Destination || 'unknown@email.com',\n deliveryMedium: response.CodeDeliveryDetails?.DeliveryMedium || 'EMAIL',\n } as AuthenticationDeliveryDetails;\n\n return deliveryInfo;\n};\n"]}
@@ -1 +1,2 @@
1
- export declare function getAllItems(tableName: string, region: string): Promise<any[]>;
1
+ import { KvsQueryOperation } from 'quidproquo-core';
2
+ export declare function getAllItems(tableName: string, region: string, filterExpression?: KvsQueryOperation): Promise<any[]>;
@@ -1,17 +1,22 @@
1
1
  import { DynamoDBClient, ScanCommand } from '@aws-sdk/client-dynamodb';
2
2
  import { createAwsClient } from '../createAwsClient';
3
- export async function getAllItems(tableName, region) {
3
+ import { convertDynamoMapToObject } from './convertObjectToDynamoMap';
4
+ import { buildDynamoQueryExpression, buildExpressionAttributeNames, buildExpressionAttributeValues } from './qpqDynamoOrm';
5
+ export async function getAllItems(tableName, region, filterExpression) {
4
6
  const dynamoDBClient = createAwsClient(DynamoDBClient, { region });
5
7
  let records = [];
6
8
  let lastEvaluatedKey;
7
9
  do {
8
10
  const scanParams = {
9
11
  TableName: tableName,
12
+ FilterExpression: buildDynamoQueryExpression(filterExpression),
13
+ ExpressionAttributeValues: filterExpression && buildExpressionAttributeValues([filterExpression]),
14
+ ExpressionAttributeNames: filterExpression && buildExpressionAttributeNames([filterExpression]),
10
15
  ExclusiveStartKey: lastEvaluatedKey,
11
16
  };
12
17
  try {
13
18
  const result = await dynamoDBClient.send(new ScanCommand(scanParams));
14
- records = records.concat(result.Items);
19
+ records = records.concat((result.Items || []).map((item) => convertDynamoMapToObject(item)));
15
20
  lastEvaluatedKey = result.LastEvaluatedKey;
16
21
  }
17
22
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"getAllItems.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/getAllItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAoB,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc;IACjE,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,IAAI,OAAO,GAAU,EAAE,CAAC;IACxB,IAAI,gBAAoD,CAAC;IAEzD,GAAG,CAAC;QACF,MAAM,UAAU,GAAqB;YACnC,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,gBAAgB;SACpC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;YAChD,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,QAAQ,gBAAgB,EAAE;IAE3B,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { DynamoDBClient, ScanCommand, ScanCommandInput } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\n\nexport async function getAllItems(tableName: string, region: string): Promise<any[]> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n let records: any[] = [];\n let lastEvaluatedKey: { [key: string]: any } | undefined;\n\n do {\n const scanParams: ScanCommandInput = {\n TableName: tableName,\n ExclusiveStartKey: lastEvaluatedKey,\n };\n\n try {\n const result = await dynamoDBClient.send(new ScanCommand(scanParams));\n records = records.concat(result.Items as any[]);\n lastEvaluatedKey = result.LastEvaluatedKey;\n } catch (error) {\n console.error('Error scanning DynamoDB table:', error);\n throw error;\n }\n } while (lastEvaluatedKey);\n\n return records;\n}\n"]}
1
+ {"version":3,"file":"getAllItems.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/getAllItems.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAoB,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAE3H,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,gBAAoC;IACvG,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,IAAI,OAAO,GAAU,EAAE,CAAC;IACxB,IAAI,gBAAoD,CAAC;IAEzD,GAAG,CAAC;QACF,MAAM,UAAU,GAAqB;YACnC,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,0BAA0B,CAAC,gBAAgB,CAAC;YAC9D,yBAAyB,EAAE,gBAAgB,IAAI,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACjG,wBAAwB,EAAE,gBAAgB,IAAI,6BAA6B,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC/F,iBAAiB,EAAE,gBAAgB;SACpC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7F,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,QAAQ,gBAAgB,EAAE;IAE3B,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import { KvsQueryOperation } from 'quidproquo-core';\n\nimport { DynamoDBClient, ScanCommand, ScanCommandInput } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { convertDynamoMapToObject } from './convertObjectToDynamoMap';\nimport { buildDynamoQueryExpression, buildExpressionAttributeNames, buildExpressionAttributeValues } from './qpqDynamoOrm';\n\nexport async function getAllItems(tableName: string, region: string, filterExpression?: KvsQueryOperation): Promise<any[]> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n let records: any[] = [];\n let lastEvaluatedKey: { [key: string]: any } | undefined;\n\n do {\n const scanParams: ScanCommandInput = {\n TableName: tableName,\n FilterExpression: buildDynamoQueryExpression(filterExpression),\n ExpressionAttributeValues: filterExpression && buildExpressionAttributeValues([filterExpression]),\n ExpressionAttributeNames: filterExpression && buildExpressionAttributeNames([filterExpression]),\n ExclusiveStartKey: lastEvaluatedKey,\n };\n\n try {\n const result = await dynamoDBClient.send(new ScanCommand(scanParams));\n records = records.concat((result.Items || []).map((item) => convertDynamoMapToObject(item)));\n lastEvaluatedKey = result.LastEvaluatedKey;\n } catch (error) {\n console.error('Error scanning DynamoDB table:', error);\n throw error;\n }\n } while (lastEvaluatedKey);\n\n return records;\n}\n"]}
@@ -1 +1,2 @@
1
- export declare function getItem(tableName: string, key: string, region: string): Promise<any | null>;
1
+ import { KvsCoreDataType } from 'quidproquo-core';
2
+ export declare function getItem(tableName: string, region: string, keyName: string, key: KvsCoreDataType, sortKeyName?: string, sortKey?: KvsCoreDataType): Promise<any | null>;
@@ -1,18 +1,21 @@
1
1
  import { DynamoDBClient, GetItemCommand } from '@aws-sdk/client-dynamodb';
2
2
  import { createAwsClient } from '../createAwsClient';
3
- export async function getItem(tableName, key, region) {
3
+ import { convertDynamoMapToObject } from './convertObjectToDynamoMap';
4
+ import { buildAttributeValue } from './qpqDynamoOrm';
5
+ export async function getItem(tableName, region, keyName, key, sortKeyName, sortKey) {
4
6
  const dynamoDBClient = createAwsClient(DynamoDBClient, { region });
5
7
  const getItemParams = {
6
8
  TableName: tableName,
7
9
  Key: {
8
- key: {
9
- S: key,
10
- },
10
+ [keyName]: buildAttributeValue(key),
11
11
  },
12
12
  };
13
+ if (sortKeyName && sortKey !== undefined) {
14
+ getItemParams.Key[sortKeyName] = buildAttributeValue(sortKey);
15
+ }
13
16
  try {
14
17
  const result = await dynamoDBClient.send(new GetItemCommand(getItemParams));
15
- return result.Item ? JSON.parse(result.Item.value.S) : null;
18
+ return result.Item ? convertDynamoMapToObject(result.Item) : null;
16
19
  }
17
20
  catch (error) {
18
21
  console.error('Error getting item from DynamoDB:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAuB,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAiB,EAAE,GAAW,EAAE,MAAc;IAC1E,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAwB;QACzC,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE;YACH,GAAG,EAAE;gBACH,CAAC,EAAE,GAAG;aACP;SACF;KACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { DynamoDBClient, GetItemCommand, GetItemCommandInput } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\n\nexport async function getItem(tableName: string, key: string, region: string): Promise<any | null> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n const getItemParams: GetItemCommandInput = {\n TableName: tableName,\n Key: {\n key: {\n S: key,\n },\n },\n };\n\n try {\n const result = await dynamoDBClient.send(new GetItemCommand(getItemParams));\n return result.Item ? JSON.parse(result.Item.value.S as string) : null;\n } catch (error) {\n console.error('Error getting item from DynamoDB:', error);\n throw error;\n }\n}\n"]}
1
+ {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/getItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAuB,MAAM,0BAA0B,CAAC;AAE/F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,SAAiB,EACjB,MAAc,EACd,OAAe,EACf,GAAoB,EACpB,WAAoB,EACpB,OAAyB;IAEzB,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnE,MAAM,aAAa,GAAwB;QACzC,SAAS,EAAE,SAAS;QACpB,GAAG,EAAE;YACH,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC;SACpC;KACF,CAAC;IAEF,IAAI,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,aAAa,CAAC,GAAI,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import { KvsCoreDataType } from 'quidproquo-core';\n\nimport { DynamoDBClient, GetItemCommand, GetItemCommandInput } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { convertDynamoMapToObject } from './convertObjectToDynamoMap';\nimport { buildAttributeValue } from './qpqDynamoOrm';\n\nexport async function getItem(\n tableName: string,\n region: string,\n keyName: string,\n key: KvsCoreDataType,\n sortKeyName?: string,\n sortKey?: KvsCoreDataType,\n): Promise<any | null> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n const getItemParams: GetItemCommandInput = {\n TableName: tableName,\n Key: {\n [keyName]: buildAttributeValue(key),\n },\n };\n\n if (sortKeyName && sortKey !== undefined) {\n getItemParams.Key![sortKeyName] = buildAttributeValue(sortKey);\n }\n\n try {\n const result = await dynamoDBClient.send(new GetItemCommand(getItemParams));\n return result.Item ? convertDynamoMapToObject(result.Item) : null;\n } catch (error) {\n console.error('Error getting item from DynamoDB:', error);\n throw error;\n }\n}\n"]}