quidproquo-actionprocessor-awslambda 0.0.199 → 0.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/lib/commonjs/getActionProcessor/core/event/utils/parseMultipartFormData.js +5 -3
  2. package/lib/esm/awsLambdaUtils.d.ts +9 -0
  3. package/lib/esm/awsLambdaUtils.js +35 -0
  4. package/lib/esm/awsNamingUtils.d.ts +25 -0
  5. package/lib/esm/awsNamingUtils.js +173 -0
  6. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +5 -0
  7. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +12 -0
  8. package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.d.ts +5 -0
  9. package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js +15 -0
  10. package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.d.ts +5 -0
  11. package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js +15 -0
  12. package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.d.ts +5 -0
  13. package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +15 -0
  14. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.d.ts +5 -0
  15. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +15 -0
  16. package/lib/esm/getActionProcessor/core/config/index.d.ts +9 -0
  17. package/lib/esm/getActionProcessor/core/config/index.js +12 -0
  18. package/lib/esm/getActionProcessor/core/config/utils/index.d.ts +1 -0
  19. package/lib/esm/getActionProcessor/core/config/utils/index.js +1 -0
  20. package/lib/esm/getActionProcessor/core/config/utils/resolveSecretResourceName.d.ts +2 -0
  21. package/lib/esm/getActionProcessor/core/config/utils/resolveSecretResourceName.js +6 -0
  22. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/autoRespond.d.ts +6 -0
  23. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/autoRespond.js +35 -0
  24. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getRecords.d.ts +6 -0
  25. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getRecords.js +39 -0
  26. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getStorySession.d.ts +6 -0
  27. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getStorySession.js +11 -0
  28. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/index.d.ts +8 -0
  29. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/index.js +12 -0
  30. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/matchStory.d.ts +6 -0
  31. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/matchStory.js +34 -0
  32. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/transformResponseResult.d.ts +6 -0
  33. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/transformResponseResult.js +56 -0
  34. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/types.d.ts +10 -0
  35. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/types.js +1 -0
  36. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/index.d.ts +2 -0
  37. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/index.js +2 -0
  38. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/autoRespond.d.ts +6 -0
  39. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/autoRespond.js +11 -0
  40. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getRecords.d.ts +6 -0
  41. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getRecords.js +27 -0
  42. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getStorySession.d.ts +6 -0
  43. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getStorySession.js +11 -0
  44. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/index.d.ts +8 -0
  45. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/index.js +12 -0
  46. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/matchStory.d.ts +6 -0
  47. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/matchStory.js +32 -0
  48. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/transformResponseResult.d.ts +6 -0
  49. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/transformResponseResult.js +18 -0
  50. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/types.d.ts +16 -0
  51. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/types.js +2 -0
  52. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/autoRespond.d.ts +6 -0
  53. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/autoRespond.js +11 -0
  54. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getRecords.d.ts +6 -0
  55. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getRecords.js +28 -0
  56. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getStorySession.d.ts +6 -0
  57. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/getStorySession.js +11 -0
  58. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/index.d.ts +8 -0
  59. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/index.js +12 -0
  60. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/matchStory.d.ts +6 -0
  61. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/matchStory.js +32 -0
  62. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/transformResponseResult.d.ts +6 -0
  63. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/transformResponseResult.js +60 -0
  64. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/types.d.ts +8 -0
  65. package/lib/esm/getActionProcessor/core/event/cloudFrontOriginRequest/types.js +1 -0
  66. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/autoRespond.d.ts +6 -0
  67. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/autoRespond.js +34 -0
  68. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getRecords.d.ts +6 -0
  69. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getRecords.js +33 -0
  70. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getStorySession.d.ts +6 -0
  71. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/getStorySession.js +11 -0
  72. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/index.d.ts +8 -0
  73. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/index.js +12 -0
  74. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/matchStory.d.ts +6 -0
  75. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/matchStory.js +33 -0
  76. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/transformResponseResult.d.ts +6 -0
  77. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/transformResponseResult.js +26 -0
  78. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/types.d.ts +9 -0
  79. package/lib/esm/getActionProcessor/core/event/cognitoCustomMessage/types.js +1 -0
  80. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/autoRespond.d.ts +6 -0
  81. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/autoRespond.js +15 -0
  82. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getRecords.d.ts +6 -0
  83. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getRecords.js +33 -0
  84. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getStorySession.d.ts +6 -0
  85. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/getStorySession.js +11 -0
  86. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/index.d.ts +8 -0
  87. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/index.js +12 -0
  88. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/matchStory.d.ts +6 -0
  89. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/matchStory.js +20 -0
  90. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/transformResponseResult.d.ts +6 -0
  91. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/transformResponseResult.js +17 -0
  92. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/types.d.ts +15 -0
  93. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/deployStack/types.js +1 -0
  94. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/index.d.ts +2 -0
  95. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/index.js +2 -0
  96. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/autoRespond.d.ts +6 -0
  97. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/autoRespond.js +11 -0
  98. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getRecords.d.ts +6 -0
  99. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getRecords.js +16 -0
  100. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getStorySession.d.ts +6 -0
  101. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getStorySession.js +11 -0
  102. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/index.d.ts +8 -0
  103. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/index.js +12 -0
  104. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/matchStory.d.ts +6 -0
  105. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/matchStory.js +17 -0
  106. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/transformResponseResult.d.ts +6 -0
  107. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/transformResponseResult.js +17 -0
  108. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/types.d.ts +7 -0
  109. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/types.js +1 -0
  110. package/lib/esm/getActionProcessor/core/event/index.d.ts +7 -0
  111. package/lib/esm/getActionProcessor/core/event/index.js +7 -0
  112. package/lib/esm/getActionProcessor/core/event/lambda/index.d.ts +1 -0
  113. package/lib/esm/getActionProcessor/core/event/lambda/index.js +1 -0
  114. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/autoRespond.d.ts +6 -0
  115. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/autoRespond.js +11 -0
  116. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getRecords.d.ts +6 -0
  117. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getRecords.js +15 -0
  118. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getStorySession.d.ts +6 -0
  119. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/getStorySession.js +11 -0
  120. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/index.d.ts +8 -0
  121. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/index.js +12 -0
  122. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/matchStory.d.ts +6 -0
  123. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/matchStory.js +21 -0
  124. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/transformResponseResult.d.ts +6 -0
  125. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/transformResponseResult.js +14 -0
  126. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/types.d.ts +11 -0
  127. package/lib/esm/getActionProcessor/core/event/lambda/serviceFunction/types.js +1 -0
  128. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/autoRespond.d.ts +6 -0
  129. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/autoRespond.js +11 -0
  130. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getRecords.d.ts +6 -0
  131. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getRecords.js +22 -0
  132. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getStorySession.d.ts +6 -0
  133. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/getStorySession.js +11 -0
  134. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/index.d.ts +8 -0
  135. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/index.js +12 -0
  136. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/matchStory.d.ts +6 -0
  137. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/matchStory.js +12 -0
  138. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/transformResponseResult.d.ts +6 -0
  139. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/transformResponseResult.js +17 -0
  140. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/types.d.ts +10 -0
  141. package/lib/esm/getActionProcessor/core/event/s3/fileEvent/types.js +3 -0
  142. package/lib/esm/getActionProcessor/core/event/s3/index.d.ts +1 -0
  143. package/lib/esm/getActionProcessor/core/event/s3/index.js +1 -0
  144. package/lib/esm/getActionProcessor/core/event/sqs/index.d.ts +1 -0
  145. package/lib/esm/getActionProcessor/core/event/sqs/index.js +1 -0
  146. package/lib/esm/getActionProcessor/core/event/sqs/queue/autoRespond.d.ts +6 -0
  147. package/lib/esm/getActionProcessor/core/event/sqs/queue/autoRespond.js +11 -0
  148. package/lib/esm/getActionProcessor/core/event/sqs/queue/getRecords.d.ts +6 -0
  149. package/lib/esm/getActionProcessor/core/event/sqs/queue/getRecords.js +24 -0
  150. package/lib/esm/getActionProcessor/core/event/sqs/queue/getStorySession.d.ts +6 -0
  151. package/lib/esm/getActionProcessor/core/event/sqs/queue/getStorySession.js +17 -0
  152. package/lib/esm/getActionProcessor/core/event/sqs/queue/index.d.ts +8 -0
  153. package/lib/esm/getActionProcessor/core/event/sqs/queue/index.js +12 -0
  154. package/lib/esm/getActionProcessor/core/event/sqs/queue/matchStory.d.ts +7 -0
  155. package/lib/esm/getActionProcessor/core/event/sqs/queue/matchStory.js +42 -0
  156. package/lib/esm/getActionProcessor/core/event/sqs/queue/transformResponseResult.d.ts +6 -0
  157. package/lib/esm/getActionProcessor/core/event/sqs/queue/transformResponseResult.js +24 -0
  158. package/lib/esm/getActionProcessor/core/event/sqs/queue/types.d.ts +12 -0
  159. package/lib/esm/getActionProcessor/core/event/sqs/queue/types.js +1 -0
  160. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.d.ts +3 -0
  161. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.js +54 -0
  162. package/lib/esm/getActionProcessor/core/event/utils/parseMultipartFormData.d.ts +2 -0
  163. package/lib/esm/getActionProcessor/core/event/utils/parseMultipartFormData.js +45 -0
  164. package/lib/esm/getActionProcessor/core/eventBus/getQueueSendMessageActionProcessor.d.ts +6 -0
  165. package/lib/esm/getActionProcessor/core/eventBus/getQueueSendMessageActionProcessor.js +28 -0
  166. package/lib/esm/getActionProcessor/core/eventBus/index.d.ts +5 -0
  167. package/lib/esm/getActionProcessor/core/eventBus/index.js +4 -0
  168. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.d.ts +6 -0
  169. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +21 -0
  170. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.d.ts +5 -0
  171. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +12 -0
  172. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.d.ts +6 -0
  173. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +19 -0
  174. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.d.ts +5 -0
  175. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +21 -0
  176. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.d.ts +5 -0
  177. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +12 -0
  178. package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.d.ts +5 -0
  179. package/lib/esm/getActionProcessor/core/file/getFileReadTextContentsActionProcessor.js +12 -0
  180. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.d.ts +5 -0
  181. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +14 -0
  182. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.d.ts +5 -0
  183. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +14 -0
  184. package/lib/esm/getActionProcessor/core/file/index.d.ts +12 -0
  185. package/lib/esm/getActionProcessor/core/file/index.js +18 -0
  186. package/lib/esm/getActionProcessor/core/file/utils/index.d.ts +1 -0
  187. package/lib/esm/getActionProcessor/core/file/utils/index.js +1 -0
  188. package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.d.ts +2 -0
  189. package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js +9 -0
  190. package/lib/esm/getActionProcessor/core/index.d.ts +12 -0
  191. package/lib/esm/getActionProcessor/core/index.js +12 -0
  192. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.d.ts +6 -0
  193. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +16 -0
  194. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.d.ts +6 -0
  195. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +15 -0
  196. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.d.ts +6 -0
  197. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +15 -0
  198. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.d.ts +6 -0
  199. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +20 -0
  200. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.d.ts +6 -0
  201. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +15 -0
  202. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.d.ts +6 -0
  203. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +16 -0
  204. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.d.ts +5 -0
  205. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpsertActionProcessor.js +26 -0
  206. package/lib/esm/getActionProcessor/core/keyValueStore/index.d.ts +10 -0
  207. package/lib/esm/getActionProcessor/core/keyValueStore/index.js +14 -0
  208. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.d.ts +6 -0
  209. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +25 -0
  210. package/lib/esm/getActionProcessor/core/queue/index.d.ts +5 -0
  211. package/lib/esm/getActionProcessor/core/queue/index.js +4 -0
  212. package/lib/esm/getActionProcessor/core/system/getExecuteStoryActionProcessor.d.ts +7 -0
  213. package/lib/esm/getActionProcessor/core/system/getExecuteStoryActionProcessor.js +35 -0
  214. package/lib/esm/getActionProcessor/core/system/index.d.ts +6 -0
  215. package/lib/esm/getActionProcessor/core/system/index.js +4 -0
  216. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.d.ts +5 -0
  217. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js +25 -0
  218. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.d.ts +5 -0
  219. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +14 -0
  220. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.d.ts +5 -0
  221. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +14 -0
  222. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgetPasswordActionProcessor.d.ts +5 -0
  223. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgetPasswordActionProcessor.js +18 -0
  224. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.d.ts +5 -0
  225. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +18 -0
  226. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.d.ts +5 -0
  227. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +23 -0
  228. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgetPasswordActionProcessor.d.ts +5 -0
  229. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgetPasswordActionProcessor.js +18 -0
  230. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesActionProcessor.d.ts +5 -0
  231. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesActionProcessor.js +24 -0
  232. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.d.ts +5 -0
  233. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +17 -0
  234. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.d.ts +5 -0
  235. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +17 -0
  236. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.d.ts +5 -0
  237. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js +23 -0
  238. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.d.ts +5 -0
  239. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +23 -0
  240. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.d.ts +5 -0
  241. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +14 -0
  242. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.d.ts +5 -0
  243. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +28 -0
  244. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.d.ts +5 -0
  245. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetAccessTokenActionProcessor.js +14 -0
  246. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.d.ts +5 -0
  247. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +17 -0
  248. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.d.ts +5 -0
  249. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +17 -0
  250. package/lib/esm/getActionProcessor/core/userDirectory/index.d.ts +21 -0
  251. package/lib/esm/getActionProcessor/core/userDirectory/index.js +36 -0
  252. package/lib/esm/getActionProcessor/index.d.ts +2 -0
  253. package/lib/esm/getActionProcessor/index.js +2 -0
  254. package/lib/esm/getActionProcessor/webserver/admin/getAdminActionProcessor.d.ts +9 -0
  255. package/lib/esm/getActionProcessor/webserver/admin/getAdminActionProcessor.js +50 -0
  256. package/lib/esm/getActionProcessor/webserver/admin/index.d.ts +8 -0
  257. package/lib/esm/getActionProcessor/webserver/admin/index.js +4 -0
  258. package/lib/esm/getActionProcessor/webserver/index.d.ts +4 -0
  259. package/lib/esm/getActionProcessor/webserver/index.js +4 -0
  260. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionActionProcessor.d.ts +6 -0
  261. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionActionProcessor.js +34 -0
  262. package/lib/esm/getActionProcessor/webserver/serviceFunction/index.d.ts +5 -0
  263. package/lib/esm/getActionProcessor/webserver/serviceFunction/index.js +4 -0
  264. package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.d.ts +6 -0
  265. package/lib/esm/getActionProcessor/webserver/webEntry/getWebEntryInvalidateCacheActionProcessor.js +18 -0
  266. package/lib/esm/getActionProcessor/webserver/webEntry/index.d.ts +5 -0
  267. package/lib/esm/getActionProcessor/webserver/webEntry/index.js +4 -0
  268. package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.d.ts +6 -0
  269. package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js +26 -0
  270. package/lib/esm/getActionProcessor/webserver/websocket/index.d.ts +5 -0
  271. package/lib/esm/getActionProcessor/webserver/websocket/index.js +4 -0
  272. package/lib/esm/index.d.ts +8 -0
  273. package/lib/esm/index.js +8 -0
  274. package/lib/esm/logic/acm/findMatchingCertificates.d.ts +1 -0
  275. package/lib/esm/logic/acm/findMatchingCertificates.js +39 -0
  276. package/lib/esm/logic/acm/getDomainValidationOptions.d.ts +2 -0
  277. package/lib/esm/logic/acm/getDomainValidationOptions.js +26 -0
  278. package/lib/esm/logic/apiGateway/getApiKeys.d.ts +2 -0
  279. package/lib/esm/logic/apiGateway/getApiKeys.js +13 -0
  280. package/lib/esm/logic/apiGateway/websocketSendMessage.d.ts +1 -0
  281. package/lib/esm/logic/apiGateway/websocketSendMessage.js +16 -0
  282. package/lib/esm/logic/cache/memoFunc.d.ts +7 -0
  283. package/lib/esm/logic/cache/memoFunc.js +28 -0
  284. package/lib/esm/logic/cache/memoFuncAsync.d.ts +7 -0
  285. package/lib/esm/logic/cache/memoFuncAsync.js +29 -0
  286. package/lib/esm/logic/cloudFront/invalidateCache.d.ts +2 -0
  287. package/lib/esm/logic/cloudFront/invalidateCache.js +24 -0
  288. package/lib/esm/logic/cloudformation/getExportedValue.d.ts +1 -0
  289. package/lib/esm/logic/cloudformation/getExportedValue.js +17 -0
  290. package/lib/esm/logic/cognito/authenticateUser.d.ts +2 -0
  291. package/lib/esm/logic/cognito/authenticateUser.js +25 -0
  292. package/lib/esm/logic/cognito/changePassword.d.ts +1 -0
  293. package/lib/esm/logic/cognito/changePassword.js +11 -0
  294. package/lib/esm/logic/cognito/cognitoAttributeMap.d.ts +10 -0
  295. package/lib/esm/logic/cognito/cognitoAttributeMap.js +45 -0
  296. package/lib/esm/logic/cognito/confirmForgotPassword.d.ts +2 -0
  297. package/lib/esm/logic/cognito/confirmForgotPassword.js +21 -0
  298. package/lib/esm/logic/cognito/createUser.d.ts +2 -0
  299. package/lib/esm/logic/cognito/createUser.js +26 -0
  300. package/lib/esm/logic/cognito/decodeValidJwt.d.ts +5 -0
  301. package/lib/esm/logic/cognito/decodeValidJwt.js +30 -0
  302. package/lib/esm/logic/cognito/forgotPassword.d.ts +2 -0
  303. package/lib/esm/logic/cognito/forgotPassword.js +24 -0
  304. package/lib/esm/logic/cognito/getUser.d.ts +10 -0
  305. package/lib/esm/logic/cognito/getUser.js +23 -0
  306. package/lib/esm/logic/cognito/getUserAttributes.d.ts +2 -0
  307. package/lib/esm/logic/cognito/getUserAttributes.js +14 -0
  308. package/lib/esm/logic/cognito/getUserAttributesBySub.d.ts +2 -0
  309. package/lib/esm/logic/cognito/getUserAttributesBySub.js +16 -0
  310. package/lib/esm/logic/cognito/getUserPoolClientSecret.d.ts +1 -0
  311. package/lib/esm/logic/cognito/getUserPoolClientSecret.js +14 -0
  312. package/lib/esm/logic/cognito/listPagedUsers.d.ts +2 -0
  313. package/lib/esm/logic/cognito/listPagedUsers.js +19 -0
  314. package/lib/esm/logic/cognito/refreshToken.d.ts +2 -0
  315. package/lib/esm/logic/cognito/refreshToken.js +23 -0
  316. package/lib/esm/logic/cognito/requestEmailVerificationCode.d.ts +1 -0
  317. package/lib/esm/logic/cognito/requestEmailVerificationCode.js +10 -0
  318. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.d.ts +2 -0
  319. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.js +24 -0
  320. package/lib/esm/logic/cognito/setUserAttributes.d.ts +2 -0
  321. package/lib/esm/logic/cognito/setUserAttributes.js +13 -0
  322. package/lib/esm/logic/cognito/setUserPassword.d.ts +1 -0
  323. package/lib/esm/logic/cognito/setUserPassword.js +13 -0
  324. package/lib/esm/logic/cognito/utils/calculateSecretHash.d.ts +1 -0
  325. package/lib/esm/logic/cognito/utils/calculateSecretHash.js +10 -0
  326. package/lib/esm/logic/cognito/utils/index.d.ts +4 -0
  327. package/lib/esm/logic/cognito/utils/index.js +4 -0
  328. package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.d.ts +1 -0
  329. package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.js +6 -0
  330. package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.d.ts +1 -0
  331. package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.js +6 -0
  332. package/lib/esm/logic/cognito/utils/transformCognitoResponse.d.ts +5 -0
  333. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +37 -0
  334. package/lib/esm/logic/cognito/verifyJwt.d.ts +1 -0
  335. package/lib/esm/logic/cognito/verifyJwt.js +6 -0
  336. package/lib/esm/logic/cognito/verifyUserEmail.d.ts +1 -0
  337. package/lib/esm/logic/cognito/verifyUserEmail.js +11 -0
  338. package/lib/esm/logic/createAwsClient.d.ts +3 -0
  339. package/lib/esm/logic/createAwsClient.js +32 -0
  340. package/lib/esm/logic/dynamo/convertObjectToDynamoMap.d.ts +1 -0
  341. package/lib/esm/logic/dynamo/convertObjectToDynamoMap.js +63 -0
  342. package/lib/esm/logic/dynamo/deleteItem.d.ts +2 -0
  343. package/lib/esm/logic/dynamo/deleteItem.js +16 -0
  344. package/lib/esm/logic/dynamo/getAllItems.d.ts +1 -0
  345. package/lib/esm/logic/dynamo/getAllItems.js +23 -0
  346. package/lib/esm/logic/dynamo/getItem.d.ts +1 -0
  347. package/lib/esm/logic/dynamo/getItem.js +21 -0
  348. package/lib/esm/logic/dynamo/getLogByCorrelation.d.ts +2 -0
  349. package/lib/esm/logic/dynamo/getLogByCorrelation.js +39 -0
  350. package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.d.ts +2 -0
  351. package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.js +49 -0
  352. package/lib/esm/logic/dynamo/getPagedItemsOverRange.d.ts +2 -0
  353. package/lib/esm/logic/dynamo/getPagedItemsOverRange.js +48 -0
  354. package/lib/esm/logic/dynamo/index.d.ts +6 -0
  355. package/lib/esm/logic/dynamo/index.js +6 -0
  356. package/lib/esm/logic/dynamo/logs/index.d.ts +1 -0
  357. package/lib/esm/logic/dynamo/logs/index.js +1 -0
  358. package/lib/esm/logic/dynamo/logs/utils/index.d.ts +2 -0
  359. package/lib/esm/logic/dynamo/logs/utils/index.js +2 -0
  360. package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.d.ts +1 -0
  361. package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.js +3 -0
  362. package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.d.ts +2 -0
  363. package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js +3 -0
  364. package/lib/esm/logic/dynamo/putItem.d.ts +5 -0
  365. package/lib/esm/logic/dynamo/putItem.js +33 -0
  366. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.d.ts +10 -0
  367. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js +187 -0
  368. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.d.ts +12 -0
  369. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js +125 -0
  370. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.d.ts +2 -0
  371. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +22 -0
  372. package/lib/esm/logic/dynamo/qpqDynamoOrm/index.d.ts +3 -0
  373. package/lib/esm/logic/dynamo/qpqDynamoOrm/index.js +3 -0
  374. package/lib/esm/logic/dynamo/query.d.ts +2 -0
  375. package/lib/esm/logic/dynamo/query.js +28 -0
  376. package/lib/esm/logic/dynamo/scan.d.ts +2 -0
  377. package/lib/esm/logic/dynamo/scan.js +24 -0
  378. package/lib/esm/logic/dynamo/updateItem.d.ts +2 -0
  379. package/lib/esm/logic/dynamo/updateItem.js +22 -0
  380. package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.d.ts +2 -0
  381. package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.js +5 -0
  382. package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.d.ts +4 -0
  383. package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.js +5 -0
  384. package/lib/esm/logic/lambda/executeLambdaByName.d.ts +1 -0
  385. package/lib/esm/logic/lambda/executeLambdaByName.js +25 -0
  386. package/lib/esm/logic/parametersManager/getParameter.d.ts +1 -0
  387. package/lib/esm/logic/parametersManager/getParameter.js +10 -0
  388. package/lib/esm/logic/parametersManager/getParameters.d.ts +1 -0
  389. package/lib/esm/logic/parametersManager/getParameters.js +11 -0
  390. package/lib/esm/logic/parametersManager/setParameter.d.ts +1 -0
  391. package/lib/esm/logic/parametersManager/setParameter.js +11 -0
  392. package/lib/esm/logic/s3/deleteFiles.d.ts +1 -0
  393. package/lib/esm/logic/s3/deleteFiles.js +14 -0
  394. package/lib/esm/logic/s3/generatePresignedUrl.d.ts +1 -0
  395. package/lib/esm/logic/s3/generatePresignedUrl.js +19 -0
  396. package/lib/esm/logic/s3/listFiles.d.ts +10 -0
  397. package/lib/esm/logic/s3/listFiles.js +42 -0
  398. package/lib/esm/logic/s3/objectExists.d.ts +1 -0
  399. package/lib/esm/logic/s3/objectExists.js +16 -0
  400. package/lib/esm/logic/s3/readBinaryFile.d.ts +2 -0
  401. package/lib/esm/logic/s3/readBinaryFile.js +15 -0
  402. package/lib/esm/logic/s3/readTextFile.d.ts +1 -0
  403. package/lib/esm/logic/s3/readTextFile.js +10 -0
  404. package/lib/esm/logic/s3/s3Utils.d.ts +7 -0
  405. package/lib/esm/logic/s3/s3Utils.js +7 -0
  406. package/lib/esm/logic/s3/writeBinaryFile.d.ts +3 -0
  407. package/lib/esm/logic/s3/writeBinaryFile.js +13 -0
  408. package/lib/esm/logic/s3/writeTextFile.d.ts +2 -0
  409. package/lib/esm/logic/s3/writeTextFile.js +11 -0
  410. package/lib/esm/logic/secretsManager/getSecret.d.ts +1 -0
  411. package/lib/esm/logic/secretsManager/getSecret.js +14 -0
  412. package/lib/esm/logic/sns/publishMessage.d.ts +1 -0
  413. package/lib/esm/logic/sns/publishMessage.js +28 -0
  414. package/lib/esm/logic/sqs/getQueueUrl.d.ts +2 -0
  415. package/lib/esm/logic/sqs/getQueueUrl.js +7 -0
  416. package/lib/esm/logic/sqs/sendMessages.d.ts +1 -0
  417. package/lib/esm/logic/sqs/sendMessages.js +23 -0
  418. package/lib/esm/runtimeConfig/QPQAWSResourceMap.d.ts +4 -0
  419. package/lib/esm/runtimeConfig/QPQAWSResourceMap.js +1 -0
  420. package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.d.ts +4 -0
  421. package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js +12 -0
  422. package/lib/esm/types/DynamicLoader.d.ts +1 -0
  423. package/lib/esm/types/DynamicLoader.js +1 -0
  424. package/lib/esm/types/index.d.ts +1 -0
  425. package/lib/esm/types/index.js +1 -0
  426. package/package.json +12 -8
@@ -0,0 +1,5 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ declare const _default: (qpqConfig: QPQConfig) => {
3
+ "@quidproquo-webserver/ServiceFunction/Execute": import("quidproquo-webserver").ServiceFunctionExecuteActionProcessor<any, any>;
4
+ };
5
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import getServiceFunctionActionProcessor from './getServiceFunctionActionProcessor';
2
+ export default (qpqConfig) => ({
3
+ ...getServiceFunctionActionProcessor(qpqConfig),
4
+ });
@@ -0,0 +1,6 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { WebEntryInvalidateCacheActionProcessor } from 'quidproquo-webserver';
3
+ declare const _default: (qpqConfig: QPQConfig) => {
4
+ "@quidproquo-webserver/WebEntry/InvalidateCache": WebEntryInvalidateCacheActionProcessor;
5
+ };
6
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import { actionResult, qpqCoreUtils } from 'quidproquo-core';
2
+ import { WebEntryActionType } from 'quidproquo-webserver';
3
+ import { getCFExportNameDistributionIdArnFromConfig } from '../../../awsNamingUtils';
4
+ import { invalidateCache } from '../../../logic/cloudFront/invalidateCache';
5
+ import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
6
+ const getWebEntryInvalidteCacheActionProcessor = (qpqConfig) => {
7
+ return async ({ paths, webEntryName }) => {
8
+ const region = qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
9
+ const distributionId = await getExportedValue(getCFExportNameDistributionIdArnFromConfig(webEntryName, qpqConfig), region);
10
+ await invalidateCache(distributionId, region, paths);
11
+ return actionResult(void 0);
12
+ };
13
+ };
14
+ export default (qpqConfig) => {
15
+ return {
16
+ [WebEntryActionType.InvalidateCache]: getWebEntryInvalidteCacheActionProcessor(qpqConfig),
17
+ };
18
+ };
@@ -0,0 +1,5 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ declare const _default: (qpqConfig: QPQConfig) => {
3
+ "@quidproquo-webserver/WebEntry/InvalidateCache": import("quidproquo-webserver").WebEntryInvalidateCacheActionProcessor;
4
+ };
5
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import getWebEntryInvalidateCacheActionProcessor from './getWebEntryInvalidateCacheActionProcessor';
2
+ export default (qpqConfig) => ({
3
+ ...getWebEntryInvalidateCacheActionProcessor(qpqConfig),
4
+ });
@@ -0,0 +1,6 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ import { WebsocketSendMessageActionProcessor } from 'quidproquo-webserver';
3
+ declare const _default: (qpqConfig: QPQConfig) => {
4
+ "@quidproquo-webserver/Websocket/SendMessage": WebsocketSendMessageActionProcessor<any>;
5
+ };
6
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { actionResult, actionResultError, actionResultErrorFromCaughtError, qpqCoreUtils } from 'quidproquo-core';
2
+ import { WebsocketActionType, WebsocketSendMessageErrorTypeEnum } from 'quidproquo-webserver';
3
+ import { getCFExportNameWebsocketApiIdFromConfig } from '../../../awsNamingUtils';
4
+ import { sendMessageToWebSocketConnection } from '../../../logic/apiGateway/websocketSendMessage';
5
+ import { getExportedValue } from '../../../logic/cloudformation/getExportedValue';
6
+ const getWebsocketSendMessageActionProcessor = (qpqConfig) => {
7
+ return async ({ connectionId, payload, websocketApiName }) => {
8
+ const region = qpqCoreUtils.getApplicationModuleDeployRegion(qpqConfig);
9
+ const apiId = await getExportedValue(getCFExportNameWebsocketApiIdFromConfig(websocketApiName, qpqConfig), region);
10
+ try {
11
+ await sendMessageToWebSocketConnection(apiId, connectionId, region, payload);
12
+ return actionResult(void 0);
13
+ }
14
+ catch (error) {
15
+ return actionResultErrorFromCaughtError(error, {
16
+ ThrottlingException: () => actionResultError(WebsocketSendMessageErrorTypeEnum.Throttled, 'Rate exceeded'),
17
+ GoneException: () => actionResultError(WebsocketSendMessageErrorTypeEnum.Disconnected, 'Connection no longer exists'),
18
+ });
19
+ }
20
+ };
21
+ };
22
+ export default (qpqConfig) => {
23
+ return {
24
+ [WebsocketActionType.SendMessage]: getWebsocketSendMessageActionProcessor(qpqConfig),
25
+ };
26
+ };
@@ -0,0 +1,5 @@
1
+ import { QPQConfig } from 'quidproquo-core';
2
+ declare const _default: (qpqConfig: QPQConfig) => {
3
+ "@quidproquo-webserver/Websocket/SendMessage": import("quidproquo-webserver").WebsocketSendMessageActionProcessor<any>;
4
+ };
5
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import getWebsocketSendMessageActionProcessor from './getWebsocketSendMessageActionProcessor';
2
+ export default (qpqConfig) => ({
3
+ ...getWebsocketSendMessageActionProcessor(qpqConfig),
4
+ });
@@ -0,0 +1,8 @@
1
+ export * from './getActionProcessor';
2
+ export * as awsLambdaUtils from './awsLambdaUtils';
3
+ export * as awsNamingUtils from './awsNamingUtils';
4
+ export * from './runtimeConfig/QPQAWSResourceMap';
5
+ export * from './types';
6
+ export * from './logic/parametersManager/getParameter';
7
+ export * from './logic/parametersManager/getParameters';
8
+ export * from './logic/cache/memoFunc';
@@ -0,0 +1,8 @@
1
+ export * from './getActionProcessor';
2
+ export * as awsLambdaUtils from './awsLambdaUtils';
3
+ export * as awsNamingUtils from './awsNamingUtils';
4
+ export * from './runtimeConfig/QPQAWSResourceMap';
5
+ export * from './types';
6
+ export * from './logic/parametersManager/getParameter';
7
+ export * from './logic/parametersManager/getParameters';
8
+ export * from './logic/cache/memoFunc';
@@ -0,0 +1 @@
1
+ export declare const findMatchingCertificates: (domainName: string, region: string, retryCount?: number, delayMs?: number) => Promise<string[]>;
@@ -0,0 +1,39 @@
1
+ import { ACMClient, ListCertificatesCommand } from '@aws-sdk/client-acm';
2
+ import { createAwsClient } from '../createAwsClient';
3
+ export const findMatchingCertificates = async (domainName, region, retryCount = 3, delayMs = 5000) => {
4
+ const lowerCaseDomainName = domainName.toLowerCase();
5
+ const acmClient = createAwsClient(ACMClient, {
6
+ region,
7
+ });
8
+ let remainingRetries = retryCount;
9
+ while (remainingRetries > 0) {
10
+ let certificateArns = [];
11
+ let NextToken;
12
+ do {
13
+ const listCommand = new ListCertificatesCommand({
14
+ NextToken,
15
+ });
16
+ const listResult = await acmClient.send(listCommand);
17
+ for (const certificate of listResult.CertificateSummaryList || []) {
18
+ if (certificate.CertificateArn &&
19
+ certificate.DomainName?.toLowerCase() === lowerCaseDomainName) {
20
+ certificateArns.push(certificate.CertificateArn);
21
+ }
22
+ }
23
+ NextToken = listResult.NextToken;
24
+ } while (NextToken);
25
+ if (certificateArns.length > 0) {
26
+ return certificateArns;
27
+ }
28
+ remainingRetries--;
29
+ if (remainingRetries != 0) {
30
+ // Don't wait after the last try
31
+ await new Promise((res) => setTimeout(res, delayMs));
32
+ }
33
+ }
34
+ return []; // Return an empty array after max retries
35
+ };
36
+ // (async () => {
37
+ // const matchingCerts = await findMatchingCertificates('example.com', 'us-east-1');
38
+ // console.log('Matching certificates:', matchingCerts);
39
+ // })();
@@ -0,0 +1,2 @@
1
+ import { CloudflareDnsEntries } from 'quidproquo-webserver';
2
+ export declare const getDomainValidationOptions: (certificateArn: string, region: string) => Promise<CloudflareDnsEntries>;
@@ -0,0 +1,26 @@
1
+ import { ACMClient, DescribeCertificateCommand } from '@aws-sdk/client-acm';
2
+ import { createAwsClient } from '../createAwsClient';
3
+ export const getDomainValidationOptions = async (certificateArn, region) => {
4
+ const acmClient = createAwsClient(ACMClient, {
5
+ region,
6
+ });
7
+ const command = new DescribeCertificateCommand({
8
+ CertificateArn: certificateArn,
9
+ });
10
+ const result = await acmClient.send(command);
11
+ const entries = {};
12
+ console.log('DescribeCertificateCommand: ', JSON.stringify(result, null, 2));
13
+ // Extract the DomainValidationOptions and populate the entries
14
+ if (result.Certificate && result.Certificate.DomainValidationOptions) {
15
+ for (const option of result.Certificate.DomainValidationOptions) {
16
+ if (option.ResourceRecord?.Name && option.ResourceRecord?.Value) {
17
+ entries[option.ResourceRecord.Name] = {
18
+ proxied: false,
19
+ type: 'CNAME',
20
+ value: option.ResourceRecord.Value,
21
+ };
22
+ }
23
+ }
24
+ }
25
+ return entries;
26
+ };
@@ -0,0 +1,2 @@
1
+ import { ApiKey } from 'quidproquo-webserver';
2
+ export declare const getApiKeys: (region: string, ...keyNames: string[]) => Promise<ApiKey[]>;
@@ -0,0 +1,13 @@
1
+ import { APIGatewayClient, GetApiKeysCommand, } from '@aws-sdk/client-api-gateway';
2
+ import { createAwsClient } from '../createAwsClient';
3
+ export const getApiKeys = async (region, ...keyNames) => {
4
+ const apiGatewayClient = createAwsClient(APIGatewayClient, { region });
5
+ const input = {
6
+ includeValues: true,
7
+ limit: 500,
8
+ };
9
+ const res = await apiGatewayClient.send(new GetApiKeysCommand(input));
10
+ return (res.items
11
+ ?.filter((i) => keyNames.indexOf(i.name) >= 0)
12
+ .map((i) => ({ name: i.name, value: i.value, description: i.description })) || []);
13
+ };
@@ -0,0 +1 @@
1
+ export declare const sendMessageToWebSocketConnection: (apiId: string, connectionId: string, region: string, payload: any) => Promise<void>;
@@ -0,0 +1,16 @@
1
+ import { ApiGatewayManagementApiClient, PostToConnectionCommand } from "@aws-sdk/client-apigatewaymanagementapi";
2
+ import { createAwsClient } from '../createAwsClient';
3
+ export const sendMessageToWebSocketConnection = async (apiId, connectionId, region, payload) => {
4
+ // Create a new ApiGatewayManagementApiClient
5
+ const apiGatewayManagementApiClient = createAwsClient(ApiGatewayManagementApiClient, {
6
+ apiVersion: "2018-11-29",
7
+ endpoint: `https://${apiId}.execute-api.${region}.amazonaws.com/prod`,
8
+ region
9
+ });
10
+ // Create a new PostToConnectionCommand with the connection ID and payload
11
+ const command = new PostToConnectionCommand({
12
+ ConnectionId: connectionId,
13
+ Data: JSON.stringify(payload) // Convert payload to string if necessary
14
+ });
15
+ await apiGatewayManagementApiClient.send(command);
16
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Memoizes a function by caching its return values.
3
+ * @param func The function to memoize.
4
+ * @param ttlInSeconds Time-to-live for the cached values in seconds.
5
+ * @returns The memoized function.
6
+ */
7
+ export declare const memoFunc: <T extends (...args: any[]) => any>(func: T, ttlInSeconds?: number) => T;
@@ -0,0 +1,28 @@
1
+ import NodeCache from 'node-cache';
2
+ const cache = new WeakMap();
3
+ /**
4
+ * Memoizes a function by caching its return values.
5
+ * @param func The function to memoize.
6
+ * @param ttlInSeconds Time-to-live for the cached values in seconds.
7
+ * @returns The memoized function.
8
+ */
9
+ export const memoFunc = (func, ttlInSeconds = 3600) => {
10
+ return ((...args) => {
11
+ // Check if the function has a corresponding cache entry
12
+ if (!cache.has(func)) {
13
+ // Create a new NodeCache instance and store it in the cache
14
+ cache.set(func, new NodeCache({ stdTTL: ttlInSeconds }));
15
+ }
16
+ const cacheKey = JSON.stringify(args);
17
+ const nodeCache = cache.get(func);
18
+ const cachedValue = nodeCache.get(cacheKey);
19
+ if (cachedValue) {
20
+ return cachedValue;
21
+ }
22
+ // Call the original function if the value is not cached
23
+ const result = func(...args);
24
+ // Cache the result for future use
25
+ nodeCache.set(cacheKey, result);
26
+ return result;
27
+ });
28
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Memoizes a function by caching its return values.
3
+ * @param func The function to memoize.
4
+ * @param ttlInSeconds Time-to-live for the cached values in seconds.
5
+ * @returns The memoized function.
6
+ */
7
+ export declare const memoFuncAsync: <T extends (...args: any[]) => any>(func: T, ttlInSeconds?: number) => T;
@@ -0,0 +1,29 @@
1
+ import NodeCache from 'node-cache';
2
+ const cache = new WeakMap();
3
+ /**
4
+ * Memoizes a function by caching its return values.
5
+ * @param func The function to memoize.
6
+ * @param ttlInSeconds Time-to-live for the cached values in seconds.
7
+ * @returns The memoized function.
8
+ */
9
+ export const memoFuncAsync = (func, ttlInSeconds = 3600) => {
10
+ return (async (...args) => {
11
+ if (!cache.has(func)) {
12
+ cache.set(func, new NodeCache({ stdTTL: ttlInSeconds }));
13
+ }
14
+ const cacheKey = JSON.stringify(args);
15
+ const nodeCache = cache.get(func);
16
+ if (nodeCache.has(cacheKey)) {
17
+ return nodeCache.get(cacheKey);
18
+ }
19
+ try {
20
+ // Await the result and then cache it
21
+ const result = await func(...args);
22
+ nodeCache.set(cacheKey, result);
23
+ return result;
24
+ }
25
+ catch (err) {
26
+ throw err; // re-throw the error to be caught by caller
27
+ }
28
+ });
29
+ };
@@ -0,0 +1,2 @@
1
+ export declare const getInvalidationCallerReference: (paths: string[]) => string;
2
+ export declare const invalidateCache: (distributionId: string, region: string, paths: string[]) => Promise<void>;
@@ -0,0 +1,24 @@
1
+ import { CloudFrontClient, CreateInvalidationCommand, } from '@aws-sdk/client-cloudfront';
2
+ import crypto from 'crypto';
3
+ import { createAwsClient } from '../createAwsClient';
4
+ export const getInvalidationCallerReference = (paths) => {
5
+ const allPaths = paths.join('');
6
+ // All paths as a hash
7
+ const allPathHash = crypto.createHash('md5').update(allPaths).digest('hex');
8
+ // Unique key is the now time with all paths hash
9
+ return allPathHash + new Date().toISOString();
10
+ };
11
+ export const invalidateCache = async (distributionId, region, paths) => {
12
+ const cloudFrontClient = createAwsClient(CloudFrontClient, { region });
13
+ const input = {
14
+ DistributionId: distributionId,
15
+ InvalidationBatch: {
16
+ Paths: {
17
+ Quantity: paths.length,
18
+ Items: paths,
19
+ },
20
+ CallerReference: getInvalidationCallerReference(paths),
21
+ },
22
+ };
23
+ await cloudFrontClient.send(new CreateInvalidationCommand(input));
24
+ };
@@ -0,0 +1 @@
1
+ export declare const getExportedValue: (variableName: string, region: string) => Promise<string>;
@@ -0,0 +1,17 @@
1
+ import { CloudFormationClient, ListExportsCommand, } from '@aws-sdk/client-cloudformation';
2
+ import { memoFuncAsync } from '../cache/memoFuncAsync';
3
+ import { createAwsClient } from '../createAwsClient';
4
+ export const getExportedValue = memoFuncAsync(async (variableName, region) => {
5
+ const cloudformation = createAwsClient(CloudFormationClient, { region });
6
+ const listCommandParams = {};
7
+ do {
8
+ const result = await cloudformation.send(new ListExportsCommand(listCommandParams));
9
+ const value = (result.Exports || []).find((e) => e.Name === variableName)?.Value;
10
+ if (value !== undefined) {
11
+ console.log(`CF Found: [${variableName}] = [${value}]`);
12
+ return value;
13
+ }
14
+ listCommandParams.NextToken = result.NextToken;
15
+ } while (!!listCommandParams.NextToken);
16
+ throw new Error(`CF could not find: [${variableName}]`);
17
+ });
@@ -0,0 +1,2 @@
1
+ import { AuthenticateUserResponse } from 'quidproquo-core';
2
+ export declare const authenticateUser: (userPoolId: string, clientId: string, region: string, username: string, password: string) => Promise<AuthenticateUserResponse>;
@@ -0,0 +1,25 @@
1
+ import { CognitoIdentityProviderClient, AdminInitiateAuthCommand, AuthFlowType, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { calculateSecretHash } from './utils/calculateSecretHash';
3
+ import { getUserPoolClientSecret } from './getUserPoolClientSecret';
4
+ import { cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo } from './utils/transformCognitoResponse';
5
+ import { createAwsClient } from '../createAwsClient';
6
+ // TODO: retry for TooManyRequestsException
7
+ export const authenticateUser = async (userPoolId, clientId, region, username, password) => {
8
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
9
+ const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
10
+ const secretHash = calculateSecretHash(username, clientId, clientSecret);
11
+ // Time we issued the request
12
+ const issueDateTime = new Date().toISOString();
13
+ const params = {
14
+ AuthFlow: AuthFlowType.ADMIN_USER_PASSWORD_AUTH,
15
+ UserPoolId: userPoolId,
16
+ ClientId: clientId,
17
+ AuthParameters: {
18
+ USERNAME: username,
19
+ PASSWORD: password,
20
+ SECRET_HASH: secretHash,
21
+ },
22
+ };
23
+ const response = await cognitoClient.send(new AdminInitiateAuthCommand(params));
24
+ return cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo(response, issueDateTime);
25
+ };
@@ -0,0 +1 @@
1
+ export declare const changePassword: (accessToken: string, previousPassword: string, proposedPassword: string, region: string) => Promise<void>;
@@ -0,0 +1,11 @@
1
+ import { CognitoIdentityProviderClient, ChangePasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { createAwsClient } from '../createAwsClient';
3
+ export const changePassword = async (accessToken, previousPassword, proposedPassword, region) => {
4
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
5
+ const params = {
6
+ AccessToken: accessToken,
7
+ PreviousPassword: previousPassword,
8
+ ProposedPassword: proposedPassword,
9
+ };
10
+ await cognitoClient.send(new ChangePasswordCommand(params));
11
+ };
@@ -0,0 +1,10 @@
1
+ import { UserAttributes } from 'quidproquo-core';
2
+ export declare const cognitoAttributeMap: Record<keyof UserAttributes, string>;
3
+ export declare const getCognitoUserAttributesFromQpqUserAttributes: (userAttributes: UserAttributes) => {
4
+ Name: string;
5
+ Value: string;
6
+ }[];
7
+ export declare const getQpqAttributesFromCognitoUserAttributes: (cognitoUserAttributes: {
8
+ Name: string;
9
+ Value: string;
10
+ }[]) => UserAttributes;
@@ -0,0 +1,45 @@
1
+ export const cognitoAttributeMap = {
2
+ email: 'email',
3
+ emailVerified: 'email_verified',
4
+ userId: 'sub',
5
+ address: 'address',
6
+ birthDate: 'birthdate',
7
+ familyName: 'family_name',
8
+ gender: 'gender',
9
+ givenName: 'given_name',
10
+ locale: 'locale',
11
+ middleName: 'middle_name',
12
+ name: 'name',
13
+ nickname: 'nickname',
14
+ phoneNumber: 'phone_number',
15
+ picture: 'picture',
16
+ preferredUsername: 'preferred_username',
17
+ profile: 'profile',
18
+ website: 'website',
19
+ zoneInfo: 'zoneinfo',
20
+ };
21
+ // Flip the cognitoAttributeMap for reverse mapping
22
+ const reversedCognitoAttributeMap = Object.entries(cognitoAttributeMap).reduce((acc, [key, value]) => ({ ...acc, [value]: key }), {});
23
+ export const getCognitoUserAttributesFromQpqUserAttributes = (userAttributes) => {
24
+ return Object.keys(userAttributes)
25
+ .map((key) => ({
26
+ Name: cognitoAttributeMap[key],
27
+ Value: `${userAttributes[key]}`,
28
+ }))
29
+ .filter((attribute) => !!attribute.Name && !!attribute.Value);
30
+ };
31
+ export const getQpqAttributesFromCognitoUserAttributes = (cognitoUserAttributes) => {
32
+ // Map cognitoUserAttributes to your UserAttributes format
33
+ const userAttributes = cognitoUserAttributes.reduce((acc, { Name, Value }) => {
34
+ const userAttributeKey = reversedCognitoAttributeMap[Name];
35
+ if (!userAttributeKey) {
36
+ return acc; // If there's no matching key in your mapping, just continue with the current accumulation
37
+ }
38
+ if (userAttributeKey === 'emailVerified') {
39
+ // Assume the value of 'email_verified' is a string of 'true' or 'false'
40
+ return { ...acc, [userAttributeKey]: Value === 'true' };
41
+ }
42
+ return { ...acc, [userAttributeKey]: Value };
43
+ }, {});
44
+ return userAttributes;
45
+ };
@@ -0,0 +1,2 @@
1
+ import { AuthenticateUserResponse } from 'quidproquo-core';
2
+ export declare const confirmForgotPassword: (userPoolId: string, clientId: string, region: string, code: string, username: string, password: string) => Promise<AuthenticateUserResponse>;
@@ -0,0 +1,21 @@
1
+ import { CognitoIdentityProviderClient, ConfirmForgotPasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { calculateSecretHash } from './utils/calculateSecretHash';
3
+ import { getUserPoolClientSecret } from './getUserPoolClientSecret';
4
+ import { authenticateUser } from './authenticateUser';
5
+ import { createAwsClient } from '../createAwsClient';
6
+ export const confirmForgotPassword = async (userPoolId, clientId, region, code, username, password) => {
7
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
8
+ const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
9
+ const secretHash = calculateSecretHash(username, clientId, clientSecret);
10
+ const params = {
11
+ ClientId: clientId,
12
+ ConfirmationCode: code,
13
+ SecretHash: secretHash,
14
+ Password: password,
15
+ Username: username,
16
+ };
17
+ await cognitoClient.send(new ConfirmForgotPasswordCommand(params));
18
+ // Authenticate the user
19
+ const authResponse = await authenticateUser(userPoolId, clientId, region, username, password);
20
+ return authResponse;
21
+ };
@@ -0,0 +1,2 @@
1
+ import { CreateUserRequest, AuthenticateUserResponse } from 'quidproquo-core';
2
+ export declare const createUser: (userPoolId: string, region: string, clientId: string, createUserRequest: CreateUserRequest) => Promise<AuthenticateUserResponse>;
@@ -0,0 +1,26 @@
1
+ import { CognitoIdentityProviderClient, AdminCreateUserCommand, DeliveryMediumType, MessageActionType, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { authenticateUser } from './authenticateUser';
3
+ import { setUserPassword } from './setUserPassword';
4
+ import { getCognitoUserAttributesFromQpqUserAttributes } from './cognitoAttributeMap';
5
+ import { createAwsClient } from '../createAwsClient';
6
+ export const createUser = async (userPoolId, region, clientId, createUserRequest) => {
7
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
8
+ const params = {
9
+ UserPoolId: userPoolId,
10
+ Username: createUserRequest.email,
11
+ MessageAction: MessageActionType.SUPPRESS,
12
+ DesiredDeliveryMediums: [DeliveryMediumType.EMAIL],
13
+ UserAttributes: getCognitoUserAttributesFromQpqUserAttributes(createUserRequest),
14
+ ForceAliasCreation: false,
15
+ };
16
+ if (createUserRequest.phoneNumber) {
17
+ params.DesiredDeliveryMediums.push(DeliveryMediumType.SMS);
18
+ }
19
+ const response = await cognitoClient.send(new AdminCreateUserCommand(params));
20
+ const username = response.User?.Username || '';
21
+ // Set the user's password
22
+ await setUserPassword(region, userPoolId, username, createUserRequest.password);
23
+ // Authenticate the user
24
+ const authResponse = await authenticateUser(userPoolId, clientId, region, username, createUserRequest.password);
25
+ return authResponse;
26
+ };
@@ -0,0 +1,5 @@
1
+ export type AuthInfo = {
2
+ userId: string;
3
+ username: string;
4
+ };
5
+ export declare const decodeValidJwt: (userPoolId: string, region: string, ignoreExpiration: boolean, accessToken?: string) => Promise<AuthInfo | null>;
@@ -0,0 +1,30 @@
1
+ import { verify, decode } from 'jsonwebtoken';
2
+ import jwksClient from 'jwks-rsa';
3
+ export const decodeValidJwt = async (userPoolId, region, ignoreExpiration, accessToken) => {
4
+ if (!accessToken) {
5
+ return null;
6
+ }
7
+ try {
8
+ const decodedToken = decode(accessToken, { complete: true });
9
+ if (!decodedToken) {
10
+ return null;
11
+ }
12
+ const client = jwksClient({
13
+ jwksUri: `https://cognito-idp.${region}.amazonaws.com/${userPoolId}/.well-known/jwks.json`,
14
+ });
15
+ const key = await client.getSigningKey(decodedToken.header.kid);
16
+ const signingKey = key.getPublicKey();
17
+ const payload = verify(accessToken, signingKey, {
18
+ algorithms: ['RS256'],
19
+ ignoreExpiration,
20
+ });
21
+ return {
22
+ userId: payload.sub,
23
+ username: payload.username,
24
+ };
25
+ }
26
+ catch (e) {
27
+ console.log('Failed to decode jwt token', e);
28
+ return null;
29
+ }
30
+ };
@@ -0,0 +1,2 @@
1
+ import { AuthenticationDeliveryDetails } from 'quidproquo-core';
2
+ export declare const forgotPassword: (userPoolId: string, clientId: string, region: string, username: string) => Promise<AuthenticationDeliveryDetails>;
@@ -0,0 +1,24 @@
1
+ import { CognitoIdentityProviderClient, ForgotPasswordCommand, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { calculateSecretHash } from './utils/calculateSecretHash';
3
+ import { getUserPoolClientSecret } from './getUserPoolClientSecret';
4
+ import { createAwsClient } from '../createAwsClient';
5
+ export const forgotPassword = async (userPoolId, clientId, region, username) => {
6
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
7
+ const clientSecret = await getUserPoolClientSecret(userPoolId, clientId, region);
8
+ const secretHash = calculateSecretHash(username, clientId, clientSecret);
9
+ const params = {
10
+ ClientId: clientId,
11
+ Username: username,
12
+ SecretHash: secretHash,
13
+ ClientMetadata: {
14
+ userInitiated: 'true',
15
+ },
16
+ };
17
+ const response = await cognitoClient.send(new ForgotPasswordCommand(params));
18
+ const deliveryInfo = {
19
+ attributeName: response.CodeDeliveryDetails.AttributeName || 'email',
20
+ destination: response.CodeDeliveryDetails.Destination || 'unknown@email.com',
21
+ deliveryMedium: response.CodeDeliveryDetails.DeliveryMedium || 'EMAIL',
22
+ };
23
+ return deliveryInfo;
24
+ };
@@ -0,0 +1,10 @@
1
+ export interface UserAttributes {
2
+ [attribute: string]: string;
3
+ }
4
+ export interface User {
5
+ id: string;
6
+ username: string;
7
+ email: string;
8
+ userAttributes: UserAttributes;
9
+ }
10
+ export declare const getUser: (accessToken: string, region: string) => Promise<User>;
@@ -0,0 +1,23 @@
1
+ import { CognitoIdentityProviderClient, GetUserCommand, } from '@aws-sdk/client-cognito-identity-provider';
2
+ import { createAwsClient } from '../createAwsClient';
3
+ const getUserAttribute = (attributeName, userAttributes) => {
4
+ const lowerAttributeName = attributeName.toLowerCase();
5
+ const attribute = userAttributes.find((k) => k.Name?.toLowerCase() === lowerAttributeName);
6
+ return attribute?.Value;
7
+ };
8
+ export const getUser = async (accessToken, region) => {
9
+ const cognitoClient = createAwsClient(CognitoIdentityProviderClient, { region });
10
+ const params = {
11
+ AccessToken: accessToken,
12
+ };
13
+ const response = await cognitoClient.send(new GetUserCommand(params));
14
+ const attributeTypes = (response.UserAttributes || []).filter((ua) => !!ua.Value);
15
+ const userAttributes = attributeTypes.reduce((acc, ua) => ({ ...acc, [ua.Name]: ua.Value }), {});
16
+ const user = {
17
+ username: response.Username,
18
+ id: getUserAttribute('sub', attributeTypes),
19
+ email: getUserAttribute('email', attributeTypes),
20
+ userAttributes,
21
+ };
22
+ return user;
23
+ };