@webiny/api-sync-system 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/index.js +0 -2
  4. package/package.json +14 -14
  5. package/resolver/app/RecordHandler.js +83 -105
  6. package/resolver/app/RecordHandler.js.map +1 -1
  7. package/resolver/app/RecordsValidation.js +11 -14
  8. package/resolver/app/RecordsValidation.js.map +1 -1
  9. package/resolver/app/ResolverApplication.js +24 -31
  10. package/resolver/app/ResolverApplication.js.map +1 -1
  11. package/resolver/app/abstractions/RecordHandler.js +0 -3
  12. package/resolver/app/abstractions/RecordsValidation.js +0 -3
  13. package/resolver/app/abstractions/ResolverApplication.js +0 -3
  14. package/resolver/app/abstractions/ResolverRecord.js +0 -3
  15. package/resolver/app/bundler/BaseBundle.js +17 -16
  16. package/resolver/app/bundler/BaseBundle.js.map +1 -1
  17. package/resolver/app/bundler/Bundler.js +13 -18
  18. package/resolver/app/bundler/Bundler.js.map +1 -1
  19. package/resolver/app/bundler/Bundles.js +21 -26
  20. package/resolver/app/bundler/Bundles.js.map +1 -1
  21. package/resolver/app/bundler/CommandBundle.js +7 -16
  22. package/resolver/app/bundler/CommandBundle.js.map +1 -1
  23. package/resolver/app/bundler/TableBundle.js +6 -13
  24. package/resolver/app/bundler/TableBundle.js.map +1 -1
  25. package/resolver/app/bundler/types.js +0 -3
  26. package/resolver/app/commandHandler/DeleteCommandHandler.js +22 -29
  27. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
  28. package/resolver/app/commandHandler/PutCommandHandler.js +16 -22
  29. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
  30. package/resolver/app/commandHandler/delete.js +11 -12
  31. package/resolver/app/commandHandler/delete.js.map +1 -1
  32. package/resolver/app/commandHandler/put.js +11 -12
  33. package/resolver/app/commandHandler/put.js.map +1 -1
  34. package/resolver/app/data/SourceDataContainer.js +28 -30
  35. package/resolver/app/data/SourceDataContainer.js.map +1 -1
  36. package/resolver/app/data/types.js +0 -3
  37. package/resolver/app/fetcher/Fetcher.js +84 -109
  38. package/resolver/app/fetcher/Fetcher.js.map +1 -1
  39. package/resolver/app/fetcher/types.js +0 -3
  40. package/resolver/app/ingestor/Ingestor.js +27 -32
  41. package/resolver/app/ingestor/Ingestor.js.map +1 -1
  42. package/resolver/app/ingestor/IngestorResult.js +28 -32
  43. package/resolver/app/ingestor/IngestorResult.js.map +1 -1
  44. package/resolver/app/ingestor/types.js +0 -3
  45. package/resolver/app/storer/Storer.js +71 -85
  46. package/resolver/app/storer/Storer.js.map +1 -1
  47. package/resolver/app/storer/types.js +0 -3
  48. package/resolver/app/transform/TransformHandler.js +45 -56
  49. package/resolver/app/transform/TransformHandler.js.map +1 -1
  50. package/resolver/app/transform/middleware.js +13 -20
  51. package/resolver/app/transform/middleware.js.map +1 -1
  52. package/resolver/app/utils/Retry.js +21 -24
  53. package/resolver/app/utils/Retry.js.map +1 -1
  54. package/resolver/app/utils/sleep.js +4 -5
  55. package/resolver/app/utils/sleep.js.map +1 -1
  56. package/resolver/app/validation/body.js +26 -31
  57. package/resolver/app/validation/body.js.map +1 -1
  58. package/resolver/app/validation/createJsonTransform.js +12 -13
  59. package/resolver/app/validation/createJsonTransform.js.map +1 -1
  60. package/resolver/app/validation/detail.js +30 -35
  61. package/resolver/app/validation/detail.js.map +1 -1
  62. package/resolver/app/validation/event.js +17 -18
  63. package/resolver/app/validation/event.js.map +1 -1
  64. package/resolver/app/validation/numericString.js +8 -11
  65. package/resolver/app/validation/numericString.js.map +1 -1
  66. package/resolver/app/validation/system.js +8 -9
  67. package/resolver/app/validation/system.js.map +1 -1
  68. package/resolver/createEventHandlerPlugin.js +70 -99
  69. package/resolver/createEventHandlerPlugin.js.map +1 -1
  70. package/resolver/createResolverHandler.js +49 -57
  71. package/resolver/createResolverHandler.js.map +1 -1
  72. package/resolver/deployment/Deployment.js +28 -31
  73. package/resolver/deployment/Deployment.js.map +1 -1
  74. package/resolver/deployment/Deployments.js +20 -23
  75. package/resolver/deployment/Deployments.js.map +1 -1
  76. package/resolver/deployment/DeploymentsFetcher.js +75 -84
  77. package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
  78. package/resolver/deployment/types.js +0 -3
  79. package/resolver/lambda/LambdaTrigger.js +24 -26
  80. package/resolver/lambda/LambdaTrigger.js.map +1 -1
  81. package/resolver/plugins/CommandHandlerPlugin.js +16 -15
  82. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
  83. package/resolver/plugins/StorerAfterEachPlugin.js +20 -19
  84. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
  85. package/resolver/plugins/TransformRecordPlugin.js +19 -18
  86. package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
  87. package/resolver/recordTypes/fileManager/CopyFile.js +44 -67
  88. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
  89. package/resolver/recordTypes/fileManager/DeleteFile.js +40 -58
  90. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
  91. package/resolver/recordTypes/fileManager/fileManager.js +5 -3
  92. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
  93. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +24 -35
  94. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
  95. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +24 -35
  96. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
  97. package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -27
  98. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
  99. package/resolver/recordTypes/fileManager/types.js +0 -3
  100. package/resolver/recordTypes/users/CopyUser.js +44 -54
  101. package/resolver/recordTypes/users/CopyUser.js.map +1 -1
  102. package/resolver/recordTypes/users/DeleteUser.js +40 -51
  103. package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
  104. package/resolver/recordTypes/users/shouldBeHandled.js +10 -26
  105. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
  106. package/resolver/recordTypes/users/types.js +0 -3
  107. package/resolver/recordTypes/users/users.js +5 -3
  108. package/resolver/recordTypes/users/users.js.map +1 -1
  109. package/resolver/recordTypes/users/usersOnDelete.js +23 -34
  110. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
  111. package/resolver/recordTypes/users/usersOnPut.js +24 -35
  112. package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
  113. package/sync/FilterOutRecord.js +9 -17
  114. package/sync/FilterOutRecord.js.map +1 -1
  115. package/sync/attachToDynamoDbDocument.js +46 -65
  116. package/sync/attachToDynamoDbDocument.js.map +1 -1
  117. package/sync/createHandler.js +31 -40
  118. package/sync/createHandler.js.map +1 -1
  119. package/sync/createSendDataToEventBridgeOnRequestEnd.js +32 -37
  120. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +1 -1
  121. package/sync/createSyncSystem.js +24 -26
  122. package/sync/createSyncSystem.js.map +1 -1
  123. package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -76
  124. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
  125. package/sync/handler/Handler.js +64 -76
  126. package/sync/handler/Handler.js.map +1 -1
  127. package/sync/handler/HandlerConverter.js +21 -29
  128. package/sync/handler/HandlerConverter.js.map +1 -1
  129. package/sync/handler/converter/BatchGetCommandConverter.js +12 -11
  130. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
  131. package/sync/handler/converter/BatchWriteCommandConverter.js +12 -11
  132. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
  133. package/sync/handler/converter/DeleteCommandConverter.js +12 -11
  134. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
  135. package/sync/handler/converter/GetCommandConverter.js +12 -11
  136. package/sync/handler/converter/GetCommandConverter.js.map +1 -1
  137. package/sync/handler/converter/PutCommandConverter.js +12 -11
  138. package/sync/handler/converter/PutCommandConverter.js.map +1 -1
  139. package/sync/handler/converter/QueryCommandConverter.js +12 -11
  140. package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
  141. package/sync/handler/converter/ScanCommandConverter.js +12 -11
  142. package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
  143. package/sync/handler/converter/UpdateCommandConverter.js +12 -11
  144. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
  145. package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -37
  146. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
  147. package/sync/handler/converter/commands/DeleteCommandValue.js +19 -16
  148. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
  149. package/sync/handler/converter/commands/NullCommandValue.js +8 -8
  150. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
  151. package/sync/handler/converter/commands/PutCommandValue.js +19 -16
  152. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
  153. package/sync/handler/converter/commands/UpdateCommandValue.js +19 -16
  154. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
  155. package/sync/handler/types.js +0 -3
  156. package/sync/plugins/FilterOutRecordPlugin.js +17 -19
  157. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
  158. package/sync/requestPlugin.js +33 -48
  159. package/sync/requestPlugin.js.map +1 -1
  160. package/sync/types.js +0 -3
  161. package/sync/utils/getTableType.js +10 -9
  162. package/sync/utils/getTableType.js.map +1 -1
  163. package/sync/utils/manifest.js +28 -35
  164. package/sync/utils/manifest.js.map +1 -1
  165. package/sync/utils/validateSystemInput.js +21 -29
  166. package/sync/utils/validateSystemInput.js.map +1 -1
  167. package/types.js +6 -5
  168. package/types.js.map +1 -1
  169. package/utils/createSystemName.js +5 -3
  170. package/utils/createSystemName.js.map +1 -1
  171. package/worker/actions/copyFile/CopyFile.js +183 -258
  172. package/worker/actions/copyFile/CopyFile.js.map +1 -1
  173. package/worker/actions/copyFile/copyFileAction.js +26 -34
  174. package/worker/actions/copyFile/copyFileAction.js.map +1 -1
  175. package/worker/actions/copyFile/copyFileSchema.js +13 -14
  176. package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
  177. package/worker/actions/copyFile/types.js +0 -3
  178. package/worker/actions/createUser/CreateUser.js +51 -74
  179. package/worker/actions/createUser/CreateUser.js.map +1 -1
  180. package/worker/actions/createUser/createUserAction.js +24 -28
  181. package/worker/actions/createUser/createUserAction.js.map +1 -1
  182. package/worker/actions/createUser/createUserSchema.js +13 -14
  183. package/worker/actions/createUser/createUserSchema.js.map +1 -1
  184. package/worker/actions/createUser/types.js +0 -3
  185. package/worker/actions/deleteFile/DeleteFile.js +52 -67
  186. package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
  187. package/worker/actions/deleteFile/deleteFileAction.js +21 -29
  188. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
  189. package/worker/actions/deleteFile/deleteFileSchema.js +13 -14
  190. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
  191. package/worker/actions/deleteFile/types.js +0 -3
  192. package/worker/actions/deleteUser/DeleteUser.js +38 -52
  193. package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
  194. package/worker/actions/deleteUser/deleteUserAction.js +22 -26
  195. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
  196. package/worker/actions/deleteUser/deleteUserSchema.js +12 -13
  197. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
  198. package/worker/actions/deleteUser/types.js +0 -3
  199. package/worker/actions/logValidationError.js +5 -6
  200. package/worker/actions/logValidationError.js.map +1 -1
  201. package/worker/actions/removeCognitoUserAttributes.js +9 -15
  202. package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
  203. package/worker/actions/updateUser/UpdateUser.js +48 -65
  204. package/worker/actions/updateUser/UpdateUser.js.map +1 -1
  205. package/worker/actions/updateUser/types.js +0 -3
  206. package/worker/actions/updateUser/updateUserAction.js +24 -28
  207. package/worker/actions/updateUser/updateUserAction.js.map +1 -1
  208. package/worker/actions/updateUser/updateUserSchema.js +13 -14
  209. package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
  210. package/worker/createWorkerHandler.js +24 -30
  211. package/worker/createWorkerHandler.js.map +1 -1
  212. package/worker/handler/WorkerActionHandler.js +19 -21
  213. package/worker/handler/WorkerActionHandler.js.map +1 -1
  214. package/worker/handler/eventHandler.js +14 -16
  215. package/worker/handler/eventHandler.js.map +1 -1
  216. package/worker/plugins/WorkerActionPlugin.js +17 -16
  217. package/worker/plugins/WorkerActionPlugin.js.map +1 -1
  218. package/worker/types.js +0 -3
  219. package/index.js.map +0 -1
  220. package/resolver/app/abstractions/RecordHandler.js.map +0 -1
  221. package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
  222. package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
  223. package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
  224. package/resolver/app/bundler/types.js.map +0 -1
  225. package/resolver/app/data/types.js.map +0 -1
  226. package/resolver/app/fetcher/types.js.map +0 -1
  227. package/resolver/app/ingestor/types.js.map +0 -1
  228. package/resolver/app/storer/types.js.map +0 -1
  229. package/resolver/deployment/types.js.map +0 -1
  230. package/resolver/recordTypes/fileManager/types.js.map +0 -1
  231. package/resolver/recordTypes/users/types.js.map +0 -1
  232. package/sync/handler/types.js.map +0 -1
  233. package/sync/types.js.map +0 -1
  234. package/worker/actions/copyFile/types.js.map +0 -1
  235. package/worker/actions/createUser/types.js.map +0 -1
  236. package/worker/actions/deleteFile/types.js.map +0 -1
  237. package/worker/actions/deleteUser/types.js.map +0 -1
  238. package/worker/actions/updateUser/types.js.map +0 -1
  239. package/worker/types.js.map +0 -1
@@ -1,58 +1,47 @@
1
1
  import { AdminGetUserCommand } from "@webiny/aws-sdk/client-cognito-identity-provider/index.js";
2
- export class DeleteUser {
3
- constructor(params) {
4
- this.createCognitoIdentityProviderClient = params.createCognitoIdentityProviderClient;
5
- this.getLambdaTrigger = params.getLambdaTrigger;
6
- }
7
- async handle(params) {
8
- const {
9
- username,
10
- target
11
- } = params;
12
- const exists = await this.userExists({
13
- username,
14
- userPoolId: target.services.cognitoUserPoolId,
15
- region: target.region
16
- });
17
- if (!exists) {
18
- return null;
2
+ class DeleteUser {
3
+ constructor(params){
4
+ this.createCognitoIdentityProviderClient = params.createCognitoIdentityProviderClient;
5
+ this.getLambdaTrigger = params.getLambdaTrigger;
19
6
  }
20
- return await this.getLambdaTrigger().handle({
21
- invocationType: "Event",
22
- payload: {
23
- /**
24
- * We need to be able to create or update a user, depending on whether it already exists in the target user pool.
25
- */
26
- action: "deleteUser",
27
- username,
28
- target: {
29
- region: target.region,
30
- userPoolId: target.services.cognitoUserPoolId
7
+ async handle(params) {
8
+ const { username, target } = params;
9
+ const exists = await this.userExists({
10
+ username,
11
+ userPoolId: target.services.cognitoUserPoolId,
12
+ region: target.region
13
+ });
14
+ if (!exists) return null;
15
+ return await this.getLambdaTrigger().handle({
16
+ invocationType: "Event",
17
+ payload: {
18
+ action: "deleteUser",
19
+ username,
20
+ target: {
21
+ region: target.region,
22
+ userPoolId: target.services.cognitoUserPoolId
23
+ }
24
+ }
25
+ });
26
+ }
27
+ async userExists(params) {
28
+ const { userPoolId, username, region } = params;
29
+ const provider = this.createCognitoIdentityProviderClient({
30
+ region
31
+ });
32
+ const input = {
33
+ UserPoolId: userPoolId,
34
+ Username: username
35
+ };
36
+ const cmd = new AdminGetUserCommand(input);
37
+ try {
38
+ const result = await provider.send(cmd);
39
+ return result.$metadata?.httpStatusCode === 200;
40
+ } catch {
41
+ return false;
31
42
  }
32
- }
33
- });
34
- }
35
- async userExists(params) {
36
- const {
37
- userPoolId,
38
- username,
39
- region
40
- } = params;
41
- const provider = this.createCognitoIdentityProviderClient({
42
- region
43
- });
44
- const input = {
45
- UserPoolId: userPoolId,
46
- Username: username
47
- };
48
- const cmd = new AdminGetUserCommand(input);
49
- try {
50
- const result = await provider.send(cmd);
51
- return result.$metadata?.httpStatusCode === 200;
52
- } catch {
53
- return false;
54
43
  }
55
- }
56
44
  }
45
+ export { DeleteUser };
57
46
 
58
47
  //# sourceMappingURL=DeleteUser.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AdminGetUserCommand","DeleteUser","constructor","params","createCognitoIdentityProviderClient","getLambdaTrigger","handle","username","target","exists","userExists","userPoolId","services","cognitoUserPoolId","region","invocationType","payload","action","provider","input","UserPoolId","Username","cmd","result","send","$metadata","httpStatusCode"],"sources":["DeleteUser.ts"],"sourcesContent":["import type {\n ICreateCognitoIdentityProviderClientCb,\n IDeleteUser,\n IDeleteUserHandleParams\n} from \"./types.js\";\nimport type { LambdaTrigger } from \"~/resolver/lambda/LambdaTrigger.js\";\nimport type { InvokeCommandOutput } from \"@webiny/aws-sdk/client-lambda/index.js\";\nimport type { AdminGetUserCommandInput } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { AdminGetUserCommand } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport type { IDeleteUserLambdaPayload } from \"~/types.js\";\n\ninterface IGetUserParams {\n username: string;\n userPoolId: string;\n region: string;\n}\n\nexport interface IGetLambdaTriggerCb {\n (): LambdaTrigger<IDeleteUserLambdaPayload>;\n}\n\nexport interface IDeleteUserParams {\n createCognitoIdentityProviderClient: ICreateCognitoIdentityProviderClientCb;\n getLambdaTrigger: IGetLambdaTriggerCb;\n}\n\nexport class DeleteUser implements IDeleteUser {\n private readonly createCognitoIdentityProviderClient: ICreateCognitoIdentityProviderClientCb;\n private readonly getLambdaTrigger: IGetLambdaTriggerCb;\n\n public constructor(params: IDeleteUserParams) {\n this.createCognitoIdentityProviderClient = params.createCognitoIdentityProviderClient;\n this.getLambdaTrigger = params.getLambdaTrigger;\n }\n\n public async handle(params: IDeleteUserHandleParams): Promise<InvokeCommandOutput | null> {\n const { username, target } = params;\n\n const exists = await this.userExists({\n username,\n userPoolId: target.services.cognitoUserPoolId,\n region: target.region\n });\n if (!exists) {\n return null;\n }\n\n return await this.getLambdaTrigger().handle({\n invocationType: \"Event\",\n payload: {\n /**\n * We need to be able to create or update a user, depending on whether it already exists in the target user pool.\n */\n action: \"deleteUser\",\n username,\n target: {\n region: target.region,\n userPoolId: target.services.cognitoUserPoolId\n }\n }\n });\n }\n\n private async userExists(params: IGetUserParams): Promise<boolean> {\n const { userPoolId, username, region } = params;\n\n const provider = this.createCognitoIdentityProviderClient({\n region\n });\n\n const input: AdminGetUserCommandInput = {\n UserPoolId: userPoolId,\n Username: username\n };\n const cmd = new AdminGetUserCommand(input);\n try {\n const result = await provider.send(cmd);\n return result.$metadata?.httpStatusCode === 200;\n } catch {\n return false;\n }\n }\n}\n"],"mappings":"AAQA,SAASA,mBAAmB,QAAQ,2DAA2D;AAkB/F,OAAO,MAAMC,UAAU,CAAwB;EAIpCC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,IAAI,CAACC,mCAAmC,GAAGD,MAAM,CAACC,mCAAmC;IACrF,IAAI,CAACC,gBAAgB,GAAGF,MAAM,CAACE,gBAAgB;EACnD;EAEA,MAAaC,MAAMA,CAACH,MAA+B,EAAuC;IACtF,MAAM;MAAEI,QAAQ;MAAEC;IAAO,CAAC,GAAGL,MAAM;IAEnC,MAAMM,MAAM,GAAG,MAAM,IAAI,CAACC,UAAU,CAAC;MACjCH,QAAQ;MACRI,UAAU,EAAEH,MAAM,CAACI,QAAQ,CAACC,iBAAiB;MAC7CC,MAAM,EAAEN,MAAM,CAACM;IACnB,CAAC,CAAC;IACF,IAAI,CAACL,MAAM,EAAE;MACT,OAAO,IAAI;IACf;IAEA,OAAO,MAAM,IAAI,CAACJ,gBAAgB,CAAC,CAAC,CAACC,MAAM,CAAC;MACxCS,cAAc,EAAE,OAAO;MACvBC,OAAO,EAAE;QACL;AAChB;AACA;QACgBC,MAAM,EAAE,YAAY;QACpBV,QAAQ;QACRC,MAAM,EAAE;UACJM,MAAM,EAAEN,MAAM,CAACM,MAAM;UACrBH,UAAU,EAAEH,MAAM,CAACI,QAAQ,CAACC;QAChC;MACJ;IACJ,CAAC,CAAC;EACN;EAEA,MAAcH,UAAUA,CAACP,MAAsB,EAAoB;IAC/D,MAAM;MAAEQ,UAAU;MAAEJ,QAAQ;MAAEO;IAAO,CAAC,GAAGX,MAAM;IAE/C,MAAMe,QAAQ,GAAG,IAAI,CAACd,mCAAmC,CAAC;MACtDU;IACJ,CAAC,CAAC;IAEF,MAAMK,KAA+B,GAAG;MACpCC,UAAU,EAAET,UAAU;MACtBU,QAAQ,EAAEd;IACd,CAAC;IACD,MAAMe,GAAG,GAAG,IAAItB,mBAAmB,CAACmB,KAAK,CAAC;IAC1C,IAAI;MACA,MAAMI,MAAM,GAAG,MAAML,QAAQ,CAACM,IAAI,CAACF,GAAG,CAAC;MACvC,OAAOC,MAAM,CAACE,SAAS,EAAEC,cAAc,KAAK,GAAG;IACnD,CAAC,CAAC,MAAM;MACJ,OAAO,KAAK;IAChB;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"resolver/recordTypes/users/DeleteUser.js","sources":["../../../../src/resolver/recordTypes/users/DeleteUser.ts"],"sourcesContent":["import type {\n ICreateCognitoIdentityProviderClientCb,\n IDeleteUser,\n IDeleteUserHandleParams\n} from \"./types.js\";\nimport type { LambdaTrigger } from \"~/resolver/lambda/LambdaTrigger.js\";\nimport type { InvokeCommandOutput } from \"@webiny/aws-sdk/client-lambda/index.js\";\nimport type { AdminGetUserCommandInput } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { AdminGetUserCommand } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport type { IDeleteUserLambdaPayload } from \"~/types.js\";\n\ninterface IGetUserParams {\n username: string;\n userPoolId: string;\n region: string;\n}\n\nexport interface IGetLambdaTriggerCb {\n (): LambdaTrigger<IDeleteUserLambdaPayload>;\n}\n\nexport interface IDeleteUserParams {\n createCognitoIdentityProviderClient: ICreateCognitoIdentityProviderClientCb;\n getLambdaTrigger: IGetLambdaTriggerCb;\n}\n\nexport class DeleteUser implements IDeleteUser {\n private readonly createCognitoIdentityProviderClient: ICreateCognitoIdentityProviderClientCb;\n private readonly getLambdaTrigger: IGetLambdaTriggerCb;\n\n public constructor(params: IDeleteUserParams) {\n this.createCognitoIdentityProviderClient = params.createCognitoIdentityProviderClient;\n this.getLambdaTrigger = params.getLambdaTrigger;\n }\n\n public async handle(params: IDeleteUserHandleParams): Promise<InvokeCommandOutput | null> {\n const { username, target } = params;\n\n const exists = await this.userExists({\n username,\n userPoolId: target.services.cognitoUserPoolId,\n region: target.region\n });\n if (!exists) {\n return null;\n }\n\n return await this.getLambdaTrigger().handle({\n invocationType: \"Event\",\n payload: {\n /**\n * We need to be able to create or update a user, depending on whether it already exists in the target user pool.\n */\n action: \"deleteUser\",\n username,\n target: {\n region: target.region,\n userPoolId: target.services.cognitoUserPoolId\n }\n }\n });\n }\n\n private async userExists(params: IGetUserParams): Promise<boolean> {\n const { userPoolId, username, region } = params;\n\n const provider = this.createCognitoIdentityProviderClient({\n region\n });\n\n const input: AdminGetUserCommandInput = {\n UserPoolId: userPoolId,\n Username: username\n };\n const cmd = new AdminGetUserCommand(input);\n try {\n const result = await provider.send(cmd);\n return result.$metadata?.httpStatusCode === 200;\n } catch {\n return false;\n }\n }\n}\n"],"names":["DeleteUser","params","username","target","exists","userPoolId","region","provider","input","cmd","AdminGetUserCommand","result"],"mappings":";AA0BO,MAAMA;IAIT,YAAmBC,MAAyB,CAAE;QAC1C,IAAI,CAAC,mCAAmC,GAAGA,OAAO,mCAAmC;QACrF,IAAI,CAAC,gBAAgB,GAAGA,OAAO,gBAAgB;IACnD;IAEA,MAAa,OAAOA,MAA+B,EAAuC;QACtF,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGF;QAE7B,MAAMG,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC;YACjCF;YACA,YAAYC,OAAO,QAAQ,CAAC,iBAAiB;YAC7C,QAAQA,OAAO,MAAM;QACzB;QACA,IAAI,CAACC,QACD,OAAO;QAGX,OAAO,MAAM,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;YACxC,gBAAgB;YAChB,SAAS;gBAIL,QAAQ;gBACRF;gBACA,QAAQ;oBACJ,QAAQC,OAAO,MAAM;oBACrB,YAAYA,OAAO,QAAQ,CAAC,iBAAiB;gBACjD;YACJ;QACJ;IACJ;IAEA,MAAc,WAAWF,MAAsB,EAAoB;QAC/D,MAAM,EAAEI,UAAU,EAAEH,QAAQ,EAAEI,MAAM,EAAE,GAAGL;QAEzC,MAAMM,WAAW,IAAI,CAAC,mCAAmC,CAAC;YACtDD;QACJ;QAEA,MAAME,QAAkC;YACpC,YAAYH;YACZ,UAAUH;QACd;QACA,MAAMO,MAAM,IAAIC,oBAAoBF;QACpC,IAAI;YACA,MAAMG,SAAS,MAAMJ,SAAS,IAAI,CAACE;YACnC,OAAOE,OAAO,SAAS,EAAE,mBAAmB;QAChD,EAAE,OAAM;YACJ,OAAO;QACX;IACJ;AACJ"}
@@ -1,29 +1,13 @@
1
- export const shouldBeHandled = params => {
2
- const {
3
- item,
4
- table,
5
- source,
6
- target
7
- } = params;
8
- if (table.type !== "regular") {
9
- return false;
10
- } else if (item.PK.includes("#ADMIN_USER#") === false) {
11
- return false;
12
- } else if (item.SK !== "A") {
13
- return false;
14
- } else if (item.TYPE !== "adminUsers.user") {
15
- return false;
16
- } else if (!source.services.cognitoUserPoolId || !target.services.cognitoUserPoolId) {
17
- return false;
18
- }
19
- /**
20
- * TODO verify that email is always present in Cognito users.
21
- */
22
- // @ts-expect-error
23
- else if (!item.data?.email) {
24
- return false;
25
- }
26
- return true;
1
+ const shouldBeHandled = (params)=>{
2
+ const { item, table, source, target } = params;
3
+ if ("regular" !== table.type) return false;
4
+ if (false === item.PK.includes("#ADMIN_USER#")) return false;
5
+ if ("A" !== item.SK) return false;
6
+ if ("adminUsers.user" !== item.TYPE) return false;
7
+ if (!source.services.cognitoUserPoolId || !target.services.cognitoUserPoolId) return false;
8
+ else if (!item.data?.email) return false;
9
+ return true;
27
10
  };
11
+ export { shouldBeHandled };
28
12
 
29
13
  //# sourceMappingURL=shouldBeHandled.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["shouldBeHandled","params","item","table","source","target","type","PK","includes","SK","TYPE","services","cognitoUserPoolId","data","email"],"sources":["shouldBeHandled.ts"],"sourcesContent":["import type { IStorerAfterEachPluginCanHandleParams } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\n\nexport const shouldBeHandled = (params: IStorerAfterEachPluginCanHandleParams): boolean => {\n const { item, table, source, target } = params;\n if (table.type !== \"regular\") {\n return false;\n } else if (item.PK.includes(\"#ADMIN_USER#\") === false) {\n return false;\n } else if (item.SK !== \"A\") {\n return false;\n } else if (item.TYPE !== \"adminUsers.user\") {\n return false;\n } else if (!source.services.cognitoUserPoolId || !target.services.cognitoUserPoolId) {\n return false;\n }\n /**\n * TODO verify that email is always present in Cognito users.\n */\n // @ts-expect-error\n else if (!item.data?.email) {\n return false;\n }\n return true;\n};\n"],"mappings":"AAEA,OAAO,MAAMA,eAAe,GAAIC,MAA6C,IAAc;EACvF,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EAC9C,IAAIE,KAAK,CAACG,IAAI,KAAK,SAAS,EAAE;IAC1B,OAAO,KAAK;EAChB,CAAC,MAAM,IAAIJ,IAAI,CAACK,EAAE,CAACC,QAAQ,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;IACnD,OAAO,KAAK;EAChB,CAAC,MAAM,IAAIN,IAAI,CAACO,EAAE,KAAK,GAAG,EAAE;IACxB,OAAO,KAAK;EAChB,CAAC,MAAM,IAAIP,IAAI,CAACQ,IAAI,KAAK,iBAAiB,EAAE;IACxC,OAAO,KAAK;EAChB,CAAC,MAAM,IAAI,CAACN,MAAM,CAACO,QAAQ,CAACC,iBAAiB,IAAI,CAACP,MAAM,CAACM,QAAQ,CAACC,iBAAiB,EAAE;IACjF,OAAO,KAAK;EAChB;EACA;AACJ;AACA;EACI;EAAA,KACK,IAAI,CAACV,IAAI,CAACW,IAAI,EAAEC,KAAK,EAAE;IACxB,OAAO,KAAK;EAChB;EACA,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/recordTypes/users/shouldBeHandled.js","sources":["../../../../src/resolver/recordTypes/users/shouldBeHandled.ts"],"sourcesContent":["import type { IStorerAfterEachPluginCanHandleParams } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\n\nexport const shouldBeHandled = (params: IStorerAfterEachPluginCanHandleParams): boolean => {\n const { item, table, source, target } = params;\n if (table.type !== \"regular\") {\n return false;\n } else if (item.PK.includes(\"#ADMIN_USER#\") === false) {\n return false;\n } else if (item.SK !== \"A\") {\n return false;\n } else if (item.TYPE !== \"adminUsers.user\") {\n return false;\n } else if (!source.services.cognitoUserPoolId || !target.services.cognitoUserPoolId) {\n return false;\n }\n /**\n * TODO verify that email is always present in Cognito users.\n */\n // @ts-expect-error\n else if (!item.data?.email) {\n return false;\n }\n return true;\n};\n"],"names":["shouldBeHandled","params","item","table","source","target"],"mappings":"AAEO,MAAMA,kBAAkB,CAACC;IAC5B,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGJ;IACxC,IAAIE,AAAe,cAAfA,MAAM,IAAI,EACV,OAAO;IACJ,IAAID,AAAqC,UAArCA,KAAK,EAAE,CAAC,QAAQ,CAAC,iBACxB,OAAO;IACJ,IAAIA,AAAY,QAAZA,KAAK,EAAE,EACd,OAAO;IACJ,IAAIA,AAAc,sBAAdA,KAAK,IAAI,EAChB,OAAO;IACJ,IAAI,CAACE,OAAO,QAAQ,CAAC,iBAAiB,IAAI,CAACC,OAAO,QAAQ,CAAC,iBAAiB,EAC/E,OAAO;SAMN,IAAI,CAACH,KAAK,IAAI,EAAE,OACjB,OAAO;IAEX,OAAO;AACX"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1,7 +1,9 @@
1
1
  import { createUserOnPutPlugin } from "./usersOnPut.js";
2
2
  import { createUserOnDeletePlugin } from "./usersOnDelete.js";
3
- export const createUsersPlugins = params => {
4
- return [createUserOnPutPlugin(params), createUserOnDeletePlugin(params)];
5
- };
3
+ const createUsersPlugins = (params)=>[
4
+ createUserOnPutPlugin(params),
5
+ createUserOnDeletePlugin(params)
6
+ ];
7
+ export { createUsersPlugins };
6
8
 
7
9
  //# sourceMappingURL=users.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createUserOnPutPlugin","createUserOnDeletePlugin","createUsersPlugins","params"],"sources":["users.ts"],"sourcesContent":["import { createUserOnPutPlugin } from \"./usersOnPut.js\";\nimport { createUserOnDeletePlugin } from \"./usersOnDelete.js\";\nimport type { ICopyUser, IDeleteUser } from \"./types.js\";\n\nexport interface ICreateUsersPluginsParams {\n copyUser: ICopyUser;\n deleteUser: IDeleteUser;\n}\n\nexport const createUsersPlugins = (params: ICreateUsersPluginsParams) => {\n return [createUserOnPutPlugin(params), createUserOnDeletePlugin(params)];\n};\n"],"mappings":"AAAA,SAASA,qBAAqB;AAC9B,SAASC,wBAAwB;AAQjC,OAAO,MAAMC,kBAAkB,GAAIC,MAAiC,IAAK;EACrE,OAAO,CAACH,qBAAqB,CAACG,MAAM,CAAC,EAAEF,wBAAwB,CAACE,MAAM,CAAC,CAAC;AAC5E,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/recordTypes/users/users.js","sources":["../../../../src/resolver/recordTypes/users/users.ts"],"sourcesContent":["import { createUserOnPutPlugin } from \"./usersOnPut.js\";\nimport { createUserOnDeletePlugin } from \"./usersOnDelete.js\";\nimport type { ICopyUser, IDeleteUser } from \"./types.js\";\n\nexport interface ICreateUsersPluginsParams {\n copyUser: ICopyUser;\n deleteUser: IDeleteUser;\n}\n\nexport const createUsersPlugins = (params: ICreateUsersPluginsParams) => {\n return [createUserOnPutPlugin(params), createUserOnDeletePlugin(params)];\n};\n"],"names":["createUsersPlugins","params","createUserOnPutPlugin","createUserOnDeletePlugin"],"mappings":";;AASO,MAAMA,qBAAqB,CAACC,SACxB;QAACC,sBAAsBD;QAASE,yBAAyBF;KAAQ"}
@@ -1,40 +1,29 @@
1
1
  import { createStorerAfterEachPluginWithName } from "../../plugins/StorerAfterEachPlugin.js";
2
2
  import { shouldBeHandled } from "./shouldBeHandled.js";
3
3
  import { convertException } from "@webiny/utils";
4
- export const createUserOnDeletePlugin = params => {
5
- const {
6
- deleteUser
7
- } = params;
8
- return createStorerAfterEachPluginWithName("users.onDelete", {
9
- canHandle: params => {
10
- const {
11
- command
12
- } = params;
13
- if (command !== "delete") {
14
- return false;
15
- }
16
- return shouldBeHandled(params);
17
- },
18
- handle: async params => {
19
- const {
20
- item
21
- } = params;
22
- /**
23
- * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.
24
- */
25
- // @ts-expect-error
26
- const username = item.data.email;
27
- try {
28
- await deleteUser.handle({
29
- target: params.target,
30
- username
31
- });
32
- } catch (ex) {
33
- console.error("Error while handling users onDelete plugin.");
34
- console.log(convertException(ex));
35
- }
36
- }
37
- });
4
+ const createUserOnDeletePlugin = (params)=>{
5
+ const { deleteUser } = params;
6
+ return createStorerAfterEachPluginWithName("users.onDelete", {
7
+ canHandle: (params)=>{
8
+ const { command } = params;
9
+ if ("delete" !== command) return false;
10
+ return shouldBeHandled(params);
11
+ },
12
+ handle: async (params)=>{
13
+ const { item } = params;
14
+ const username = item.data.email;
15
+ try {
16
+ await deleteUser.handle({
17
+ target: params.target,
18
+ username
19
+ });
20
+ } catch (ex) {
21
+ console.error("Error while handling users onDelete plugin.");
22
+ console.log(convertException(ex));
23
+ }
24
+ }
25
+ });
38
26
  };
27
+ export { createUserOnDeletePlugin };
39
28
 
40
29
  //# sourceMappingURL=usersOnDelete.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createStorerAfterEachPluginWithName","shouldBeHandled","convertException","createUserOnDeletePlugin","params","deleteUser","canHandle","command","handle","item","username","data","email","target","ex","console","error","log"],"sources":["usersOnDelete.ts"],"sourcesContent":["import { createStorerAfterEachPluginWithName } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\nimport { shouldBeHandled } from \"./shouldBeHandled.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { IDeleteUser } from \"~/resolver/recordTypes/users/types.js\";\n\nexport interface IDeleteUserOnDeletePluginParams {\n deleteUser: IDeleteUser;\n}\n\nexport const createUserOnDeletePlugin = (params: IDeleteUserOnDeletePluginParams) => {\n const { deleteUser } = params;\n\n return createStorerAfterEachPluginWithName(\"users.onDelete\", {\n canHandle: params => {\n const { command } = params;\n if (command !== \"delete\") {\n return false;\n }\n return shouldBeHandled(params);\n },\n handle: async params => {\n const { item } = params;\n /**\n * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.\n */\n // @ts-expect-error\n const username = item.data.email as string;\n try {\n await deleteUser.handle({\n target: params.target,\n username\n });\n } catch (ex) {\n console.error(\"Error while handling users onDelete plugin.\");\n console.log(convertException(ex));\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mCAAmC;AAC5C,SAASC,eAAe;AACxB,SAASC,gBAAgB,QAAQ,eAAe;AAOhD,OAAO,MAAMC,wBAAwB,GAAIC,MAAuC,IAAK;EACjF,MAAM;IAAEC;EAAW,CAAC,GAAGD,MAAM;EAE7B,OAAOJ,mCAAmC,CAAC,gBAAgB,EAAE;IACzDM,SAAS,EAAEF,MAAM,IAAI;MACjB,MAAM;QAAEG;MAAQ,CAAC,GAAGH,MAAM;MAC1B,IAAIG,OAAO,KAAK,QAAQ,EAAE;QACtB,OAAO,KAAK;MAChB;MACA,OAAON,eAAe,CAACG,MAAM,CAAC;IAClC,CAAC;IACDI,MAAM,EAAE,MAAMJ,MAAM,IAAI;MACpB,MAAM;QAAEK;MAAK,CAAC,GAAGL,MAAM;MACvB;AACZ;AACA;MACY;MACA,MAAMM,QAAQ,GAAGD,IAAI,CAACE,IAAI,CAACC,KAAe;MAC1C,IAAI;QACA,MAAMP,UAAU,CAACG,MAAM,CAAC;UACpBK,MAAM,EAAET,MAAM,CAACS,MAAM;UACrBH;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOI,EAAE,EAAE;QACTC,OAAO,CAACC,KAAK,CAAC,6CAA6C,CAAC;QAC5DD,OAAO,CAACE,GAAG,CAACf,gBAAgB,CAACY,EAAE,CAAC,CAAC;MACrC;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/recordTypes/users/usersOnDelete.js","sources":["../../../../src/resolver/recordTypes/users/usersOnDelete.ts"],"sourcesContent":["import { createStorerAfterEachPluginWithName } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\nimport { shouldBeHandled } from \"./shouldBeHandled.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { IDeleteUser } from \"~/resolver/recordTypes/users/types.js\";\n\nexport interface IDeleteUserOnDeletePluginParams {\n deleteUser: IDeleteUser;\n}\n\nexport const createUserOnDeletePlugin = (params: IDeleteUserOnDeletePluginParams) => {\n const { deleteUser } = params;\n\n return createStorerAfterEachPluginWithName(\"users.onDelete\", {\n canHandle: params => {\n const { command } = params;\n if (command !== \"delete\") {\n return false;\n }\n return shouldBeHandled(params);\n },\n handle: async params => {\n const { item } = params;\n /**\n * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.\n */\n // @ts-expect-error\n const username = item.data.email as string;\n try {\n await deleteUser.handle({\n target: params.target,\n username\n });\n } catch (ex) {\n console.error(\"Error while handling users onDelete plugin.\");\n console.log(convertException(ex));\n }\n }\n });\n};\n"],"names":["createUserOnDeletePlugin","params","deleteUser","createStorerAfterEachPluginWithName","command","shouldBeHandled","item","username","ex","console","convertException"],"mappings":";;;AASO,MAAMA,2BAA2B,CAACC;IACrC,MAAM,EAAEC,UAAU,EAAE,GAAGD;IAEvB,OAAOE,oCAAoC,kBAAkB;QACzD,WAAWF,CAAAA;YACP,MAAM,EAAEG,OAAO,EAAE,GAAGH;YACpB,IAAIG,AAAY,aAAZA,SACA,OAAO;YAEX,OAAOC,gBAAgBJ;QAC3B;QACA,QAAQ,OAAMA;YACV,MAAM,EAAEK,IAAI,EAAE,GAAGL;YAKjB,MAAMM,WAAWD,KAAK,IAAI,CAAC,KAAK;YAChC,IAAI;gBACA,MAAMJ,WAAW,MAAM,CAAC;oBACpB,QAAQD,OAAO,MAAM;oBACrBM;gBACJ;YACJ,EAAE,OAAOC,IAAI;gBACTC,QAAQ,KAAK,CAAC;gBACdA,QAAQ,GAAG,CAACC,iBAAiBF;YACjC;QACJ;IACJ;AACJ"}
@@ -1,41 +1,30 @@
1
1
  import { createStorerAfterEachPluginWithName } from "../../plugins/StorerAfterEachPlugin.js";
2
2
  import { shouldBeHandled } from "./shouldBeHandled.js";
3
3
  import { convertException } from "@webiny/utils";
4
- export const createUserOnPutPlugin = params => {
5
- const {
6
- copyUser
7
- } = params;
8
- return createStorerAfterEachPluginWithName("users.onPut", {
9
- canHandle: params => {
10
- const {
11
- command
12
- } = params;
13
- if (command !== "put") {
14
- return false;
15
- }
16
- return shouldBeHandled(params);
17
- },
18
- handle: async params => {
19
- const {
20
- item
21
- } = params;
22
- /**
23
- * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.
24
- */
25
- // @ts-expect-error
26
- const username = item.data.email;
27
- try {
28
- await copyUser.handle({
29
- target: params.target,
30
- source: params.source,
31
- username
32
- });
33
- } catch (ex) {
34
- console.error("Error while handling users onPut plugin.");
35
- console.log(convertException(ex));
36
- }
37
- }
38
- });
4
+ const createUserOnPutPlugin = (params)=>{
5
+ const { copyUser } = params;
6
+ return createStorerAfterEachPluginWithName("users.onPut", {
7
+ canHandle: (params)=>{
8
+ const { command } = params;
9
+ if ("put" !== command) return false;
10
+ return shouldBeHandled(params);
11
+ },
12
+ handle: async (params)=>{
13
+ const { item } = params;
14
+ const username = item.data.email;
15
+ try {
16
+ await copyUser.handle({
17
+ target: params.target,
18
+ source: params.source,
19
+ username
20
+ });
21
+ } catch (ex) {
22
+ console.error("Error while handling users onPut plugin.");
23
+ console.log(convertException(ex));
24
+ }
25
+ }
26
+ });
39
27
  };
28
+ export { createUserOnPutPlugin };
40
29
 
41
30
  //# sourceMappingURL=usersOnPut.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createStorerAfterEachPluginWithName","shouldBeHandled","convertException","createUserOnPutPlugin","params","copyUser","canHandle","command","handle","item","username","data","email","target","source","ex","console","error","log"],"sources":["usersOnPut.ts"],"sourcesContent":["import { createStorerAfterEachPluginWithName } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\nimport { shouldBeHandled } from \"./shouldBeHandled.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { ICopyUser } from \"~/resolver/recordTypes/users/types.js\";\n\nexport interface ICreateUserOnPutPluginParams {\n copyUser: ICopyUser;\n}\n\nexport const createUserOnPutPlugin = (params: ICreateUserOnPutPluginParams) => {\n const { copyUser } = params;\n\n return createStorerAfterEachPluginWithName(\"users.onPut\", {\n canHandle: params => {\n const { command } = params;\n if (command !== \"put\") {\n return false;\n }\n return shouldBeHandled(params);\n },\n handle: async params => {\n const { item } = params;\n /**\n * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.\n */\n // @ts-expect-error\n const username = item.data.email as string;\n try {\n await copyUser.handle({\n target: params.target,\n source: params.source,\n username\n });\n } catch (ex) {\n console.error(\"Error while handling users onPut plugin.\");\n console.log(convertException(ex));\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mCAAmC;AAC5C,SAASC,eAAe;AACxB,SAASC,gBAAgB,QAAQ,eAAe;AAOhD,OAAO,MAAMC,qBAAqB,GAAIC,MAAoC,IAAK;EAC3E,MAAM;IAAEC;EAAS,CAAC,GAAGD,MAAM;EAE3B,OAAOJ,mCAAmC,CAAC,aAAa,EAAE;IACtDM,SAAS,EAAEF,MAAM,IAAI;MACjB,MAAM;QAAEG;MAAQ,CAAC,GAAGH,MAAM;MAC1B,IAAIG,OAAO,KAAK,KAAK,EAAE;QACnB,OAAO,KAAK;MAChB;MACA,OAAON,eAAe,CAACG,MAAM,CAAC;IAClC,CAAC;IACDI,MAAM,EAAE,MAAMJ,MAAM,IAAI;MACpB,MAAM;QAAEK;MAAK,CAAC,GAAGL,MAAM;MACvB;AACZ;AACA;MACY;MACA,MAAMM,QAAQ,GAAGD,IAAI,CAACE,IAAI,CAACC,KAAe;MAC1C,IAAI;QACA,MAAMP,QAAQ,CAACG,MAAM,CAAC;UAClBK,MAAM,EAAET,MAAM,CAACS,MAAM;UACrBC,MAAM,EAAEV,MAAM,CAACU,MAAM;UACrBJ;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOK,EAAE,EAAE;QACTC,OAAO,CAACC,KAAK,CAAC,0CAA0C,CAAC;QACzDD,OAAO,CAACE,GAAG,CAAChB,gBAAgB,CAACa,EAAE,CAAC,CAAC;MACrC;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/recordTypes/users/usersOnPut.js","sources":["../../../../src/resolver/recordTypes/users/usersOnPut.ts"],"sourcesContent":["import { createStorerAfterEachPluginWithName } from \"~/resolver/plugins/StorerAfterEachPlugin.js\";\nimport { shouldBeHandled } from \"./shouldBeHandled.js\";\nimport { convertException } from \"@webiny/utils\";\nimport type { ICopyUser } from \"~/resolver/recordTypes/users/types.js\";\n\nexport interface ICreateUserOnPutPluginParams {\n copyUser: ICopyUser;\n}\n\nexport const createUserOnPutPlugin = (params: ICreateUserOnPutPluginParams) => {\n const { copyUser } = params;\n\n return createStorerAfterEachPluginWithName(\"users.onPut\", {\n canHandle: params => {\n const { command } = params;\n if (command !== \"put\") {\n return false;\n }\n return shouldBeHandled(params);\n },\n handle: async params => {\n const { item } = params;\n /**\n * We are 100% positive that the key exists here because canHandle would not allow for handle to be called.\n */\n // @ts-expect-error\n const username = item.data.email as string;\n try {\n await copyUser.handle({\n target: params.target,\n source: params.source,\n username\n });\n } catch (ex) {\n console.error(\"Error while handling users onPut plugin.\");\n console.log(convertException(ex));\n }\n }\n });\n};\n"],"names":["createUserOnPutPlugin","params","copyUser","createStorerAfterEachPluginWithName","command","shouldBeHandled","item","username","ex","console","convertException"],"mappings":";;;AASO,MAAMA,wBAAwB,CAACC;IAClC,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,OAAOE,oCAAoC,eAAe;QACtD,WAAWF,CAAAA;YACP,MAAM,EAAEG,OAAO,EAAE,GAAGH;YACpB,IAAIG,AAAY,UAAZA,SACA,OAAO;YAEX,OAAOC,gBAAgBJ;QAC3B;QACA,QAAQ,OAAMA;YACV,MAAM,EAAEK,IAAI,EAAE,GAAGL;YAKjB,MAAMM,WAAWD,KAAK,IAAI,CAAC,KAAK;YAChC,IAAI;gBACA,MAAMJ,SAAS,MAAM,CAAC;oBAClB,QAAQD,OAAO,MAAM;oBACrB,QAAQA,OAAO,MAAM;oBACrBM;gBACJ;YACJ,EAAE,OAAOC,IAAI;gBACTC,QAAQ,KAAK,CAAC;gBACdA,QAAQ,GAAG,CAACC,iBAAiBF;YACjC;QACJ;IACJ;AACJ"}
@@ -1,21 +1,13 @@
1
- export class FilterOutRecord {
2
- constructor(plugins) {
3
- this.plugins = plugins;
4
- }
5
- /**
6
- * If method returns `true`, the record will be filtered out.
7
- */
8
- filterOut(item) {
9
- for (const plugin of this.plugins) {
10
- if (plugin.execute(item)) {
11
- return true;
12
- }
1
+ class FilterOutRecord {
2
+ constructor(plugins){
3
+ this.plugins = plugins;
4
+ }
5
+ filterOut(item) {
6
+ for (const plugin of this.plugins)if (plugin.execute(item)) return true;
7
+ return false;
13
8
  }
14
- return false;
15
- }
16
9
  }
17
- export const createFilterOutRecord = plugins => {
18
- return new FilterOutRecord(plugins);
19
- };
10
+ const createFilterOutRecord = (plugins)=>new FilterOutRecord(plugins);
11
+ export { FilterOutRecord, createFilterOutRecord };
20
12
 
21
13
  //# sourceMappingURL=FilterOutRecord.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FilterOutRecord","constructor","plugins","filterOut","item","plugin","execute","createFilterOutRecord"],"sources":["FilterOutRecord.ts"],"sourcesContent":["import type { FilterOutRecordPlugin } from \"~/sync/plugins/FilterOutRecordPlugin.js\";\nimport type { ICommandValueItemExtended } from \"~/sync/types.js\";\n\nexport class FilterOutRecord {\n private readonly plugins: FilterOutRecordPlugin[];\n\n public constructor(plugins: FilterOutRecordPlugin[]) {\n this.plugins = plugins;\n }\n /**\n * If method returns `true`, the record will be filtered out.\n */\n public filterOut(item: ICommandValueItemExtended): boolean {\n for (const plugin of this.plugins) {\n if (plugin.execute(item)) {\n return true;\n }\n }\n return false;\n }\n}\n\nexport const createFilterOutRecord = (plugins: FilterOutRecordPlugin[]): FilterOutRecord => {\n return new FilterOutRecord(plugins);\n};\n"],"mappings":"AAGA,OAAO,MAAMA,eAAe,CAAC;EAGlBC,WAAWA,CAACC,OAAgC,EAAE;IACjD,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EACA;AACJ;AACA;EACWC,SAASA,CAACC,IAA+B,EAAW;IACvD,KAAK,MAAMC,MAAM,IAAI,IAAI,CAACH,OAAO,EAAE;MAC/B,IAAIG,MAAM,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI;MACf;IACJ;IACA,OAAO,KAAK;EAChB;AACJ;AAEA,OAAO,MAAMG,qBAAqB,GAAIL,OAAgC,IAAsB;EACxF,OAAO,IAAIF,eAAe,CAACE,OAAO,CAAC;AACvC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"sync/FilterOutRecord.js","sources":["../../src/sync/FilterOutRecord.ts"],"sourcesContent":["import type { FilterOutRecordPlugin } from \"~/sync/plugins/FilterOutRecordPlugin.js\";\nimport type { ICommandValueItemExtended } from \"~/sync/types.js\";\n\nexport class FilterOutRecord {\n private readonly plugins: FilterOutRecordPlugin[];\n\n public constructor(plugins: FilterOutRecordPlugin[]) {\n this.plugins = plugins;\n }\n /**\n * If method returns `true`, the record will be filtered out.\n */\n public filterOut(item: ICommandValueItemExtended): boolean {\n for (const plugin of this.plugins) {\n if (plugin.execute(item)) {\n return true;\n }\n }\n return false;\n }\n}\n\nexport const createFilterOutRecord = (plugins: FilterOutRecordPlugin[]): FilterOutRecord => {\n return new FilterOutRecord(plugins);\n};\n"],"names":["FilterOutRecord","plugins","item","plugin","createFilterOutRecord"],"mappings":"AAGO,MAAMA;IAGT,YAAmBC,OAAgC,CAAE;QACjD,IAAI,CAAC,OAAO,GAAGA;IACnB;IAIO,UAAUC,IAA+B,EAAW;QACvD,KAAK,MAAMC,UAAU,IAAI,CAAC,OAAO,CAC7B,IAAIA,OAAO,OAAO,CAACD,OACf,OAAO;QAGf,OAAO;IACX;AACJ;AAEO,MAAME,wBAAwB,CAACH,UAC3B,IAAID,gBAAgBC"}
@@ -1,71 +1,52 @@
1
1
  import { decorateDocumentClient } from "@webiny/aws-sdk/client-dynamodb/getDocumentClient.js";
2
2
  import { BatchWriteCommand, DeleteCommand, PutCommand, UpdateCommand } from "@webiny/aws-sdk/client-dynamodb/index.js";
3
- export const decorateClientWithHandler = params => {
4
- const {
5
- handler,
6
- client
7
- } = params;
8
- /**
9
- * Is there a possibility that this is already attached?
10
- * Let's check for the handler and then skip attaching.
11
- */
12
- // @ts-expect-error
13
- if (client.__webinyHandler?.id === handler.id) {
3
+ const decorateClientWithHandler = (params)=>{
4
+ const { handler, client } = params;
5
+ if (client.__webinyHandler?.id === handler.id) return client;
6
+ const originalSend = client.send;
7
+ const originalPut = client.put;
8
+ const originalDelete = client.delete;
9
+ const originalUpdate = client.update;
10
+ const originalBatchWrite = client.batchWrite;
11
+ client.__webinyHandler = handler;
12
+ client.send = async (params)=>{
13
+ handler.add(params);
14
+ return originalSend.apply(client, [
15
+ params
16
+ ]);
17
+ };
18
+ client.put = async (params)=>{
19
+ const cmd = new PutCommand(params);
20
+ handler.add(cmd);
21
+ return originalPut.apply(client, [
22
+ params
23
+ ]);
24
+ };
25
+ client.delete = async (params)=>{
26
+ const cmd = new DeleteCommand(params);
27
+ handler.add(cmd);
28
+ return originalDelete.apply(client, [
29
+ params
30
+ ]);
31
+ };
32
+ client.batchWrite = async (params)=>{
33
+ const cmd = new BatchWriteCommand(params);
34
+ handler.add(cmd);
35
+ return originalBatchWrite.apply(client, [
36
+ params
37
+ ]);
38
+ };
39
+ client.update = async (params)=>{
40
+ const cmd = new UpdateCommand(params);
41
+ handler.add(cmd);
42
+ return originalUpdate(params);
43
+ };
14
44
  return client;
15
- }
16
- const originalSend = client.send;
17
- const originalPut = client.put;
18
- const originalDelete = client.delete;
19
- const originalUpdate = client.update;
20
- const originalBatchWrite = client.batchWrite;
21
-
22
- // @ts-expect-error
23
- client.__webinyHandler = handler;
24
- client.send = async params => {
25
- // @ts-expect-error
26
- handler.add(params);
27
- // @ts-expect-error
28
- return originalSend.apply(client, [params]);
29
- };
30
- // @ts-expect-error
31
- client.put = async params => {
32
- const cmd = new PutCommand(params);
33
- handler.add(cmd);
34
- // @ts-expect-error
35
- return originalPut.apply(client, [params]);
36
- };
37
-
38
- // @ts-expect-error
39
- client.delete = async params => {
40
- const cmd = new DeleteCommand(params);
41
- handler.add(cmd);
42
- // @ts-expect-error
43
- return originalDelete.apply(client, [params]);
44
- };
45
-
46
- // @ts-expect-error
47
- client.batchWrite = async params => {
48
- const cmd = new BatchWriteCommand(params);
49
- handler.add(cmd);
50
- // @ts-expect-error
51
- return originalBatchWrite.apply(client, [params]);
52
- };
53
- client.update = async params => {
54
- const cmd = new UpdateCommand(params);
55
- handler.add(cmd);
56
- return originalUpdate(params);
57
- };
58
- return client;
59
- };
60
- export const attachToDynamoDbDocument = ({
61
- handler
62
- }) => {
63
- return decorateDocumentClient(client => {
64
- return decorateClientWithHandler({
65
- handler,
66
- client
67
- });
68
- });
69
45
  };
46
+ const attachToDynamoDbDocument = ({ handler })=>decorateDocumentClient((client)=>decorateClientWithHandler({
47
+ handler,
48
+ client
49
+ }));
50
+ export { attachToDynamoDbDocument, decorateClientWithHandler };
70
51
 
71
52
  //# sourceMappingURL=attachToDynamoDbDocument.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["decorateDocumentClient","BatchWriteCommand","DeleteCommand","PutCommand","UpdateCommand","decorateClientWithHandler","params","handler","client","__webinyHandler","id","originalSend","send","originalPut","put","originalDelete","delete","originalUpdate","update","originalBatchWrite","batchWrite","add","apply","cmd","attachToDynamoDbDocument"],"sources":["attachToDynamoDbDocument.ts"],"sourcesContent":["import { decorateDocumentClient } from \"@webiny/aws-sdk/client-dynamodb/getDocumentClient.js\";\nimport type { IHandler } from \"~/sync/types.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport {\n BatchWriteCommand,\n DeleteCommand,\n PutCommand,\n UpdateCommand\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport interface IAttachToDynamoDbDocumentParams {\n handler: IHandler;\n}\n\nexport interface IDecorateClientWithHandlerParams {\n handler: IHandler;\n client: DynamoDBDocument;\n}\n\nexport const decorateClientWithHandler = (\n params: IDecorateClientWithHandlerParams\n): DynamoDBDocument => {\n const { handler, client } = params;\n /**\n * Is there a possibility that this is already attached?\n * Let's check for the handler and then skip attaching.\n */\n // @ts-expect-error\n if (client.__webinyHandler?.id === handler.id) {\n return client;\n }\n\n const originalSend = client.send;\n const originalPut = client.put;\n const originalDelete = client.delete;\n const originalUpdate = client.update;\n const originalBatchWrite = client.batchWrite;\n\n // @ts-expect-error\n client.__webinyHandler = handler;\n\n client.send = async params => {\n // @ts-expect-error\n handler.add(params);\n // @ts-expect-error\n return originalSend.apply(client, [params]);\n };\n // @ts-expect-error\n client.put = async params => {\n const cmd = new PutCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalPut.apply(client, [params]);\n };\n\n // @ts-expect-error\n client.delete = async params => {\n const cmd = new DeleteCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalDelete.apply(client, [params]);\n };\n\n // @ts-expect-error\n client.batchWrite = async params => {\n const cmd = new BatchWriteCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalBatchWrite.apply(client, [params]);\n };\n\n client.update = async params => {\n const cmd = new UpdateCommand(params);\n handler.add(cmd);\n return originalUpdate(params);\n };\n\n return client;\n};\n\nexport const attachToDynamoDbDocument = ({ handler }: IAttachToDynamoDbDocumentParams): void => {\n return decorateDocumentClient(client => {\n return decorateClientWithHandler({\n handler,\n client\n });\n });\n};\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,sDAAsD;AAG7F,SACIC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,EACVC,aAAa,QACV,0CAA0C;AAWjD,OAAO,MAAMC,yBAAyB,GAClCC,MAAwC,IACrB;EACnB,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC;AACJ;AACA;AACA;EACI;EACA,IAAIE,MAAM,CAACC,eAAe,EAAEC,EAAE,KAAKH,OAAO,CAACG,EAAE,EAAE;IAC3C,OAAOF,MAAM;EACjB;EAEA,MAAMG,YAAY,GAAGH,MAAM,CAACI,IAAI;EAChC,MAAMC,WAAW,GAAGL,MAAM,CAACM,GAAG;EAC9B,MAAMC,cAAc,GAAGP,MAAM,CAACQ,MAAM;EACpC,MAAMC,cAAc,GAAGT,MAAM,CAACU,MAAM;EACpC,MAAMC,kBAAkB,GAAGX,MAAM,CAACY,UAAU;;EAE5C;EACAZ,MAAM,CAACC,eAAe,GAAGF,OAAO;EAEhCC,MAAM,CAACI,IAAI,GAAG,MAAMN,MAAM,IAAI;IAC1B;IACAC,OAAO,CAACc,GAAG,CAACf,MAAM,CAAC;IACnB;IACA,OAAOK,YAAY,CAACW,KAAK,CAACd,MAAM,EAAE,CAACF,MAAM,CAAC,CAAC;EAC/C,CAAC;EACD;EACAE,MAAM,CAACM,GAAG,GAAG,MAAMR,MAAM,IAAI;IACzB,MAAMiB,GAAG,GAAG,IAAIpB,UAAU,CAACG,MAAM,CAAC;IAClCC,OAAO,CAACc,GAAG,CAACE,GAAG,CAAC;IAChB;IACA,OAAOV,WAAW,CAACS,KAAK,CAACd,MAAM,EAAE,CAACF,MAAM,CAAC,CAAC;EAC9C,CAAC;;EAED;EACAE,MAAM,CAACQ,MAAM,GAAG,MAAMV,MAAM,IAAI;IAC5B,MAAMiB,GAAG,GAAG,IAAIrB,aAAa,CAACI,MAAM,CAAC;IACrCC,OAAO,CAACc,GAAG,CAACE,GAAG,CAAC;IAChB;IACA,OAAOR,cAAc,CAACO,KAAK,CAACd,MAAM,EAAE,CAACF,MAAM,CAAC,CAAC;EACjD,CAAC;;EAED;EACAE,MAAM,CAACY,UAAU,GAAG,MAAMd,MAAM,IAAI;IAChC,MAAMiB,GAAG,GAAG,IAAItB,iBAAiB,CAACK,MAAM,CAAC;IACzCC,OAAO,CAACc,GAAG,CAACE,GAAG,CAAC;IAChB;IACA,OAAOJ,kBAAkB,CAACG,KAAK,CAACd,MAAM,EAAE,CAACF,MAAM,CAAC,CAAC;EACrD,CAAC;EAEDE,MAAM,CAACU,MAAM,GAAG,MAAMZ,MAAM,IAAI;IAC5B,MAAMiB,GAAG,GAAG,IAAInB,aAAa,CAACE,MAAM,CAAC;IACrCC,OAAO,CAACc,GAAG,CAACE,GAAG,CAAC;IAChB,OAAON,cAAc,CAACX,MAAM,CAAC;EACjC,CAAC;EAED,OAAOE,MAAM;AACjB,CAAC;AAED,OAAO,MAAMgB,wBAAwB,GAAGA,CAAC;EAAEjB;AAAyC,CAAC,KAAW;EAC5F,OAAOP,sBAAsB,CAACQ,MAAM,IAAI;IACpC,OAAOH,yBAAyB,CAAC;MAC7BE,OAAO;MACPC;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"sync/attachToDynamoDbDocument.js","sources":["../../src/sync/attachToDynamoDbDocument.ts"],"sourcesContent":["import { decorateDocumentClient } from \"@webiny/aws-sdk/client-dynamodb/getDocumentClient.js\";\nimport type { IHandler } from \"~/sync/types.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport {\n BatchWriteCommand,\n DeleteCommand,\n PutCommand,\n UpdateCommand\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport interface IAttachToDynamoDbDocumentParams {\n handler: IHandler;\n}\n\nexport interface IDecorateClientWithHandlerParams {\n handler: IHandler;\n client: DynamoDBDocument;\n}\n\nexport const decorateClientWithHandler = (\n params: IDecorateClientWithHandlerParams\n): DynamoDBDocument => {\n const { handler, client } = params;\n /**\n * Is there a possibility that this is already attached?\n * Let's check for the handler and then skip attaching.\n */\n // @ts-expect-error\n if (client.__webinyHandler?.id === handler.id) {\n return client;\n }\n\n const originalSend = client.send;\n const originalPut = client.put;\n const originalDelete = client.delete;\n const originalUpdate = client.update;\n const originalBatchWrite = client.batchWrite;\n\n // @ts-expect-error\n client.__webinyHandler = handler;\n\n client.send = async params => {\n // @ts-expect-error\n handler.add(params);\n // @ts-expect-error\n return originalSend.apply(client, [params]);\n };\n // @ts-expect-error\n client.put = async params => {\n const cmd = new PutCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalPut.apply(client, [params]);\n };\n\n // @ts-expect-error\n client.delete = async params => {\n const cmd = new DeleteCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalDelete.apply(client, [params]);\n };\n\n // @ts-expect-error\n client.batchWrite = async params => {\n const cmd = new BatchWriteCommand(params);\n handler.add(cmd);\n // @ts-expect-error\n return originalBatchWrite.apply(client, [params]);\n };\n\n client.update = async params => {\n const cmd = new UpdateCommand(params);\n handler.add(cmd);\n return originalUpdate(params);\n };\n\n return client;\n};\n\nexport const attachToDynamoDbDocument = ({ handler }: IAttachToDynamoDbDocumentParams): void => {\n return decorateDocumentClient(client => {\n return decorateClientWithHandler({\n handler,\n client\n });\n });\n};\n"],"names":["decorateClientWithHandler","params","handler","client","originalSend","originalPut","originalDelete","originalUpdate","originalBatchWrite","cmd","PutCommand","DeleteCommand","BatchWriteCommand","UpdateCommand","attachToDynamoDbDocument","decorateDocumentClient"],"mappings":";;AAmBO,MAAMA,4BAA4B,CACrCC;IAEA,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAE,GAAGF;IAM5B,IAAIE,OAAO,eAAe,EAAE,OAAOD,QAAQ,EAAE,EACzC,OAAOC;IAGX,MAAMC,eAAeD,OAAO,IAAI;IAChC,MAAME,cAAcF,OAAO,GAAG;IAC9B,MAAMG,iBAAiBH,OAAO,MAAM;IACpC,MAAMI,iBAAiBJ,OAAO,MAAM;IACpC,MAAMK,qBAAqBL,OAAO,UAAU;IAG5CA,OAAO,eAAe,GAAGD;IAEzBC,OAAO,IAAI,GAAG,OAAMF;QAEhBC,QAAQ,GAAG,CAACD;QAEZ,OAAOG,aAAa,KAAK,CAACD,QAAQ;YAACF;SAAO;IAC9C;IAEAE,OAAO,GAAG,GAAG,OAAMF;QACf,MAAMQ,MAAM,IAAIC,WAAWT;QAC3BC,QAAQ,GAAG,CAACO;QAEZ,OAAOJ,YAAY,KAAK,CAACF,QAAQ;YAACF;SAAO;IAC7C;IAGAE,OAAO,MAAM,GAAG,OAAMF;QAClB,MAAMQ,MAAM,IAAIE,cAAcV;QAC9BC,QAAQ,GAAG,CAACO;QAEZ,OAAOH,eAAe,KAAK,CAACH,QAAQ;YAACF;SAAO;IAChD;IAGAE,OAAO,UAAU,GAAG,OAAMF;QACtB,MAAMQ,MAAM,IAAIG,kBAAkBX;QAClCC,QAAQ,GAAG,CAACO;QAEZ,OAAOD,mBAAmB,KAAK,CAACL,QAAQ;YAACF;SAAO;IACpD;IAEAE,OAAO,MAAM,GAAG,OAAMF;QAClB,MAAMQ,MAAM,IAAII,cAAcZ;QAC9BC,QAAQ,GAAG,CAACO;QACZ,OAAOF,eAAeN;IAC1B;IAEA,OAAOE;AACX;AAEO,MAAMW,2BAA2B,CAAC,EAAEZ,OAAO,EAAmC,GAC1Ea,uBAAuBZ,CAAAA,SACnBH,0BAA0B;YAC7BE;YACAC;QACJ"}