@webiny/api-sync-system 0.0.0-unstable.e622468070 → 0.0.0-unstable.e9333b3f0b

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 (285) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/index.d.ts +11 -3
  4. package/index.js +8 -5
  5. package/package.json +30 -22
  6. package/resolver/SyncResolverConfig.d.ts +17 -0
  7. package/resolver/SyncResolverConfig.js +5 -0
  8. package/resolver/SyncResolverConfig.js.map +1 -0
  9. package/resolver/SyncResolverLambdaHandler.d.ts +14 -0
  10. package/resolver/SyncResolverLambdaHandler.js +159 -0
  11. package/resolver/SyncResolverLambdaHandler.js.map +1 -0
  12. package/resolver/app/RecordHandler.js +83 -105
  13. package/resolver/app/RecordHandler.js.map +1 -1
  14. package/resolver/app/RecordsValidation.js +11 -14
  15. package/resolver/app/RecordsValidation.js.map +1 -1
  16. package/resolver/app/ResolverApplication.js +24 -31
  17. package/resolver/app/ResolverApplication.js.map +1 -1
  18. package/resolver/app/abstractions/RecordHandler.js +0 -3
  19. package/resolver/app/abstractions/RecordsValidation.js +0 -3
  20. package/resolver/app/abstractions/ResolverApplication.js +0 -3
  21. package/resolver/app/abstractions/ResolverRecord.js +0 -3
  22. package/resolver/app/bundler/BaseBundle.js +17 -16
  23. package/resolver/app/bundler/BaseBundle.js.map +1 -1
  24. package/resolver/app/bundler/Bundler.js +13 -18
  25. package/resolver/app/bundler/Bundler.js.map +1 -1
  26. package/resolver/app/bundler/Bundles.js +21 -26
  27. package/resolver/app/bundler/Bundles.js.map +1 -1
  28. package/resolver/app/bundler/CommandBundle.js +7 -16
  29. package/resolver/app/bundler/CommandBundle.js.map +1 -1
  30. package/resolver/app/bundler/TableBundle.js +6 -13
  31. package/resolver/app/bundler/TableBundle.js.map +1 -1
  32. package/resolver/app/bundler/types.js +0 -3
  33. package/resolver/app/commandHandler/DeleteCommandHandler.js +22 -29
  34. package/resolver/app/commandHandler/DeleteCommandHandler.js.map +1 -1
  35. package/resolver/app/commandHandler/PutCommandHandler.js +16 -22
  36. package/resolver/app/commandHandler/PutCommandHandler.js.map +1 -1
  37. package/resolver/app/commandHandler/delete.js +11 -12
  38. package/resolver/app/commandHandler/delete.js.map +1 -1
  39. package/resolver/app/commandHandler/put.js +11 -12
  40. package/resolver/app/commandHandler/put.js.map +1 -1
  41. package/resolver/app/data/SourceDataContainer.js +28 -30
  42. package/resolver/app/data/SourceDataContainer.js.map +1 -1
  43. package/resolver/app/data/types.js +0 -3
  44. package/resolver/app/fetcher/Fetcher.js +84 -109
  45. package/resolver/app/fetcher/Fetcher.js.map +1 -1
  46. package/resolver/app/fetcher/types.js +0 -3
  47. package/resolver/app/ingestor/Ingestor.js +27 -32
  48. package/resolver/app/ingestor/Ingestor.js.map +1 -1
  49. package/resolver/app/ingestor/IngestorResult.js +28 -32
  50. package/resolver/app/ingestor/IngestorResult.js.map +1 -1
  51. package/resolver/app/ingestor/types.js +0 -3
  52. package/resolver/app/storer/Storer.js +71 -85
  53. package/resolver/app/storer/Storer.js.map +1 -1
  54. package/resolver/app/storer/types.js +0 -3
  55. package/resolver/app/transform/TransformHandler.js +45 -56
  56. package/resolver/app/transform/TransformHandler.js.map +1 -1
  57. package/resolver/app/transform/middleware.js +13 -20
  58. package/resolver/app/transform/middleware.js.map +1 -1
  59. package/resolver/app/utils/Retry.js +21 -24
  60. package/resolver/app/utils/Retry.js.map +1 -1
  61. package/resolver/app/utils/sleep.js +4 -5
  62. package/resolver/app/utils/sleep.js.map +1 -1
  63. package/resolver/app/validation/body.d.ts +25 -124
  64. package/resolver/app/validation/body.js +26 -31
  65. package/resolver/app/validation/body.js.map +1 -1
  66. package/resolver/app/validation/createJsonTransform.d.ts +1 -1
  67. package/resolver/app/validation/createJsonTransform.js +12 -13
  68. package/resolver/app/validation/createJsonTransform.js.map +1 -1
  69. package/resolver/app/validation/detail.d.ts +18 -71
  70. package/resolver/app/validation/detail.js +30 -35
  71. package/resolver/app/validation/detail.js.map +1 -1
  72. package/resolver/app/validation/event.d.ts +29 -188
  73. package/resolver/app/validation/event.js +17 -18
  74. package/resolver/app/validation/event.js.map +1 -1
  75. package/resolver/app/validation/numericString.d.ts +1 -1
  76. package/resolver/app/validation/numericString.js +8 -11
  77. package/resolver/app/validation/numericString.js.map +1 -1
  78. package/resolver/app/validation/system.d.ts +2 -14
  79. package/resolver/app/validation/system.js +8 -9
  80. package/resolver/app/validation/system.js.map +1 -1
  81. package/resolver/deployment/Deployment.js +28 -37
  82. package/resolver/deployment/Deployment.js.map +1 -1
  83. package/resolver/deployment/Deployments.js +20 -23
  84. package/resolver/deployment/Deployments.js.map +1 -1
  85. package/resolver/deployment/DeploymentsFetcher.js +75 -86
  86. package/resolver/deployment/DeploymentsFetcher.js.map +1 -1
  87. package/resolver/deployment/types.d.ts +0 -2
  88. package/resolver/deployment/types.js +0 -3
  89. package/resolver/lambda/LambdaTrigger.js +24 -26
  90. package/resolver/lambda/LambdaTrigger.js.map +1 -1
  91. package/resolver/plugins/CommandHandlerPlugin.js +16 -15
  92. package/resolver/plugins/CommandHandlerPlugin.js.map +1 -1
  93. package/resolver/plugins/StorerAfterEachPlugin.js +20 -19
  94. package/resolver/plugins/StorerAfterEachPlugin.js.map +1 -1
  95. package/resolver/plugins/TransformRecordPlugin.js +19 -18
  96. package/resolver/plugins/TransformRecordPlugin.js.map +1 -1
  97. package/resolver/recordTypes/fileManager/CopyFile.js +44 -67
  98. package/resolver/recordTypes/fileManager/CopyFile.js.map +1 -1
  99. package/resolver/recordTypes/fileManager/DeleteFile.js +40 -58
  100. package/resolver/recordTypes/fileManager/DeleteFile.js.map +1 -1
  101. package/resolver/recordTypes/fileManager/fileManager.js +5 -3
  102. package/resolver/recordTypes/fileManager/fileManager.js.map +1 -1
  103. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js +24 -35
  104. package/resolver/recordTypes/fileManager/fileManagerOnDelete.js.map +1 -1
  105. package/resolver/recordTypes/fileManager/fileManagerOnPut.js +24 -35
  106. package/resolver/recordTypes/fileManager/fileManagerOnPut.js.map +1 -1
  107. package/resolver/recordTypes/fileManager/shouldBeHandled.js +10 -27
  108. package/resolver/recordTypes/fileManager/shouldBeHandled.js.map +1 -1
  109. package/resolver/recordTypes/fileManager/types.js +0 -3
  110. package/resolver/recordTypes/users/CopyUser.js +44 -54
  111. package/resolver/recordTypes/users/CopyUser.js.map +1 -1
  112. package/resolver/recordTypes/users/DeleteUser.js +40 -51
  113. package/resolver/recordTypes/users/DeleteUser.js.map +1 -1
  114. package/resolver/recordTypes/users/shouldBeHandled.js +10 -26
  115. package/resolver/recordTypes/users/shouldBeHandled.js.map +1 -1
  116. package/resolver/recordTypes/users/types.js +0 -3
  117. package/resolver/recordTypes/users/users.js +5 -3
  118. package/resolver/recordTypes/users/users.js.map +1 -1
  119. package/resolver/recordTypes/users/usersOnDelete.js +23 -34
  120. package/resolver/recordTypes/users/usersOnDelete.js.map +1 -1
  121. package/resolver/recordTypes/users/usersOnPut.js +24 -35
  122. package/resolver/recordTypes/users/usersOnPut.js.map +1 -1
  123. package/sync/ApiGatewaySyncDecorator.d.ts +14 -0
  124. package/sync/ApiGatewaySyncDecorator.js +49 -0
  125. package/sync/ApiGatewaySyncDecorator.js.map +1 -0
  126. package/sync/FilterOutRecord.js +9 -17
  127. package/sync/FilterOutRecord.js.map +1 -1
  128. package/sync/SyncSystemConfig.d.ts +11 -0
  129. package/sync/SyncSystemConfig.js +5 -0
  130. package/sync/SyncSystemConfig.js.map +1 -0
  131. package/sync/attachToDynamoDbDocument.js +46 -65
  132. package/sync/attachToDynamoDbDocument.js.map +1 -1
  133. package/sync/createHandler.js +31 -40
  134. package/sync/createHandler.js.map +1 -1
  135. package/sync/filter/createDefaultFilterOutRecordPlugins.js +37 -76
  136. package/sync/filter/createDefaultFilterOutRecordPlugins.js.map +1 -1
  137. package/sync/handler/Handler.js +64 -76
  138. package/sync/handler/Handler.js.map +1 -1
  139. package/sync/handler/HandlerConverter.js +21 -29
  140. package/sync/handler/HandlerConverter.js.map +1 -1
  141. package/sync/handler/converter/BatchGetCommandConverter.js +12 -11
  142. package/sync/handler/converter/BatchGetCommandConverter.js.map +1 -1
  143. package/sync/handler/converter/BatchWriteCommandConverter.js +12 -11
  144. package/sync/handler/converter/BatchWriteCommandConverter.js.map +1 -1
  145. package/sync/handler/converter/DeleteCommandConverter.js +12 -11
  146. package/sync/handler/converter/DeleteCommandConverter.js.map +1 -1
  147. package/sync/handler/converter/GetCommandConverter.js +12 -11
  148. package/sync/handler/converter/GetCommandConverter.js.map +1 -1
  149. package/sync/handler/converter/PutCommandConverter.js +12 -11
  150. package/sync/handler/converter/PutCommandConverter.js.map +1 -1
  151. package/sync/handler/converter/QueryCommandConverter.js +12 -11
  152. package/sync/handler/converter/QueryCommandConverter.js.map +1 -1
  153. package/sync/handler/converter/ScanCommandConverter.js +12 -11
  154. package/sync/handler/converter/ScanCommandConverter.js.map +1 -1
  155. package/sync/handler/converter/UpdateCommandConverter.js +12 -11
  156. package/sync/handler/converter/UpdateCommandConverter.js.map +1 -1
  157. package/sync/handler/converter/commands/BatchWriteCommandValue.js +34 -37
  158. package/sync/handler/converter/commands/BatchWriteCommandValue.js.map +1 -1
  159. package/sync/handler/converter/commands/DeleteCommandValue.js +19 -16
  160. package/sync/handler/converter/commands/DeleteCommandValue.js.map +1 -1
  161. package/sync/handler/converter/commands/NullCommandValue.js +8 -8
  162. package/sync/handler/converter/commands/NullCommandValue.js.map +1 -1
  163. package/sync/handler/converter/commands/PutCommandValue.js +19 -16
  164. package/sync/handler/converter/commands/PutCommandValue.js.map +1 -1
  165. package/sync/handler/converter/commands/UpdateCommandValue.js +19 -16
  166. package/sync/handler/converter/commands/UpdateCommandValue.js.map +1 -1
  167. package/sync/handler/types.js +0 -3
  168. package/sync/plugins/FilterOutRecordPlugin.js +17 -19
  169. package/sync/plugins/FilterOutRecordPlugin.js.map +1 -1
  170. package/sync/types.js +0 -3
  171. package/sync/utils/getTableType.js +10 -11
  172. package/sync/utils/getTableType.js.map +1 -1
  173. package/sync/utils/manifest.d.ts +3 -7
  174. package/sync/utils/manifest.js +27 -36
  175. package/sync/utils/manifest.js.map +1 -1
  176. package/sync/utils/validateSystemInput.js +21 -29
  177. package/sync/utils/validateSystemInput.js.map +1 -1
  178. package/types.d.ts +0 -3
  179. package/types.js +6 -6
  180. package/types.js.map +1 -1
  181. package/utils/createSystemName.js +5 -3
  182. package/utils/createSystemName.js.map +1 -1
  183. package/worker/SyncWorkerConfig.d.ts +9 -0
  184. package/worker/SyncWorkerConfig.js +5 -0
  185. package/worker/SyncWorkerConfig.js.map +1 -0
  186. package/worker/SyncWorkerEventHandler.d.ts +14 -0
  187. package/worker/SyncWorkerEventHandler.js +5 -0
  188. package/worker/SyncWorkerEventHandler.js.map +1 -0
  189. package/worker/SyncWorkerEventType.d.ts +10 -0
  190. package/worker/SyncWorkerEventType.js +24 -0
  191. package/worker/SyncWorkerEventType.js.map +1 -0
  192. package/worker/SyncWorkerLambdaHandler.d.ts +13 -0
  193. package/worker/SyncWorkerLambdaHandler.js +61 -0
  194. package/worker/SyncWorkerLambdaHandler.js.map +1 -0
  195. package/worker/actions/copyFile/CopyFile.js +183 -258
  196. package/worker/actions/copyFile/CopyFile.js.map +1 -1
  197. package/worker/actions/copyFile/copyFileAction.js +26 -34
  198. package/worker/actions/copyFile/copyFileAction.js.map +1 -1
  199. package/worker/actions/copyFile/copyFileSchema.d.ts +6 -38
  200. package/worker/actions/copyFile/copyFileSchema.js +13 -14
  201. package/worker/actions/copyFile/copyFileSchema.js.map +1 -1
  202. package/worker/actions/copyFile/types.js +0 -3
  203. package/worker/actions/createUser/CreateUser.js +51 -74
  204. package/worker/actions/createUser/CreateUser.js.map +1 -1
  205. package/worker/actions/createUser/createUserAction.js +24 -28
  206. package/worker/actions/createUser/createUserAction.js.map +1 -1
  207. package/worker/actions/createUser/createUserSchema.d.ts +6 -38
  208. package/worker/actions/createUser/createUserSchema.js +13 -14
  209. package/worker/actions/createUser/createUserSchema.js.map +1 -1
  210. package/worker/actions/createUser/types.js +0 -3
  211. package/worker/actions/deleteFile/DeleteFile.js +52 -67
  212. package/worker/actions/deleteFile/DeleteFile.js.map +1 -1
  213. package/worker/actions/deleteFile/deleteFileAction.js +21 -29
  214. package/worker/actions/deleteFile/deleteFileAction.js.map +1 -1
  215. package/worker/actions/deleteFile/deleteFileSchema.d.ts +6 -38
  216. package/worker/actions/deleteFile/deleteFileSchema.js +13 -14
  217. package/worker/actions/deleteFile/deleteFileSchema.js.map +1 -1
  218. package/worker/actions/deleteFile/types.js +0 -3
  219. package/worker/actions/deleteUser/DeleteUser.js +38 -52
  220. package/worker/actions/deleteUser/DeleteUser.js.map +1 -1
  221. package/worker/actions/deleteUser/deleteUserAction.js +22 -26
  222. package/worker/actions/deleteUser/deleteUserAction.js.map +1 -1
  223. package/worker/actions/deleteUser/deleteUserSchema.d.ts +5 -23
  224. package/worker/actions/deleteUser/deleteUserSchema.js +12 -13
  225. package/worker/actions/deleteUser/deleteUserSchema.js.map +1 -1
  226. package/worker/actions/deleteUser/types.js +0 -3
  227. package/worker/actions/logValidationError.js +5 -6
  228. package/worker/actions/logValidationError.js.map +1 -1
  229. package/worker/actions/removeCognitoUserAttributes.js +9 -15
  230. package/worker/actions/removeCognitoUserAttributes.js.map +1 -1
  231. package/worker/actions/updateUser/UpdateUser.js +48 -65
  232. package/worker/actions/updateUser/UpdateUser.js.map +1 -1
  233. package/worker/actions/updateUser/types.js +0 -3
  234. package/worker/actions/updateUser/updateUserAction.js +24 -28
  235. package/worker/actions/updateUser/updateUserAction.js.map +1 -1
  236. package/worker/actions/updateUser/updateUserSchema.d.ts +6 -38
  237. package/worker/actions/updateUser/updateUserSchema.js +13 -14
  238. package/worker/actions/updateUser/updateUserSchema.js.map +1 -1
  239. package/worker/handler/WorkerActionHandler.js +19 -21
  240. package/worker/handler/WorkerActionHandler.js.map +1 -1
  241. package/worker/plugins/WorkerActionPlugin.js +17 -16
  242. package/worker/plugins/WorkerActionPlugin.js.map +1 -1
  243. package/worker/types.js +0 -3
  244. package/index.js.map +0 -1
  245. package/resolver/app/abstractions/RecordHandler.js.map +0 -1
  246. package/resolver/app/abstractions/RecordsValidation.js.map +0 -1
  247. package/resolver/app/abstractions/ResolverApplication.js.map +0 -1
  248. package/resolver/app/abstractions/ResolverRecord.js.map +0 -1
  249. package/resolver/app/bundler/types.js.map +0 -1
  250. package/resolver/app/data/types.js.map +0 -1
  251. package/resolver/app/fetcher/types.js.map +0 -1
  252. package/resolver/app/ingestor/types.js.map +0 -1
  253. package/resolver/app/storer/types.js.map +0 -1
  254. package/resolver/createEventHandlerPlugin.d.ts +0 -11
  255. package/resolver/createEventHandlerPlugin.js +0 -120
  256. package/resolver/createEventHandlerPlugin.js.map +0 -1
  257. package/resolver/createResolverHandler.d.ts +0 -21
  258. package/resolver/createResolverHandler.js +0 -72
  259. package/resolver/createResolverHandler.js.map +0 -1
  260. package/resolver/deployment/types.js.map +0 -1
  261. package/resolver/recordTypes/fileManager/types.js.map +0 -1
  262. package/resolver/recordTypes/users/types.js.map +0 -1
  263. package/sync/createSendDataToEventBridgeOnRequestEnd.d.ts +0 -2
  264. package/sync/createSendDataToEventBridgeOnRequestEnd.js +0 -44
  265. package/sync/createSendDataToEventBridgeOnRequestEnd.js.map +0 -1
  266. package/sync/createSyncSystem.d.ts +0 -16
  267. package/sync/createSyncSystem.js +0 -35
  268. package/sync/createSyncSystem.js.map +0 -1
  269. package/sync/handler/types.js.map +0 -1
  270. package/sync/requestPlugin.d.ts +0 -9
  271. package/sync/requestPlugin.js +0 -58
  272. package/sync/requestPlugin.js.map +0 -1
  273. package/sync/types.js.map +0 -1
  274. package/worker/actions/copyFile/types.js.map +0 -1
  275. package/worker/actions/createUser/types.js.map +0 -1
  276. package/worker/actions/deleteFile/types.js.map +0 -1
  277. package/worker/actions/deleteUser/types.js.map +0 -1
  278. package/worker/actions/updateUser/types.js.map +0 -1
  279. package/worker/createWorkerHandler.d.ts +0 -11
  280. package/worker/createWorkerHandler.js +0 -41
  281. package/worker/createWorkerHandler.js.map +0 -1
  282. package/worker/handler/eventHandler.d.ts +0 -1
  283. package/worker/handler/eventHandler.js +0 -24
  284. package/worker/handler/eventHandler.js.map +0 -1
  285. package/worker/types.js.map +0 -1
@@ -1,142 +1,43 @@
1
1
  import zod from "zod";
2
2
  export declare const createBodyValidation: () => zod.ZodObject<{
3
- version: zod.ZodEffects<zod.ZodString, `${number}`, string>;
3
+ version: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${number}`, string>>;
4
4
  id: zod.ZodString;
5
- "detail-type": zod.ZodEffects<zod.ZodString, "synchronization-input", string>;
6
- source: zod.ZodEffects<zod.ZodString, `webiny:${string}`, string>;
7
- account: zod.ZodEffects<zod.ZodString, `${number}`, string>;
8
- time: zod.ZodEffects<zod.ZodString, Date, string>;
5
+ "detail-type": zod.ZodPipe<zod.ZodString, zod.ZodTransform<"synchronization-input", string>>;
6
+ source: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`webiny:${string}`, string>>;
7
+ account: zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${number}`, string>>;
8
+ time: zod.ZodPipe<zod.ZodString, zod.ZodTransform<Date, string>>;
9
9
  region: zod.ZodString;
10
- resources: zod.ZodArray<zod.ZodString, "many">;
10
+ resources: zod.ZodArray<zod.ZodString>;
11
11
  detail: zod.ZodObject<{
12
- items: zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
12
+ items: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
13
13
  PK: zod.ZodString;
14
14
  SK: zod.ZodString;
15
15
  tableName: zod.ZodString;
16
- tableType: zod.ZodEffects<zod.ZodEnum<["regular", "opensearch", "log", "unknown"]>, import("../../../types.js").DynamoDBTableType, "unknown" | "regular" | "opensearch" | "log">;
17
- command: zod.ZodEnum<["update", "put", "delete"]>;
18
- }, "strip", zod.ZodTypeAny, {
16
+ tableType: zod.ZodPipe<zod.ZodEnum<{
17
+ log: "log";
18
+ opensearch: "opensearch";
19
+ regular: "regular";
20
+ unknown: "unknown";
21
+ }>, zod.ZodTransform<import("../../../types.js").DynamoDBTableType, "log" | "opensearch" | "regular" | "unknown">>;
22
+ command: zod.ZodEnum<{
23
+ delete: "delete";
24
+ put: "put";
25
+ update: "update";
26
+ }>;
27
+ }, zod.core.$strip>>, zod.ZodTransform<import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>, {
19
28
  PK: string;
20
29
  SK: string;
21
30
  tableName: string;
22
31
  tableType: import("../../../types.js").DynamoDBTableType;
23
- command: "put" | "delete" | "update";
24
- }, {
25
- PK: string;
26
- SK: string;
27
- tableName: string;
28
- tableType: "unknown" | "regular" | "opensearch" | "log";
29
- command: "put" | "delete" | "update";
30
- }>, "many">, {
31
- PK: string;
32
- SK: string;
33
- tableName: string;
34
- tableType: import("../../../types.js").DynamoDBTableType;
35
- command: "put" | "delete" | "update";
36
- }[], {
37
- PK: string;
38
- SK: string;
39
- tableName: string;
40
- tableType: "unknown" | "regular" | "opensearch" | "log";
41
- command: "put" | "delete" | "update";
42
- }[]>, import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>, {
43
- PK: string;
44
- SK: string;
45
- tableName: string;
46
- tableType: "unknown" | "regular" | "opensearch" | "log";
47
- command: "put" | "delete" | "update";
48
- }[]>;
32
+ command: "delete" | "put" | "update";
33
+ }[]>>;
49
34
  source: zod.ZodObject<{
50
35
  name: zod.ZodString;
51
36
  env: zod.ZodString;
52
- variant: zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, string | undefined, string | null | undefined>;
37
+ variant: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
53
38
  region: zod.ZodString;
54
39
  version: zod.ZodString;
55
- }, "strip", zod.ZodTypeAny, {
56
- region: string;
57
- name: string;
58
- env: string;
59
- version: string;
60
- variant?: string | undefined;
61
- }, {
62
- region: string;
63
- name: string;
64
- env: string;
65
- version: string;
66
- variant?: string | null | undefined;
67
- }>;
40
+ }, zod.core.$strip>;
68
41
  id: zod.ZodString;
69
- }, "strip", zod.ZodTypeAny, {
70
- source: {
71
- region: string;
72
- name: string;
73
- env: string;
74
- version: string;
75
- variant?: string | undefined;
76
- };
77
- items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
78
- id: string;
79
- }, {
80
- source: {
81
- region: string;
82
- name: string;
83
- env: string;
84
- version: string;
85
- variant?: string | null | undefined;
86
- };
87
- items: {
88
- PK: string;
89
- SK: string;
90
- tableName: string;
91
- tableType: "unknown" | "regular" | "opensearch" | "log";
92
- command: "put" | "delete" | "update";
93
- }[];
94
- id: string;
95
- }>;
96
- }, "strip", zod.ZodTypeAny, {
97
- region: string;
98
- source: `webiny:${string}`;
99
- version: `${number}`;
100
- id: string;
101
- "detail-type": "synchronization-input";
102
- account: `${number}`;
103
- time: Date;
104
- resources: string[];
105
- detail: {
106
- source: {
107
- region: string;
108
- name: string;
109
- env: string;
110
- version: string;
111
- variant?: string | undefined;
112
- };
113
- items: import("@webiny/api/types.js").NonEmptyArray<import("../abstractions/ResolverRecord.js").IResolverRecordBodyItem>;
114
- id: string;
115
- };
116
- }, {
117
- region: string;
118
- source: string;
119
- version: string;
120
- id: string;
121
- "detail-type": string;
122
- account: string;
123
- time: string;
124
- resources: string[];
125
- detail: {
126
- source: {
127
- region: string;
128
- name: string;
129
- env: string;
130
- version: string;
131
- variant?: string | null | undefined;
132
- };
133
- items: {
134
- PK: string;
135
- SK: string;
136
- tableName: string;
137
- tableType: "unknown" | "regular" | "opensearch" | "log";
138
- command: "put" | "delete" | "update";
139
- }[];
140
- id: string;
141
- };
142
- }>;
42
+ }, zod.core.$strip>;
43
+ }, zod.core.$strip>;
@@ -3,36 +3,31 @@ import { createDetailValidation } from "./detail.js";
3
3
  import { SQS_EVENT_NAME } from "../../../constants.js";
4
4
  import { createNumericStringValidation } from "./numericString.js";
5
5
  const detailValidation = createDetailValidation();
6
- export const createBodyValidation = () => {
7
- return zod.object({
8
- version: createNumericStringValidation("version"),
9
- id: zod.string(),
10
- "detail-type": zod.string().transform((value, ctx) => {
11
- if (value === SQS_EVENT_NAME) {
12
- return SQS_EVENT_NAME;
13
- }
14
- ctx.addIssue({
15
- code: zod.ZodIssueCode.custom,
16
- message: `"detail-type" must be "${SQS_EVENT_NAME}".`
17
- });
18
- return zod.NEVER;
19
- }),
20
- source: zod.string().transform((value, ctx) => {
21
- if (value.startsWith("webiny:")) {
22
- return value;
23
- }
24
- ctx.addIssue({
25
- code: zod.ZodIssueCode.custom,
26
- message: `"source" must start with "webiny:".`
27
- });
28
- return zod.NEVER;
29
- }),
30
- account: createNumericStringValidation("account"),
31
- time: zod.string().transform(value => new Date(value)),
32
- region: zod.string(),
33
- resources: zod.array(zod.string()),
34
- detail: detailValidation
35
- });
36
- };
6
+ const createBodyValidation = ()=>zod.object({
7
+ version: createNumericStringValidation("version"),
8
+ id: zod.string(),
9
+ "detail-type": zod.string().transform((value, ctx)=>{
10
+ if (value === SQS_EVENT_NAME) return SQS_EVENT_NAME;
11
+ ctx.addIssue({
12
+ code: zod.ZodIssueCode.custom,
13
+ message: `"detail-type" must be "${SQS_EVENT_NAME}".`
14
+ });
15
+ return zod.NEVER;
16
+ }),
17
+ source: zod.string().transform((value, ctx)=>{
18
+ if (value.startsWith("webiny:")) return value;
19
+ ctx.addIssue({
20
+ code: zod.ZodIssueCode.custom,
21
+ message: '"source" must start with "webiny:".'
22
+ });
23
+ return zod.NEVER;
24
+ }),
25
+ account: createNumericStringValidation("account"),
26
+ time: zod.string().transform((value)=>new Date(value)),
27
+ region: zod.string(),
28
+ resources: zod.array(zod.string()),
29
+ detail: detailValidation
30
+ });
31
+ export { createBodyValidation };
37
32
 
38
33
  //# sourceMappingURL=body.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["zod","createDetailValidation","SQS_EVENT_NAME","createNumericStringValidation","detailValidation","createBodyValidation","object","version","id","string","transform","value","ctx","addIssue","code","ZodIssueCode","custom","message","NEVER","source","startsWith","account","time","Date","region","resources","array","detail"],"sources":["body.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createDetailValidation } from \"./detail.js\";\nimport { SQS_EVENT_NAME } from \"~/constants.js\";\nimport { createNumericStringValidation } from \"~/resolver/app/validation/numericString.js\";\n\nconst detailValidation = createDetailValidation();\n\nexport const createBodyValidation = () => {\n return zod.object({\n version: createNumericStringValidation(\"version\"),\n id: zod.string(),\n \"detail-type\": zod.string().transform((value, ctx) => {\n if (value === SQS_EVENT_NAME) {\n return SQS_EVENT_NAME;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"detail-type\" must be \"${SQS_EVENT_NAME}\".`\n });\n return zod.NEVER;\n }),\n source: zod.string().transform((value, ctx) => {\n if (value.startsWith(\"webiny:\")) {\n return value as `webiny:${string}`;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"source\" must start with \"webiny:\".`\n });\n return zod.NEVER;\n }),\n account: createNumericStringValidation(\"account\"),\n time: zod.string().transform(value => new Date(value)),\n region: zod.string(),\n resources: zod.array(zod.string()),\n detail: detailValidation\n });\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,KAAK;AACrB,SAASC,sBAAsB;AAC/B,SAASC,cAAc;AACvB,SAASC,6BAA6B;AAEtC,MAAMC,gBAAgB,GAAGH,sBAAsB,CAAC,CAAC;AAEjD,OAAO,MAAMI,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAOL,GAAG,CAACM,MAAM,CAAC;IACdC,OAAO,EAAEJ,6BAA6B,CAAC,SAAS,CAAC;IACjDK,EAAE,EAAER,GAAG,CAACS,MAAM,CAAC,CAAC;IAChB,aAAa,EAAET,GAAG,CAACS,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAClD,IAAID,KAAK,KAAKT,cAAc,EAAE;QAC1B,OAAOA,cAAc;MACzB;MACAU,GAAG,CAACC,QAAQ,CAAC;QACTC,IAAI,EAAEd,GAAG,CAACe,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE,0BAA0Bf,cAAc;MACrD,CAAC,CAAC;MACF,OAAOF,GAAG,CAACkB,KAAK;IACpB,CAAC,CAAC;IACFC,MAAM,EAAEnB,GAAG,CAACS,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;MAC3C,IAAID,KAAK,CAACS,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAOT,KAAK;MAChB;MACAC,GAAG,CAACC,QAAQ,CAAC;QACTC,IAAI,EAAEd,GAAG,CAACe,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE;MACb,CAAC,CAAC;MACF,OAAOjB,GAAG,CAACkB,KAAK;IACpB,CAAC,CAAC;IACFG,OAAO,EAAElB,6BAA6B,CAAC,SAAS,CAAC;IACjDmB,IAAI,EAAEtB,GAAG,CAACS,MAAM,CAAC,CAAC,CAACC,SAAS,CAACC,KAAK,IAAI,IAAIY,IAAI,CAACZ,KAAK,CAAC,CAAC;IACtDa,MAAM,EAAExB,GAAG,CAACS,MAAM,CAAC,CAAC;IACpBgB,SAAS,EAAEzB,GAAG,CAAC0B,KAAK,CAAC1B,GAAG,CAACS,MAAM,CAAC,CAAC,CAAC;IAClCkB,MAAM,EAAEvB;EACZ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/validation/body.js","sources":["../../../../src/resolver/app/validation/body.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createDetailValidation } from \"./detail.js\";\nimport { SQS_EVENT_NAME } from \"~/constants.js\";\nimport { createNumericStringValidation } from \"~/resolver/app/validation/numericString.js\";\n\nconst detailValidation = createDetailValidation();\n\nexport const createBodyValidation = () => {\n return zod.object({\n version: createNumericStringValidation(\"version\"),\n id: zod.string(),\n \"detail-type\": zod.string().transform((value, ctx) => {\n if (value === SQS_EVENT_NAME) {\n return SQS_EVENT_NAME;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"detail-type\" must be \"${SQS_EVENT_NAME}\".`\n });\n return zod.NEVER;\n }),\n source: zod.string().transform((value, ctx) => {\n if (value.startsWith(\"webiny:\")) {\n return value as `webiny:${string}`;\n }\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `\"source\" must start with \"webiny:\".`\n });\n return zod.NEVER;\n }),\n account: createNumericStringValidation(\"account\"),\n time: zod.string().transform(value => new Date(value)),\n region: zod.string(),\n resources: zod.array(zod.string()),\n detail: detailValidation\n });\n};\n"],"names":["detailValidation","createDetailValidation","createBodyValidation","zod","createNumericStringValidation","value","ctx","SQS_EVENT_NAME","Date"],"mappings":";;;;AAKA,MAAMA,mBAAmBC;AAElB,MAAMC,uBAAuB,IACzBC,IAAI,MAAM,CAAC;QACd,SAASC,8BAA8B;QACvC,IAAID,IAAI,MAAM;QACd,eAAeA,IAAI,MAAM,GAAG,SAAS,CAAC,CAACE,OAAOC;YAC1C,IAAID,UAAUE,gBACV,OAAOA;YAEXD,IAAI,QAAQ,CAAC;gBACT,MAAMH,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS,CAAC,uBAAuB,EAAEI,eAAe,EAAE,CAAC;YACzD;YACA,OAAOJ,IAAI,KAAK;QACpB;QACA,QAAQA,IAAI,MAAM,GAAG,SAAS,CAAC,CAACE,OAAOC;YACnC,IAAID,MAAM,UAAU,CAAC,YACjB,OAAOA;YAEXC,IAAI,QAAQ,CAAC;gBACT,MAAMH,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS;YACb;YACA,OAAOA,IAAI,KAAK;QACpB;QACA,SAASC,8BAA8B;QACvC,MAAMD,IAAI,MAAM,GAAG,SAAS,CAACE,CAAAA,QAAS,IAAIG,KAAKH;QAC/C,QAAQF,IAAI,MAAM;QAClB,WAAWA,IAAI,KAAK,CAACA,IAAI,MAAM;QAC/B,QAAQH;IACZ"}
@@ -1,2 +1,2 @@
1
1
  import zod from "zod";
2
- export declare const createJsonTransform: (name: string) => zod.ZodEffects<zod.ZodString, any, string>;
2
+ export declare const createJsonTransform: (name: string) => zod.ZodPipe<zod.ZodString, zod.ZodTransform<any, string>>;
@@ -1,16 +1,15 @@
1
1
  import zod from "zod";
2
- export const createJsonTransform = name => {
3
- return zod.string().transform((value, ctx) => {
4
- try {
5
- return JSON.parse(value);
6
- } catch {
7
- ctx.addIssue({
8
- code: zod.ZodIssueCode.custom,
9
- message: `${name} must be a valid JSON string.`
10
- });
11
- return zod.NEVER;
12
- }
13
- });
14
- };
2
+ const createJsonTransform = (name)=>zod.string().transform((value, ctx)=>{
3
+ try {
4
+ return JSON.parse(value);
5
+ } catch {
6
+ ctx.addIssue({
7
+ code: zod.ZodIssueCode.custom,
8
+ message: `${name} must be a valid JSON string.`
9
+ });
10
+ return zod.NEVER;
11
+ }
12
+ });
13
+ export { createJsonTransform };
15
14
 
16
15
  //# sourceMappingURL=createJsonTransform.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["zod","createJsonTransform","name","string","transform","value","ctx","JSON","parse","addIssue","code","ZodIssueCode","custom","message","NEVER"],"sources":["createJsonTransform.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport const createJsonTransform = (name: string) => {\n return zod.string().transform((value, ctx) => {\n try {\n return JSON.parse(value);\n } catch {\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `${name} must be a valid JSON string.`\n });\n return zod.NEVER;\n }\n });\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,KAAK;AAErB,OAAO,MAAMC,mBAAmB,GAAIC,IAAY,IAAK;EACjD,OAAOF,GAAG,CAACG,MAAM,CAAC,CAAC,CAACC,SAAS,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAC1C,IAAI;MACA,OAAOC,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC;IAC5B,CAAC,CAAC,MAAM;MACJC,GAAG,CAACG,QAAQ,CAAC;QACTC,IAAI,EAAEV,GAAG,CAACW,YAAY,CAACC,MAAM;QAC7BC,OAAO,EAAE,GAAGX,IAAI;MACpB,CAAC,CAAC;MACF,OAAOF,GAAG,CAACc,KAAK;IACpB;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/validation/createJsonTransform.js","sources":["../../../../src/resolver/app/validation/createJsonTransform.ts"],"sourcesContent":["import zod from \"zod\";\n\nexport const createJsonTransform = (name: string) => {\n return zod.string().transform((value, ctx) => {\n try {\n return JSON.parse(value);\n } catch {\n ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `${name} must be a valid JSON string.`\n });\n return zod.NEVER;\n }\n });\n};\n"],"names":["createJsonTransform","name","zod","value","ctx","JSON"],"mappings":";AAEO,MAAMA,sBAAsB,CAACC,OACzBC,IAAI,MAAM,GAAG,SAAS,CAAC,CAACC,OAAOC;QAClC,IAAI;YACA,OAAOC,KAAK,KAAK,CAACF;QACtB,EAAE,OAAM;YACJC,IAAI,QAAQ,CAAC;gBACT,MAAMF,IAAI,YAAY,CAAC,MAAM;gBAC7B,SAAS,GAAGD,KAAK,6BAA6B,CAAC;YACnD;YACA,OAAOC,IAAI,KAAK;QACpB;IACJ"}
@@ -3,87 +3,34 @@ import type { NonEmptyArray } from "@webiny/api/types.js";
3
3
  import type { IResolverRecordBodyItem } from "../../../resolver/app/abstractions/ResolverRecord.js";
4
4
  import { DynamoDBTableType } from "../../../types.js";
5
5
  export declare const createDetailValidation: () => zod.ZodObject<{
6
- items: zod.ZodEffects<zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
6
+ items: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
7
7
  PK: zod.ZodString;
8
8
  SK: zod.ZodString;
9
9
  tableName: zod.ZodString;
10
- tableType: zod.ZodEffects<zod.ZodEnum<["regular", "opensearch", "log", "unknown"]>, DynamoDBTableType, "unknown" | "regular" | "opensearch" | "log">;
11
- command: zod.ZodEnum<["update", "put", "delete"]>;
12
- }, "strip", zod.ZodTypeAny, {
10
+ tableType: zod.ZodPipe<zod.ZodEnum<{
11
+ log: "log";
12
+ opensearch: "opensearch";
13
+ regular: "regular";
14
+ unknown: "unknown";
15
+ }>, zod.ZodTransform<DynamoDBTableType, "log" | "opensearch" | "regular" | "unknown">>;
16
+ command: zod.ZodEnum<{
17
+ delete: "delete";
18
+ put: "put";
19
+ update: "update";
20
+ }>;
21
+ }, zod.core.$strip>>, zod.ZodTransform<NonEmptyArray<IResolverRecordBodyItem>, {
13
22
  PK: string;
14
23
  SK: string;
15
24
  tableName: string;
16
25
  tableType: DynamoDBTableType;
17
- command: "put" | "delete" | "update";
18
- }, {
19
- PK: string;
20
- SK: string;
21
- tableName: string;
22
- tableType: "unknown" | "regular" | "opensearch" | "log";
23
- command: "put" | "delete" | "update";
24
- }>, "many">, {
25
- PK: string;
26
- SK: string;
27
- tableName: string;
28
- tableType: DynamoDBTableType;
29
- command: "put" | "delete" | "update";
30
- }[], {
31
- PK: string;
32
- SK: string;
33
- tableName: string;
34
- tableType: "unknown" | "regular" | "opensearch" | "log";
35
- command: "put" | "delete" | "update";
36
- }[]>, NonEmptyArray<IResolverRecordBodyItem>, {
37
- PK: string;
38
- SK: string;
39
- tableName: string;
40
- tableType: "unknown" | "regular" | "opensearch" | "log";
41
- command: "put" | "delete" | "update";
42
- }[]>;
26
+ command: "delete" | "put" | "update";
27
+ }[]>>;
43
28
  source: zod.ZodObject<{
44
29
  name: zod.ZodString;
45
30
  env: zod.ZodString;
46
- variant: zod.ZodEffects<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, string | undefined, string | null | undefined>;
31
+ variant: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
47
32
  region: zod.ZodString;
48
33
  version: zod.ZodString;
49
- }, "strip", zod.ZodTypeAny, {
50
- region: string;
51
- name: string;
52
- env: string;
53
- version: string;
54
- variant?: string | undefined;
55
- }, {
56
- region: string;
57
- name: string;
58
- env: string;
59
- version: string;
60
- variant?: string | null | undefined;
61
- }>;
34
+ }, zod.core.$strip>;
62
35
  id: zod.ZodString;
63
- }, "strip", zod.ZodTypeAny, {
64
- source: {
65
- region: string;
66
- name: string;
67
- env: string;
68
- version: string;
69
- variant?: string | undefined;
70
- };
71
- items: NonEmptyArray<IResolverRecordBodyItem>;
72
- id: string;
73
- }, {
74
- source: {
75
- region: string;
76
- name: string;
77
- env: string;
78
- version: string;
79
- variant?: string | null | undefined;
80
- };
81
- items: {
82
- PK: string;
83
- SK: string;
84
- tableName: string;
85
- tableType: "unknown" | "regular" | "opensearch" | "log";
86
- command: "put" | "delete" | "update";
87
- }[];
88
- id: string;
89
- }>;
36
+ }, zod.core.$strip>;
@@ -1,42 +1,37 @@
1
1
  import zod from "zod";
2
2
  import { createSystemValidation } from "./system.js";
3
3
  import { DynamoDBTableType } from "../../../types.js";
4
- const convert = input => {
5
- /**
6
- * We can safely cast as NonEmptyArray<IResolverRecordBodyItem> here because we already validated that the array is not empty.
7
- */
8
- return input;
9
- };
10
- const transformTableType = input => {
11
- const keys = Object.keys(DynamoDBTableType);
12
- for (const key of keys) {
13
- const value = DynamoDBTableType[key];
14
- if (value === input) {
15
- return value;
4
+ const convert = (input)=>input;
5
+ const transformTableType = (input)=>{
6
+ const keys = Object.keys(DynamoDBTableType);
7
+ for (const key of keys){
8
+ const value = DynamoDBTableType[key];
9
+ if (value === input) return value;
16
10
  }
17
- }
18
- return DynamoDBTableType.UNKNOWN;
19
- };
20
- export const createDetailValidation = () => {
21
- return zod.object({
22
- items: zod.array(zod.object({
23
- PK: zod.string(),
24
- SK: zod.string(),
25
- tableName: zod.string(),
26
- tableType: zod.enum(["regular", "opensearch", "log", "unknown"]).transform(input => {
27
- return transformTableType(input);
28
- }),
29
- command: zod.enum(["update", "put", "delete"])
30
- })).refine(values => {
31
- return values.length > 0;
32
- }, {
33
- message: `"items" array must not be empty.`
34
- }).transform(values => {
35
- return convert(values);
36
- }),
37
- source: createSystemValidation(),
38
- id: zod.string()
39
- });
11
+ return DynamoDBTableType.UNKNOWN;
40
12
  };
13
+ const createDetailValidation = ()=>zod.object({
14
+ items: zod.array(zod.object({
15
+ PK: zod.string(),
16
+ SK: zod.string(),
17
+ tableName: zod.string(),
18
+ tableType: zod["enum"]([
19
+ "regular",
20
+ "opensearch",
21
+ "log",
22
+ "unknown"
23
+ ]).transform((input)=>transformTableType(input)),
24
+ command: zod["enum"]([
25
+ "update",
26
+ "put",
27
+ "delete"
28
+ ])
29
+ })).refine((values)=>values.length > 0, {
30
+ message: '"items" array must not be empty.'
31
+ }).transform((values)=>convert(values)),
32
+ source: createSystemValidation(),
33
+ id: zod.string()
34
+ });
35
+ export { createDetailValidation };
41
36
 
42
37
  //# sourceMappingURL=detail.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["zod","createSystemValidation","DynamoDBTableType","convert","input","transformTableType","keys","Object","key","value","UNKNOWN","createDetailValidation","object","items","array","PK","string","SK","tableName","tableType","enum","transform","command","refine","values","length","message","source","id"],"sources":["detail.ts"],"sourcesContent":["import zod from \"zod\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { IResolverRecordBodyItem } from \"~/resolver/app/abstractions/ResolverRecord.js\";\nimport { createSystemValidation } from \"./system.js\";\nimport { DynamoDBTableType } from \"~/types.js\";\n\nconst convert = (input: IResolverRecordBodyItem[]) => {\n /**\n * We can safely cast as NonEmptyArray<IResolverRecordBodyItem> here because we already validated that the array is not empty.\n */\n return input as NonEmptyArray<IResolverRecordBodyItem>;\n};\n\nconst transformTableType = (input: string): DynamoDBTableType => {\n const keys = Object.keys(DynamoDBTableType) as (keyof typeof DynamoDBTableType)[];\n for (const key of keys) {\n const value = DynamoDBTableType[key];\n if (value === input) {\n return value;\n }\n }\n return DynamoDBTableType.UNKNOWN;\n};\n\nexport const createDetailValidation = () => {\n return zod.object({\n items: zod\n .array(\n zod.object({\n PK: zod.string(),\n SK: zod.string(),\n tableName: zod.string(),\n tableType: zod\n .enum([\"regular\", \"opensearch\", \"log\", \"unknown\"])\n .transform(input => {\n return transformTableType(input);\n }),\n command: zod.enum([\"update\", \"put\", \"delete\"])\n })\n )\n .refine(\n values => {\n return values.length > 0;\n },\n {\n message: `\"items\" array must not be empty.`\n }\n )\n .transform(values => {\n return convert(values);\n }),\n source: createSystemValidation(),\n id: zod.string()\n });\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,KAAK;AAGrB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAE1B,MAAMC,OAAO,GAAIC,KAAgC,IAAK;EAClD;AACJ;AACA;EACI,OAAOA,KAAK;AAChB,CAAC;AAED,MAAMC,kBAAkB,GAAID,KAAa,IAAwB;EAC7D,MAAME,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACJ,iBAAiB,CAAuC;EACjF,KAAK,MAAMM,GAAG,IAAIF,IAAI,EAAE;IACpB,MAAMG,KAAK,GAAGP,iBAAiB,CAACM,GAAG,CAAC;IACpC,IAAIC,KAAK,KAAKL,KAAK,EAAE;MACjB,OAAOK,KAAK;IAChB;EACJ;EACA,OAAOP,iBAAiB,CAACQ,OAAO;AACpC,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EACxC,OAAOX,GAAG,CAACY,MAAM,CAAC;IACdC,KAAK,EAAEb,GAAG,CACLc,KAAK,CACFd,GAAG,CAACY,MAAM,CAAC;MACPG,EAAE,EAAEf,GAAG,CAACgB,MAAM,CAAC,CAAC;MAChBC,EAAE,EAAEjB,GAAG,CAACgB,MAAM,CAAC,CAAC;MAChBE,SAAS,EAAElB,GAAG,CAACgB,MAAM,CAAC,CAAC;MACvBG,SAAS,EAAEnB,GAAG,CACToB,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CACjDC,SAAS,CAACjB,KAAK,IAAI;QAChB,OAAOC,kBAAkB,CAACD,KAAK,CAAC;MACpC,CAAC,CAAC;MACNkB,OAAO,EAAEtB,GAAG,CAACoB,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;IACjD,CAAC,CACL,CAAC,CACAG,MAAM,CACHC,MAAM,IAAI;MACN,OAAOA,MAAM,CAACC,MAAM,GAAG,CAAC;IAC5B,CAAC,EACD;MACIC,OAAO,EAAE;IACb,CACJ,CAAC,CACAL,SAAS,CAACG,MAAM,IAAI;MACjB,OAAOrB,OAAO,CAACqB,MAAM,CAAC;IAC1B,CAAC,CAAC;IACNG,MAAM,EAAE1B,sBAAsB,CAAC,CAAC;IAChC2B,EAAE,EAAE5B,GAAG,CAACgB,MAAM,CAAC;EACnB,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolver/app/validation/detail.js","sources":["../../../../src/resolver/app/validation/detail.ts"],"sourcesContent":["import zod from \"zod\";\nimport type { NonEmptyArray } from \"@webiny/api/types.js\";\nimport type { IResolverRecordBodyItem } from \"~/resolver/app/abstractions/ResolverRecord.js\";\nimport { createSystemValidation } from \"./system.js\";\nimport { DynamoDBTableType } from \"~/types.js\";\n\nconst convert = (input: IResolverRecordBodyItem[]) => {\n /**\n * We can safely cast as NonEmptyArray<IResolverRecordBodyItem> here because we already validated that the array is not empty.\n */\n return input as NonEmptyArray<IResolverRecordBodyItem>;\n};\n\nconst transformTableType = (input: string): DynamoDBTableType => {\n const keys = Object.keys(DynamoDBTableType) as (keyof typeof DynamoDBTableType)[];\n for (const key of keys) {\n const value = DynamoDBTableType[key];\n if (value === input) {\n return value;\n }\n }\n return DynamoDBTableType.UNKNOWN;\n};\n\nexport const createDetailValidation = () => {\n return zod.object({\n items: zod\n .array(\n zod.object({\n PK: zod.string(),\n SK: zod.string(),\n tableName: zod.string(),\n tableType: zod\n .enum([\"regular\", \"opensearch\", \"log\", \"unknown\"])\n .transform(input => {\n return transformTableType(input);\n }),\n command: zod.enum([\"update\", \"put\", \"delete\"])\n })\n )\n .refine(\n values => {\n return values.length > 0;\n },\n {\n message: `\"items\" array must not be empty.`\n }\n )\n .transform(values => {\n return convert(values);\n }),\n source: createSystemValidation(),\n id: zod.string()\n });\n};\n"],"names":["convert","input","transformTableType","keys","Object","DynamoDBTableType","key","value","createDetailValidation","zod","values","createSystemValidation"],"mappings":";;;AAMA,MAAMA,UAAU,CAACC,QAINA;AAGX,MAAMC,qBAAqB,CAACD;IACxB,MAAME,OAAOC,OAAO,IAAI,CAACC;IACzB,KAAK,MAAMC,OAAOH,KAAM;QACpB,MAAMI,QAAQF,iBAAiB,CAACC,IAAI;QACpC,IAAIC,UAAUN,OACV,OAAOM;IAEf;IACA,OAAOF,kBAAkB,OAAO;AACpC;AAEO,MAAMG,yBAAyB,IAC3BC,IAAI,MAAM,CAAC;QACd,OAAOA,IAAAA,KACG,CACFA,IAAI,MAAM,CAAC;YACP,IAAIA,IAAI,MAAM;YACd,IAAIA,IAAI,MAAM;YACd,WAAWA,IAAI,MAAM;YACrB,WAAWA,GAAG,CAAHA,OACF,CAAC;gBAAC;gBAAW;gBAAc;gBAAO;aAAU,EAChD,SAAS,CAACR,CAAAA,QACAC,mBAAmBD;YAElC,SAASQ,GAAG,CAAHA,OAAQ,CAAC;gBAAC;gBAAU;gBAAO;aAAS;QACjD,IAEH,MAAM,CACHC,CAAAA,SACWA,OAAO,MAAM,GAAG,GAE3B;YACI,SAAS;QACb,GAEH,SAAS,CAACA,CAAAA,SACAV,QAAQU;QAEvB,QAAQC;QACR,IAAIF,IAAI,MAAM;IAClB"}