@mbc-cqrs-serverless/core 0.1.10-beta.0 → 0.1.11-beta.0

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 (352) hide show
  1. package/package.json +2 -2
  2. package/dist/app.controller.d.ts +0 -8
  3. package/dist/app.controller.js +0 -44
  4. package/dist/app.controller.js.map +0 -1
  5. package/dist/app.module-definition.d.ts +0 -2
  6. package/dist/app.module-definition.js +0 -9
  7. package/dist/app.module-definition.js.map +0 -1
  8. package/dist/app.module.d.ts +0 -5
  9. package/dist/app.module.js +0 -76
  10. package/dist/app.module.js.map +0 -1
  11. package/dist/app.service.d.ts +0 -3
  12. package/dist/app.service.js +0 -20
  13. package/dist/app.service.js.map +0 -1
  14. package/dist/bootstrap.d.ts +0 -3
  15. package/dist/bootstrap.js +0 -118
  16. package/dist/bootstrap.js.map +0 -1
  17. package/dist/command-events/data-sync.module.d.ts +0 -2
  18. package/dist/command-events/data-sync.module.js +0 -21
  19. package/dist/command-events/data-sync.module.js.map +0 -1
  20. package/dist/command-events/data-sync.new.event.d.ts +0 -16
  21. package/dist/command-events/data-sync.new.event.handler.d.ts +0 -14
  22. package/dist/command-events/data-sync.new.event.handler.js +0 -47
  23. package/dist/command-events/data-sync.new.event.handler.js.map +0 -1
  24. package/dist/command-events/data-sync.new.event.js +0 -20
  25. package/dist/command-events/data-sync.new.event.js.map +0 -1
  26. package/dist/command-events/data-sync.sfn.event.d.ts +0 -24
  27. package/dist/command-events/data-sync.sfn.event.handler.d.ts +0 -11
  28. package/dist/command-events/data-sync.sfn.event.handler.js +0 -38
  29. package/dist/command-events/data-sync.sfn.event.handler.js.map +0 -1
  30. package/dist/command-events/data-sync.sfn.event.js +0 -57
  31. package/dist/command-events/data-sync.sfn.event.js.map +0 -1
  32. package/dist/command-events/index.d.ts +0 -6
  33. package/dist/command-events/index.js +0 -23
  34. package/dist/command-events/index.js.map +0 -1
  35. package/dist/command-events/sfn-name.enum.d.ts +0 -10
  36. package/dist/command-events/sfn-name.enum.js +0 -15
  37. package/dist/command-events/sfn-name.enum.js.map +0 -1
  38. package/dist/commands/command.event.handler.d.ts +0 -23
  39. package/dist/commands/command.event.handler.js +0 -143
  40. package/dist/commands/command.event.handler.js.map +0 -1
  41. package/dist/commands/command.module-definition.d.ts +0 -2
  42. package/dist/commands/command.module-definition.js +0 -7
  43. package/dist/commands/command.module-definition.js.map +0 -1
  44. package/dist/commands/command.module.d.ts +0 -5
  45. package/dist/commands/command.module.js +0 -46
  46. package/dist/commands/command.module.js.map +0 -1
  47. package/dist/commands/command.service.d.ts +0 -40
  48. package/dist/commands/command.service.js +0 -249
  49. package/dist/commands/command.service.js.map +0 -1
  50. package/dist/commands/data.service.d.ts +0 -25
  51. package/dist/commands/data.service.js +0 -85
  52. package/dist/commands/data.service.js.map +0 -1
  53. package/dist/commands/enums/index.d.ts +0 -1
  54. package/dist/commands/enums/index.js +0 -18
  55. package/dist/commands/enums/index.js.map +0 -1
  56. package/dist/commands/enums/status.enum.d.ts +0 -6
  57. package/dist/commands/enums/status.enum.js +0 -14
  58. package/dist/commands/enums/status.enum.js.map +0 -1
  59. package/dist/commands/handlers/data-sync-dds.handler.d.ts +0 -10
  60. package/dist/commands/handlers/data-sync-dds.handler.js +0 -35
  61. package/dist/commands/handlers/data-sync-dds.handler.js.map +0 -1
  62. package/dist/commands/handlers/index.d.ts +0 -1
  63. package/dist/commands/handlers/index.js +0 -18
  64. package/dist/commands/handlers/index.js.map +0 -1
  65. package/dist/commands/history.service.d.ts +0 -17
  66. package/dist/commands/history.service.js +0 -57
  67. package/dist/commands/history.service.js.map +0 -1
  68. package/dist/commands/index.d.ts +0 -7
  69. package/dist/commands/index.js +0 -24
  70. package/dist/commands/index.js.map +0 -1
  71. package/dist/constants/dynamodb-table.d.ts +0 -3
  72. package/dist/constants/dynamodb-table.js +0 -7
  73. package/dist/constants/dynamodb-table.js.map +0 -1
  74. package/dist/constants/index.d.ts +0 -5
  75. package/dist/constants/index.js +0 -22
  76. package/dist/constants/index.js.map +0 -1
  77. package/dist/constants/key.d.ts +0 -4
  78. package/dist/constants/key.js +0 -8
  79. package/dist/constants/key.js.map +0 -1
  80. package/dist/constants/role.d.ts +0 -1
  81. package/dist/constants/role.js +0 -5
  82. package/dist/constants/role.js.map +0 -1
  83. package/dist/constants/sqs-queue.d.ts +0 -1
  84. package/dist/constants/sqs-queue.js +0 -5
  85. package/dist/constants/sqs-queue.js.map +0 -1
  86. package/dist/constants/tenant.d.ts +0 -2
  87. package/dist/constants/tenant.js +0 -6
  88. package/dist/constants/tenant.js.map +0 -1
  89. package/dist/context/index.d.ts +0 -2
  90. package/dist/context/index.js +0 -19
  91. package/dist/context/index.js.map +0 -1
  92. package/dist/context/invoke.d.ts +0 -73
  93. package/dist/context/invoke.js +0 -57
  94. package/dist/context/invoke.js.map +0 -1
  95. package/dist/context/user.d.ts +0 -13
  96. package/dist/context/user.js +0 -36
  97. package/dist/context/user.js.map +0 -1
  98. package/dist/data-store/data-store.module.d.ts +0 -2
  99. package/dist/data-store/data-store.module.js +0 -23
  100. package/dist/data-store/data-store.module.js.map +0 -1
  101. package/dist/data-store/dynamodb.service.d.ts +0 -36
  102. package/dist/data-store/dynamodb.service.js +0 -317
  103. package/dist/data-store/dynamodb.service.js.map +0 -1
  104. package/dist/data-store/index.d.ts +0 -3
  105. package/dist/data-store/index.js +0 -20
  106. package/dist/data-store/index.js.map +0 -1
  107. package/dist/data-store/s3.service.d.ts +0 -16
  108. package/dist/data-store/s3.service.js +0 -55
  109. package/dist/data-store/s3.service.js.map +0 -1
  110. package/dist/decorators/auth.decorator.d.ts +0 -7
  111. package/dist/decorators/auth.decorator.js +0 -29
  112. package/dist/decorators/auth.decorator.js.map +0 -1
  113. package/dist/decorators/constants.d.ts +0 -5
  114. package/dist/decorators/constants.js +0 -9
  115. package/dist/decorators/constants.js.map +0 -1
  116. package/dist/decorators/context.decorator.d.ts +0 -1
  117. package/dist/decorators/context.decorator.js +0 -9
  118. package/dist/decorators/context.decorator.js.map +0 -1
  119. package/dist/decorators/data-sync-handler.decorator.d.ts +0 -2
  120. package/dist/decorators/data-sync-handler.decorator.js +0 -12
  121. package/dist/decorators/data-sync-handler.decorator.js.map +0 -1
  122. package/dist/decorators/event-factory.decorator.d.ts +0 -2
  123. package/dist/decorators/event-factory.decorator.js +0 -12
  124. package/dist/decorators/event-factory.decorator.js.map +0 -1
  125. package/dist/decorators/event-handler.decorator.d.ts +0 -3
  126. package/dist/decorators/event-handler.decorator.js +0 -16
  127. package/dist/decorators/event-handler.decorator.js.map +0 -1
  128. package/dist/decorators/index.d.ts +0 -8
  129. package/dist/decorators/index.js +0 -25
  130. package/dist/decorators/index.js.map +0 -1
  131. package/dist/decorators/roles.decorator.d.ts +0 -1
  132. package/dist/decorators/roles.decorator.js +0 -8
  133. package/dist/decorators/roles.decorator.js.map +0 -1
  134. package/dist/decorators/swagger-response.decorator.d.ts +0 -2
  135. package/dist/decorators/swagger-response.decorator.js +0 -10
  136. package/dist/decorators/swagger-response.decorator.js.map +0 -1
  137. package/dist/env.validation.d.ts +0 -30
  138. package/dist/env.validation.js +0 -132
  139. package/dist/env.validation.js.map +0 -1
  140. package/dist/events/default-event-factory.d.ts +0 -10
  141. package/dist/events/default-event-factory.js +0 -51
  142. package/dist/events/default-event-factory.js.map +0 -1
  143. package/dist/events/event-bus.d.ts +0 -16
  144. package/dist/events/event-bus.js +0 -70
  145. package/dist/events/event-bus.js.map +0 -1
  146. package/dist/events/event-metadata.interface.d.ts +0 -3
  147. package/dist/events/event-metadata.interface.js +0 -3
  148. package/dist/events/event-metadata.interface.js.map +0 -1
  149. package/dist/events/event.controller.d.ts +0 -14
  150. package/dist/events/event.controller.js +0 -131
  151. package/dist/events/event.controller.js.map +0 -1
  152. package/dist/events/event.module.d.ts +0 -12
  153. package/dist/events/event.module.js +0 -48
  154. package/dist/events/event.module.js.map +0 -1
  155. package/dist/events/event.services.d.ts +0 -21
  156. package/dist/events/event.services.js +0 -72
  157. package/dist/events/event.services.js.map +0 -1
  158. package/dist/events/index.d.ts +0 -6
  159. package/dist/events/index.js +0 -23
  160. package/dist/events/index.js.map +0 -1
  161. package/dist/events/mocks/event-handler.mock.d.ts +0 -8
  162. package/dist/events/mocks/event-handler.mock.js +0 -27
  163. package/dist/events/mocks/event-handler.mock.js.map +0 -1
  164. package/dist/events/mocks/other-event-handler.mock.d.ts +0 -8
  165. package/dist/events/mocks/other-event-handler.mock.js +0 -27
  166. package/dist/events/mocks/other-event-handler.mock.js.map +0 -1
  167. package/dist/exceptions/event-not-found.exception.d.ts +0 -3
  168. package/dist/exceptions/event-not-found.exception.js +0 -10
  169. package/dist/exceptions/event-not-found.exception.js.map +0 -1
  170. package/dist/exceptions/event-source.exeption.d.ts +0 -3
  171. package/dist/exceptions/event-source.exeption.js +0 -10
  172. package/dist/exceptions/event-source.exeption.js.map +0 -1
  173. package/dist/exceptions/index.d.ts +0 -3
  174. package/dist/exceptions/index.js +0 -20
  175. package/dist/exceptions/index.js.map +0 -1
  176. package/dist/exceptions/invalid-event-handler.exception.d.ts +0 -3
  177. package/dist/exceptions/invalid-event-handler.exception.js +0 -10
  178. package/dist/exceptions/invalid-event-handler.exception.js.map +0 -1
  179. package/dist/filters/dynamodb-exception.filter.d.ts +0 -13
  180. package/dist/filters/dynamodb-exception.filter.js +0 -60
  181. package/dist/filters/dynamodb-exception.filter.js.map +0 -1
  182. package/dist/filters/event-source-exception.filter.d.ts +0 -4
  183. package/dist/filters/event-source-exception.filter.js +0 -19
  184. package/dist/filters/event-source-exception.filter.js.map +0 -1
  185. package/dist/filters/index.d.ts +0 -2
  186. package/dist/filters/index.js +0 -19
  187. package/dist/filters/index.js.map +0 -1
  188. package/dist/guard/index.d.ts +0 -1
  189. package/dist/guard/index.js +0 -18
  190. package/dist/guard/index.js.map +0 -1
  191. package/dist/guard/roles.guard.d.ts +0 -11
  192. package/dist/guard/roles.guard.js +0 -60
  193. package/dist/guard/roles.guard.js.map +0 -1
  194. package/dist/helpers/datetime.d.ts +0 -4
  195. package/dist/helpers/datetime.js +0 -47
  196. package/dist/helpers/datetime.js.map +0 -1
  197. package/dist/helpers/event-type.d.ts +0 -2
  198. package/dist/helpers/event-type.js +0 -26
  199. package/dist/helpers/event-type.js.map +0 -1
  200. package/dist/helpers/index.d.ts +0 -6
  201. package/dist/helpers/index.js +0 -26
  202. package/dist/helpers/index.js.map +0 -1
  203. package/dist/helpers/key.d.ts +0 -9
  204. package/dist/helpers/key.js +0 -44
  205. package/dist/helpers/key.js.map +0 -1
  206. package/dist/helpers/object.d.ts +0 -5
  207. package/dist/helpers/object.js +0 -51
  208. package/dist/helpers/object.js.map +0 -1
  209. package/dist/helpers/source.d.ts +0 -1
  210. package/dist/helpers/source.js +0 -8
  211. package/dist/helpers/source.js.map +0 -1
  212. package/dist/index.d.ts +0 -20
  213. package/dist/index.js +0 -37
  214. package/dist/index.js.map +0 -1
  215. package/dist/interfaces/app-module-options.interface.d.ts +0 -6
  216. package/dist/interfaces/app-module-options.interface.js +0 -3
  217. package/dist/interfaces/app-module-options.interface.js.map +0 -1
  218. package/dist/interfaces/aws/index.d.ts +0 -1
  219. package/dist/interfaces/aws/index.js +0 -18
  220. package/dist/interfaces/aws/index.js.map +0 -1
  221. package/dist/interfaces/aws/step-function.interface.d.ts +0 -27
  222. package/dist/interfaces/aws/step-function.interface.js +0 -3
  223. package/dist/interfaces/aws/step-function.interface.js.map +0 -1
  224. package/dist/interfaces/command-input-model.interface.d.ts +0 -19
  225. package/dist/interfaces/command-input-model.interface.js +0 -3
  226. package/dist/interfaces/command-input-model.interface.js.map +0 -1
  227. package/dist/interfaces/command-model.interface.d.ts +0 -12
  228. package/dist/interfaces/command-model.interface.js +0 -3
  229. package/dist/interfaces/command-model.interface.js.map +0 -1
  230. package/dist/interfaces/command-module-options.interface.d.ts +0 -8
  231. package/dist/interfaces/command-module-options.interface.js +0 -3
  232. package/dist/interfaces/command-module-options.interface.js.map +0 -1
  233. package/dist/interfaces/command.dto.d.ts +0 -15
  234. package/dist/interfaces/command.dto.js +0 -76
  235. package/dist/interfaces/command.dto.js.map +0 -1
  236. package/dist/interfaces/command.entity.d.ts +0 -26
  237. package/dist/interfaces/command.entity.js +0 -103
  238. package/dist/interfaces/command.entity.js.map +0 -1
  239. package/dist/interfaces/command.options.interface.d.ts +0 -6
  240. package/dist/interfaces/command.options.interface.js +0 -3
  241. package/dist/interfaces/command.options.interface.js.map +0 -1
  242. package/dist/interfaces/data-list.entity.d.ts +0 -7
  243. package/dist/interfaces/data-list.entity.js +0 -35
  244. package/dist/interfaces/data-list.entity.js.map +0 -1
  245. package/dist/interfaces/data-model.interface.d.ts +0 -5
  246. package/dist/interfaces/data-model.interface.js +0 -3
  247. package/dist/interfaces/data-model.interface.js.map +0 -1
  248. package/dist/interfaces/data-sync-handler.interface.d.ts +0 -6
  249. package/dist/interfaces/data-sync-handler.interface.js +0 -3
  250. package/dist/interfaces/data-sync-handler.interface.js.map +0 -1
  251. package/dist/interfaces/data.entity.d.ts +0 -28
  252. package/dist/interfaces/data.entity.js +0 -110
  253. package/dist/interfaces/data.entity.js.map +0 -1
  254. package/dist/interfaces/ddb-update-item.interface.d.ts +0 -19
  255. package/dist/interfaces/ddb-update-item.interface.js +0 -3
  256. package/dist/interfaces/ddb-update-item.interface.js.map +0 -1
  257. package/dist/interfaces/detail-key.interface.d.ts +0 -4
  258. package/dist/interfaces/detail-key.interface.js +0 -3
  259. package/dist/interfaces/detail-key.interface.js.map +0 -1
  260. package/dist/interfaces/detail.dto.d.ts +0 -5
  261. package/dist/interfaces/detail.dto.js +0 -28
  262. package/dist/interfaces/detail.dto.js.map +0 -1
  263. package/dist/interfaces/event-factory.interface.d.ts +0 -11
  264. package/dist/interfaces/event-factory.interface.js +0 -3
  265. package/dist/interfaces/event-factory.interface.js.map +0 -1
  266. package/dist/interfaces/event-handler.interface.d.ts +0 -4
  267. package/dist/interfaces/event-handler.interface.js +0 -3
  268. package/dist/interfaces/event-handler.interface.js.map +0 -1
  269. package/dist/interfaces/event-raw.interface.d.ts +0 -2
  270. package/dist/interfaces/event-raw.interface.js +0 -3
  271. package/dist/interfaces/event-raw.interface.js.map +0 -1
  272. package/dist/interfaces/event.interface.d.ts +0 -3
  273. package/dist/interfaces/event.interface.js +0 -3
  274. package/dist/interfaces/event.interface.js.map +0 -1
  275. package/dist/interfaces/index.d.ts +0 -21
  276. package/dist/interfaces/index.js +0 -38
  277. package/dist/interfaces/index.js.map +0 -1
  278. package/dist/interfaces/notification.interface.d.ts +0 -17
  279. package/dist/interfaces/notification.interface.js +0 -3
  280. package/dist/interfaces/notification.interface.js.map +0 -1
  281. package/dist/interfaces/paginate.dto.d.ts +0 -5
  282. package/dist/interfaces/paginate.dto.js +0 -38
  283. package/dist/interfaces/paginate.dto.js.map +0 -1
  284. package/dist/interfaces/search.dto.d.ts +0 -8
  285. package/dist/interfaces/search.dto.js +0 -48
  286. package/dist/interfaces/search.dto.js.map +0 -1
  287. package/dist/notifications/appsync.service.d.ts +0 -13
  288. package/dist/notifications/appsync.service.js +0 -102
  289. package/dist/notifications/appsync.service.js.map +0 -1
  290. package/dist/notifications/email.service.d.ts +0 -11
  291. package/dist/notifications/email.service.js +0 -49
  292. package/dist/notifications/email.service.js.map +0 -1
  293. package/dist/notifications/event/index.d.ts +0 -2
  294. package/dist/notifications/event/index.js +0 -19
  295. package/dist/notifications/event/index.js.map +0 -1
  296. package/dist/notifications/event/notification.event.d.ts +0 -15
  297. package/dist/notifications/event/notification.event.handler.d.ts +0 -9
  298. package/dist/notifications/event/notification.event.handler.js +0 -34
  299. package/dist/notifications/event/notification.event.handler.js.map +0 -1
  300. package/dist/notifications/event/notification.event.js +0 -13
  301. package/dist/notifications/event/notification.event.js.map +0 -1
  302. package/dist/notifications/index.d.ts +0 -4
  303. package/dist/notifications/index.js +0 -21
  304. package/dist/notifications/index.js.map +0 -1
  305. package/dist/notifications/notification.module.d.ts +0 -2
  306. package/dist/notifications/notification.module.js +0 -24
  307. package/dist/notifications/notification.module.js.map +0 -1
  308. package/dist/pipe/class.validation.pipe.d.ts +0 -5
  309. package/dist/pipe/class.validation.pipe.js +0 -34
  310. package/dist/pipe/class.validation.pipe.js.map +0 -1
  311. package/dist/pipe/index.d.ts +0 -1
  312. package/dist/pipe/index.js +0 -18
  313. package/dist/pipe/index.js.map +0 -1
  314. package/dist/queue/index.d.ts +0 -3
  315. package/dist/queue/index.js +0 -20
  316. package/dist/queue/index.js.map +0 -1
  317. package/dist/queue/queue.module.d.ts +0 -2
  318. package/dist/queue/queue.module.js +0 -22
  319. package/dist/queue/queue.module.js.map +0 -1
  320. package/dist/queue/sns.event.d.ts +0 -3
  321. package/dist/queue/sns.event.js +0 -3
  322. package/dist/queue/sns.event.js.map +0 -1
  323. package/dist/queue/sns.service.d.ts +0 -13
  324. package/dist/queue/sns.service.js +0 -47
  325. package/dist/queue/sns.service.js.map +0 -1
  326. package/dist/services/explorer.service.d.ts +0 -20
  327. package/dist/services/explorer.service.js +0 -62
  328. package/dist/services/explorer.service.js.map +0 -1
  329. package/dist/services/index.d.ts +0 -2
  330. package/dist/services/index.js +0 -19
  331. package/dist/services/index.js.map +0 -1
  332. package/dist/services/mocks/event-factory.mock.d.ts +0 -3
  333. package/dist/services/mocks/event-factory.mock.js +0 -22
  334. package/dist/services/mocks/event-factory.mock.js.map +0 -1
  335. package/dist/services/mocks/event-handler.mock.d.ts +0 -7
  336. package/dist/services/mocks/event-handler.mock.js +0 -23
  337. package/dist/services/mocks/event-handler.mock.js.map +0 -1
  338. package/dist/services/mocks/sync-data.handler.mock.d.ts +0 -6
  339. package/dist/services/mocks/sync-data.handler.mock.js +0 -28
  340. package/dist/services/mocks/sync-data.handler.mock.js.map +0 -1
  341. package/dist/services/request-logger.service.d.ts +0 -15
  342. package/dist/services/request-logger.service.js +0 -89
  343. package/dist/services/request-logger.service.js.map +0 -1
  344. package/dist/step-func/index.d.ts +0 -2
  345. package/dist/step-func/index.js +0 -19
  346. package/dist/step-func/index.js.map +0 -1
  347. package/dist/step-func/step-function.module.d.ts +0 -2
  348. package/dist/step-func/step-function.module.js +0 -22
  349. package/dist/step-func/step-function.module.js.map +0 -1
  350. package/dist/step-func/step-function.service.d.ts +0 -11
  351. package/dist/step-func/step-function.service.js +0 -41
  352. package/dist/step-func/step-function.service.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mbc-cqrs-serverless/core",
3
- "version": "0.1.10-beta.0",
3
+ "version": "0.1.11-beta.0",
4
4
  "description": "CQRS and event base core",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -71,5 +71,5 @@
71
71
  "serverless-step-functions-local": "^0.5.1",
72
72
  "supertest": "^7.0.0"
73
73
  },
74
- "gitHead": "847f220054ab6fdf7af9871880e7c1e0f1ba4d32"
74
+ "gitHead": "870fd6950e38a93552e82b6b3f2dc58376c9e431"
75
75
  }
@@ -1,8 +0,0 @@
1
- import { AppService } from './app.service';
2
- import { IInvoke } from './context';
3
- export declare class AppController {
4
- private readonly appService;
5
- private readonly logger;
6
- constructor(appService: AppService);
7
- getHello(ctx: IInvoke): string;
8
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- var AppController_1;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.AppController = void 0;
17
- const common_1 = require("@nestjs/common");
18
- const swagger_1 = require("@nestjs/swagger");
19
- const app_service_1 = require("./app.service");
20
- const decorators_1 = require("./decorators");
21
- let AppController = AppController_1 = class AppController {
22
- constructor(appService) {
23
- this.appService = appService;
24
- this.logger = new common_1.Logger(AppController_1.name);
25
- }
26
- getHello(ctx) {
27
- this.logger.debug('ctx::', JSON.stringify(ctx, null, 2));
28
- return this.appService.getHello();
29
- }
30
- };
31
- exports.AppController = AppController;
32
- __decorate([
33
- (0, common_1.Get)('/'),
34
- __param(0, (0, decorators_1.INVOKE_CONTEXT)()),
35
- __metadata("design:type", Function),
36
- __metadata("design:paramtypes", [Object]),
37
- __metadata("design:returntype", String)
38
- ], AppController.prototype, "getHello", null);
39
- exports.AppController = AppController = AppController_1 = __decorate([
40
- (0, common_1.Controller)(),
41
- (0, swagger_1.ApiTags)('main'),
42
- __metadata("design:paramtypes", [app_service_1.AppService])
43
- ], AppController);
44
- //# sourceMappingURL=app.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAAyC;AAEzC,+CAA0C;AAE1C,6CAA6C;AAItC,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAGxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAFlC,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAA;IAEF,CAAC;IAGvD,QAAQ,CAAmB,GAAY;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;IACnC,CAAC;CACF,CAAA;AAVY,sCAAa;AAMxB;IADC,IAAA,YAAG,EAAC,GAAG,CAAC;IACC,WAAA,IAAA,2BAAc,GAAE,CAAA;;;;6CAGzB;wBATU,aAAa;IAFzB,IAAA,mBAAU,GAAE;IACZ,IAAA,iBAAO,EAAC,MAAM,CAAC;qCAI2B,wBAAU;GAHxC,aAAa,CAUzB"}
@@ -1,2 +0,0 @@
1
- import { AppModuleOptions } from './interfaces';
2
- export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<AppModuleOptions, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol, OPTIONS_TYPE: AppModuleOptions & Partial<{}>;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.OPTIONS_TYPE = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
5
- const common_1 = require("@nestjs/common");
6
- _a = new common_1.ConfigurableModuleBuilder()
7
- .setClassMethodName('forRoot')
8
- .build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN, exports.OPTIONS_TYPE = _a.OPTIONS_TYPE;
9
- //# sourceMappingURL=app.module-definition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.module-definition.js","sourceRoot":"","sources":["../src/app.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA0D;AAI7C,KACX,IAAI,kCAAyB,EAAoB;KAC9C,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,EAHG,+BAAuB,+BAAE,4BAAoB,4BAAE,oBAAY,mBAG9D"}
@@ -1,5 +0,0 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { ConfigurableModuleClass, OPTIONS_TYPE } from './app.module-definition';
3
- export declare class AppModule extends ConfigurableModuleClass {
4
- static forRoot(options: typeof OPTIONS_TYPE): DynamicModule;
5
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AppModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const config_1 = require("@nestjs/config");
12
- const core_1 = require("@nestjs/core");
13
- const app_controller_1 = require("./app.controller");
14
- const app_module_definition_1 = require("./app.module-definition");
15
- const app_service_1 = require("./app.service");
16
- const data_sync_module_1 = require("./command-events/data-sync.module");
17
- const data_store_module_1 = require("./data-store/data-store.module");
18
- const env_validation_1 = require("./env.validation");
19
- const events_1 = require("./events");
20
- const notification_module_1 = require("./notifications/notification.module");
21
- const queue_module_1 = require("./queue/queue.module");
22
- const explorer_service_1 = require("./services/explorer.service");
23
- const step_function_module_1 = require("./step-func/step-function.module");
24
- let AppModule = class AppModule extends app_module_definition_1.ConfigurableModuleClass {
25
- static forRoot(options) {
26
- const enableEventSourceModule = process.env.EVENT_SOURCE_DISABLED !== 'true';
27
- const routers = [
28
- {
29
- path: 'api',
30
- module: options.rootModule,
31
- },
32
- ];
33
- if (enableEventSourceModule) {
34
- routers.push({
35
- path: 'event',
36
- module: events_1.EventModule,
37
- });
38
- }
39
- const module = super.forRoot(options);
40
- const imports = [...(module.imports ?? [])];
41
- imports.push(config_1.ConfigModule.forRoot({
42
- isGlobal: true,
43
- cache: true,
44
- expandVariables: true,
45
- validationOptions: {
46
- allowUnknow: false,
47
- abortEarly: true,
48
- },
49
- validate: (0, env_validation_1.getValidateConfig)(options.envCls),
50
- }));
51
- imports.push(options.rootModule);
52
- if (enableEventSourceModule) {
53
- imports.push(events_1.EventModule);
54
- }
55
- imports.push(core_1.RouterModule.register(routers));
56
- return {
57
- ...module,
58
- imports,
59
- };
60
- }
61
- };
62
- exports.AppModule = AppModule;
63
- exports.AppModule = AppModule = __decorate([
64
- (0, common_1.Module)({
65
- imports: [
66
- notification_module_1.NotificationModule,
67
- data_store_module_1.DataStoreModule,
68
- data_sync_module_1.DataSyncModule,
69
- step_function_module_1.StepFunctionModule,
70
- queue_module_1.QueueModule,
71
- ],
72
- controllers: [app_controller_1.AppController],
73
- providers: [app_service_1.AppService, explorer_service_1.ExplorerService],
74
- })
75
- ], AppModule);
76
- //# sourceMappingURL=app.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAsD;AACtD,2CAA6C;AAC7C,uCAAmD;AAEnD,qDAAgD;AAChD,mEAA+E;AAC/E,+CAA0C;AAC1C,wEAAkE;AAClE,sEAAgE;AAChE,qDAAoD;AACpD,qCAAsC;AACtC,6EAAwE;AACxE,uDAAkD;AAClD,kEAA6D;AAC7D,2EAAqE;AAa9D,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,+CAAuB;IACpD,MAAM,CAAC,OAAO,CAAC,OAA4B;QACzC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,CAAA;QAC5E,MAAM,OAAO,GAAW;YACtB;gBACE,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,OAAO,CAAC,UAAU;aAC3B;SACF,CAAA;QAED,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,oBAAW;aACpB,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,OAAO,CAAC,IAAI,CACV,qBAAY,CAAC,OAAO,CAAC;YACnB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,IAAI;YACrB,iBAAiB,EAAE;gBACjB,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,IAAI;aACjB;YACD,QAAQ,EAAE,IAAA,kCAAiB,EAAC,OAAO,CAAC,MAAM,CAAC;SAC5C,CAAC,CACH,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAChC,IAAI,uBAAuB,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,oBAAW,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,mBAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAE5C,OAAO;YACL,GAAG,MAAM;YACT,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA;AA1CY,8BAAS;oBAAT,SAAS;IAXrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,wCAAkB;YAClB,mCAAe;YACf,iCAAc;YACd,yCAAkB;YAClB,0BAAW;SACZ;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,EAAE,kCAAe,CAAC;KACzC,CAAC;GACW,SAAS,CA0CrB"}
@@ -1,3 +0,0 @@
1
- export declare class AppService {
2
- getHello(): string;
3
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AppService = void 0;
10
- const common_1 = require("@nestjs/common");
11
- let AppService = class AppService {
12
- getHello() {
13
- return 'Hello World!';
14
- }
15
- };
16
- exports.AppService = AppService;
17
- exports.AppService = AppService = __decorate([
18
- (0, common_1.Injectable)()
19
- ], AppService);
20
- //# sourceMappingURL=app.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2C;AAGpC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,QAAQ;QACN,OAAO,cAAc,CAAA;IACvB,CAAC;CACF,CAAA;AAJY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAItB"}
@@ -1,3 +0,0 @@
1
- import { Handler } from 'aws-lambda';
2
- import { AppModuleOptions } from './interfaces';
3
- export declare function createHandler(opts: AppModuleOptions): Handler;
package/dist/bootstrap.js DELETED
@@ -1,118 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createHandler = void 0;
30
- const serverless_express_1 = __importDefault(require("@codegenie/serverless-express"));
31
- const common_1 = require("@nestjs/common");
32
- const config_1 = require("@nestjs/config");
33
- const core_1 = require("@nestjs/core");
34
- const rxjs_1 = require("rxjs");
35
- const app_module_1 = require("./app.module");
36
- const constants_1 = require("./constants");
37
- const env_validation_1 = require("./env.validation");
38
- const filters_1 = require("./filters");
39
- const helpers_1 = require("./helpers");
40
- const services_1 = require("./services");
41
- const serverSubject = new rxjs_1.ReplaySubject();
42
- async function bootstrap(opts) {
43
- const logLevel = process.env.LOG_LEVEL ?? 'verbose';
44
- const logger = new services_1.RequestLogger('main', {
45
- logLevels: (0, services_1.getLogLevels)(logLevel),
46
- timestamp: logLevel === 'verbose' || logLevel === 'debug',
47
- });
48
- const app = await core_1.NestFactory.create(app_module_1.AppModule.forRoot(opts), {
49
- cors: true,
50
- logger,
51
- });
52
- app.useGlobalPipes(new common_1.ValidationPipe({
53
- transform: true,
54
- whitelist: true,
55
- }));
56
- app.useGlobalInterceptors(new common_1.ClassSerializerInterceptor(app.get(core_1.Reflector)));
57
- const { httpAdapter } = app.get(core_1.HttpAdapterHost);
58
- app.useGlobalFilters(new filters_1.DynamoDBExceptionFilter(httpAdapter));
59
- const configService = app.get(config_1.ConfigService);
60
- if (configService.get('NODE_ENV') === env_validation_1.Environment.Local) {
61
- const { DocumentBuilder, SwaggerModule } = await Promise.resolve().then(() => __importStar(require('@nestjs/swagger')));
62
- const swgConfig = new DocumentBuilder()
63
- .setTitle('serverless')
64
- .setDescription('The serverless API')
65
- .addServer('http://localhost:3000/', env_validation_1.Environment.Local)
66
- .addApiKey({ type: 'apiKey', name: 'Authorization', in: 'header' }, 'Api-Key')
67
- .addSecurityRequirements('Api-Key')
68
- .addGlobalParameters({
69
- in: 'header',
70
- required: false,
71
- name: constants_1.HEADER_TENANT_CODE,
72
- })
73
- .build();
74
- const document = SwaggerModule.createDocument(app, swgConfig, {
75
- deepScanRoutes: true,
76
- });
77
- SwaggerModule.setup('/swagger-ui', app, document);
78
- Promise.resolve().then(() => __importStar(require('fs'))).then((fs) => {
79
- Promise.resolve().then(() => __importStar(require('prettier'))).then((prettier) => {
80
- prettier
81
- .format(JSON.stringify(document), {
82
- parser: 'json',
83
- })
84
- .then((ret) => fs.writeFileSync('swagger.json', ret));
85
- });
86
- });
87
- }
88
- if (!helpers_1.IS_LAMBDA_RUNNING) {
89
- await app.listen(configService.get('APP_PORT') || 3000);
90
- return null;
91
- }
92
- await app.init();
93
- const expressApp = app.getHttpAdapter().getInstance();
94
- return (0, serverless_express_1.default)({
95
- app: expressApp,
96
- eventSourceRoutes: {
97
- AWS_SNS: '/event/sns',
98
- AWS_SQS: '/event/sqs',
99
- AWS_DYNAMODB: '/event/dynamodb',
100
- AWS_EVENTBRIDGE: '/event/event-bridge',
101
- AWS_STEP_FUNCTIONS: '/event/step-functions',
102
- AWS_S3: '/event/s3',
103
- AWS_KINESIS_DATA_STREAM: '/event/kinesis-data-stream',
104
- },
105
- logSettings: {
106
- level: logLevel,
107
- },
108
- });
109
- }
110
- function createHandler(opts) {
111
- bootstrap(opts).then((server) => serverSubject.next(server));
112
- return async (event, context, callback) => {
113
- const server = await (0, rxjs_1.firstValueFrom)(serverSubject);
114
- return server(event, context, callback);
115
- };
116
- }
117
- exports.createHandler = createHandler;
118
- //# sourceMappingURL=bootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare class DataSyncModule {
2
- }
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DataSyncModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const data_sync_new_event_handler_1 = require("./data-sync.new.event.handler");
12
- const data_sync_sfn_event_handler_1 = require("./data-sync.sfn.event.handler");
13
- let DataSyncModule = class DataSyncModule {
14
- };
15
- exports.DataSyncModule = DataSyncModule;
16
- exports.DataSyncModule = DataSyncModule = __decorate([
17
- (0, common_1.Module)({
18
- providers: [data_sync_new_event_handler_1.DataSyncNewCommandEventHandler, data_sync_sfn_event_handler_1.DataSyncCommandSfnEventHandler],
19
- })
20
- ], DataSyncModule);
21
- //# sourceMappingURL=data-sync.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sync.module.js","sourceRoot":"","sources":["../../src/command-events/data-sync.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AAEvC,+EAA8E;AAC9E,+EAA8E;AAKvE,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAH1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,4DAA8B,EAAE,4DAA8B,CAAC;KAC5E,CAAC;GACW,cAAc,CAAG"}
@@ -1,16 +0,0 @@
1
- import { DynamoDBRecord, StreamRecord } from 'aws-lambda';
2
- import { IEvent } from '../interfaces';
3
- export declare class DataSyncNewCommandEvent implements IEvent, DynamoDBRecord {
4
- source: string;
5
- awsRegion?: string | undefined;
6
- dynamodb?: StreamRecord | undefined;
7
- eventID?: string | undefined;
8
- eventName?: 'INSERT' | 'MODIFY' | 'REMOVE' | undefined;
9
- eventSource?: string | undefined;
10
- eventSourceARN?: string | undefined;
11
- eventVersion?: string | undefined;
12
- userIdentity?: any;
13
- constructor(event?: Partial<DataSyncNewCommandEvent>);
14
- get tableName(): string;
15
- fromDynamoDBRecord(record: DynamoDBRecord): DataSyncNewCommandEvent;
16
- }
@@ -1,14 +0,0 @@
1
- import { ConfigService } from '@nestjs/config';
2
- import { DynamoDbService } from '../data-store';
3
- import { IEventHandler } from '../interfaces';
4
- import { StepFunctionService } from '../step-func/step-function.service';
5
- import { DataSyncNewCommandEvent } from './data-sync.new.event';
6
- export declare class DataSyncNewCommandEventHandler implements IEventHandler<DataSyncNewCommandEvent> {
7
- private readonly config;
8
- private readonly sfnService;
9
- private readonly dynamoDbService;
10
- private readonly logger;
11
- private sfnArn;
12
- constructor(config: ConfigService, sfnService: StepFunctionService, dynamoDbService: DynamoDbService);
13
- execute(event: DataSyncNewCommandEvent): Promise<any>;
14
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var DataSyncNewCommandEventHandler_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.DataSyncNewCommandEventHandler = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const config_1 = require("@nestjs/config");
16
- const data_store_1 = require("../data-store");
17
- const decorators_1 = require("../decorators");
18
- const step_function_service_1 = require("../step-func/step-function.service");
19
- const data_sync_new_event_1 = require("./data-sync.new.event");
20
- let DataSyncNewCommandEventHandler = DataSyncNewCommandEventHandler_1 = class DataSyncNewCommandEventHandler {
21
- constructor(config, sfnService, dynamoDbService) {
22
- this.config = config;
23
- this.sfnService = sfnService;
24
- this.dynamoDbService = dynamoDbService;
25
- this.logger = new common_1.Logger(DataSyncNewCommandEventHandler_1.name);
26
- this.sfnArn = config.get('SFN_COMMAND_ARN');
27
- }
28
- async execute(event) {
29
- this.logger.debug('executing::', event);
30
- const moduleName = this.dynamoDbService.getModuleName(event.tableName);
31
- const ddbKeys = event.dynamodb?.Keys;
32
- const ddbRecordId = `${ddbKeys.pk?.S || 'pk'}-${ddbKeys.sk?.S || 'sk'}`
33
- .replaceAll('#', '-')
34
- .replace('@', '-v')
35
- .replace(/[^0-9A-Za-z_-]+/g, `__${Math.random().toString(36).substring(2, 4)}__`);
36
- const sfnExecName = `${moduleName}-${ddbRecordId}-${Date.now()}`;
37
- return await this.sfnService.startExecution(this.sfnArn, event, sfnExecName);
38
- }
39
- };
40
- exports.DataSyncNewCommandEventHandler = DataSyncNewCommandEventHandler;
41
- exports.DataSyncNewCommandEventHandler = DataSyncNewCommandEventHandler = DataSyncNewCommandEventHandler_1 = __decorate([
42
- (0, decorators_1.EventHandler)(data_sync_new_event_1.DataSyncNewCommandEvent),
43
- __metadata("design:paramtypes", [config_1.ConfigService,
44
- step_function_service_1.StepFunctionService,
45
- data_store_1.DynamoDbService])
46
- ], DataSyncNewCommandEventHandler);
47
- //# sourceMappingURL=data-sync.new.event.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sync.new.event.handler.js","sourceRoot":"","sources":["../../src/command-events/data-sync.new.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuC;AACvC,2CAA8C;AAE9C,8CAA+C;AAC/C,8CAA4C;AAE5C,8EAAwE;AACxE,+DAA+D;AAGxD,IAAM,8BAA8B,sCAApC,MAAM,8BAA8B;IAMzC,YACmB,MAAqB,EACrB,UAA+B,EAC/B,eAAgC;QAFhC,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAqB;QAC/B,oBAAe,GAAf,eAAe,CAAiB;QANlC,WAAM,GAAG,IAAI,eAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAA;QAQvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA8B;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAA;QACpC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE;aACpE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;aAClB,OAAO,CACN,kBAAkB,EAClB,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CACpD,CAAA;QAEH,MAAM,WAAW,GAAG,GAAG,UAAU,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAChE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC9E,CAAC;CACF,CAAA;AA7BY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,yBAAY,EAAC,6CAAuB,CAAC;qCAQT,sBAAa;QACT,2CAAmB;QACd,4BAAe;GATxC,8BAA8B,CA6B1C"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataSyncNewCommandEvent = void 0;
4
- const helpers_1 = require("../helpers");
5
- class DataSyncNewCommandEvent {
6
- constructor(event) {
7
- Object.assign(this, event);
8
- }
9
- get tableName() {
10
- return (0, helpers_1.getResourceNameFromArn)(this.source);
11
- }
12
- fromDynamoDBRecord(record) {
13
- Object.assign(this, record, {
14
- source: record.eventSourceARN,
15
- });
16
- return this;
17
- }
18
- }
19
- exports.DataSyncNewCommandEvent = DataSyncNewCommandEvent;
20
- //# sourceMappingURL=data-sync.new.event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sync.new.event.js","sourceRoot":"","sources":["../../src/command-events/data-sync.new.event.ts"],"names":[],"mappings":";;;AAEA,wCAAmD;AAGnD,MAAa,uBAAuB;IAWlC,YAAY,KAAwC;QAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAA,gCAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,kBAAkB,CAAC,MAAsB;QACvC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;YAC1B,MAAM,EAAE,MAAM,CAAC,cAAc;SAC9B,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAzBD,0DAyBC"}
@@ -1,24 +0,0 @@
1
- import { S3Service } from '../data-store';
2
- import { CommandModel, DetailKey, IEvent, StepFunctionsContext } from '../interfaces';
3
- import { DataSyncNewCommandEvent } from './data-sync.new.event';
4
- export interface StepFunctionStateInput {
5
- prevStateName?: string;
6
- result?: unknown;
7
- error?: string;
8
- cause?: string;
9
- }
10
- export declare class DataSyncCommandSfnEvent implements IEvent {
11
- source: string;
12
- context: StepFunctionsContext;
13
- commandEvent?: DataSyncNewCommandEvent;
14
- input?: StepFunctionStateInput;
15
- taskToken?: string;
16
- constructor(event?: Partial<DataSyncCommandSfnEvent>);
17
- get commandTableName(): string;
18
- get dataTableName(): string;
19
- get stepStateName(): string;
20
- private commandModel?;
21
- get commandRecord(): CommandModel | null;
22
- get commandKey(): DetailKey;
23
- getFullCommandRecord(s3Service: S3Service): Promise<CommandModel | null>;
24
- }
@@ -1,11 +0,0 @@
1
- import { ModuleRef } from '@nestjs/core';
2
- import { DynamoDbService } from '../data-store/dynamodb.service';
3
- import { IEventHandler } from '../interfaces';
4
- import { DataSyncCommandSfnEvent, StepFunctionStateInput } from './data-sync.sfn.event';
5
- export declare class DataSyncCommandSfnEventHandler implements IEventHandler<DataSyncCommandSfnEvent> {
6
- private readonly dynamoDbService;
7
- private readonly moduleRef;
8
- private readonly logger;
9
- constructor(dynamoDbService: DynamoDbService, moduleRef: ModuleRef);
10
- execute(event: DataSyncCommandSfnEvent): Promise<StepFunctionStateInput | StepFunctionStateInput[]>;
11
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var DataSyncCommandSfnEventHandler_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.DataSyncCommandSfnEventHandler = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const core_1 = require("@nestjs/core");
16
- const dynamodb_service_1 = require("../data-store/dynamodb.service");
17
- const decorators_1 = require("../decorators");
18
- const data_sync_sfn_event_1 = require("./data-sync.sfn.event");
19
- let DataSyncCommandSfnEventHandler = DataSyncCommandSfnEventHandler_1 = class DataSyncCommandSfnEventHandler {
20
- constructor(dynamoDbService, moduleRef) {
21
- this.dynamoDbService = dynamoDbService;
22
- this.moduleRef = moduleRef;
23
- this.logger = new common_1.Logger(DataSyncCommandSfnEventHandler_1.name);
24
- }
25
- async execute(event) {
26
- this.logger.debug('executing::', event);
27
- const moduleName = this.dynamoDbService.getModuleName(event.commandTableName);
28
- const handler = this.moduleRef.get(moduleName + '_CommandEventHandler', { strict: false });
29
- return await handler.execute(event);
30
- }
31
- };
32
- exports.DataSyncCommandSfnEventHandler = DataSyncCommandSfnEventHandler;
33
- exports.DataSyncCommandSfnEventHandler = DataSyncCommandSfnEventHandler = DataSyncCommandSfnEventHandler_1 = __decorate([
34
- (0, decorators_1.EventHandler)(data_sync_sfn_event_1.DataSyncCommandSfnEvent),
35
- __metadata("design:paramtypes", [dynamodb_service_1.DynamoDbService,
36
- core_1.ModuleRef])
37
- ], DataSyncCommandSfnEventHandler);
38
- //# sourceMappingURL=data-sync.sfn.event.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sync.sfn.event.handler.js","sourceRoot":"","sources":["../../src/command-events/data-sync.sfn.event.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuC;AACvC,uCAAwC;AAGxC,qEAAgE;AAChE,8CAA4C;AAE5C,+DAG8B;AAGvB,IAAM,8BAA8B,sCAApC,MAAM,8BAA8B;IAOzC,YACmB,eAAgC,EAChC,SAAoB;QADpB,oBAAe,GAAf,eAAe,CAAiB;QAChC,cAAS,GAAT,SAAS,CAAW;QANtB,WAAM,GAAW,IAAI,eAAM,CAC1C,gCAA8B,CAAC,IAAI,CACpC,CAAA;IAKE,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,KAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CACnD,KAAK,CAAC,gBAAgB,CACvB,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAChC,UAAU,GAAG,sBAAsB,EACnC,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;QACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AA1BY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,yBAAY,EAAC,6CAAuB,CAAC;qCASA,kCAAe;QACrB,gBAAS;GAT5B,8BAA8B,CA0B1C"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataSyncCommandSfnEvent = void 0;
4
- const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
5
- const constants_1 = require("../constants");
6
- const helpers_1 = require("../helpers");
7
- const data_sync_new_event_1 = require("./data-sync.new.event");
8
- class DataSyncCommandSfnEvent {
9
- constructor(event) {
10
- Object.assign(this, event);
11
- if (event?.context) {
12
- this.commandEvent = new data_sync_new_event_1.DataSyncNewCommandEvent(event.context.Execution.Input);
13
- this.source = event.context.StateMachine.Id;
14
- }
15
- }
16
- get commandTableName() {
17
- return this.commandEvent?.tableName;
18
- }
19
- get dataTableName() {
20
- return this.commandTableName.replace(constants_1.COMMAND_TABLE_SUFFIX, constants_1.DATA_TABLE_SUFFIX);
21
- }
22
- get stepStateName() {
23
- return this.context.State.Name;
24
- }
25
- get commandRecord() {
26
- if (this.commandModel) {
27
- return this.commandModel;
28
- }
29
- if (!this.commandEvent?.dynamodb?.NewImage) {
30
- return null;
31
- }
32
- const newImage = this.commandEvent?.dynamodb?.NewImage;
33
- this.commandModel = (0, util_dynamodb_1.unmarshall)(newImage);
34
- if (this.commandModel.createdAt) {
35
- this.commandModel.createdAt = new Date(this.commandModel.createdAt);
36
- }
37
- if (this.commandModel.updatedAt) {
38
- this.commandModel.updatedAt = new Date(this.commandModel.updatedAt);
39
- }
40
- return this.commandModel;
41
- }
42
- get commandKey() {
43
- return {
44
- pk: this.commandRecord.pk,
45
- sk: this.commandRecord.sk,
46
- };
47
- }
48
- async getFullCommandRecord(s3Service) {
49
- if ((0, helpers_1.isS3AttributeKey)(this.commandRecord?.attributes)) {
50
- const { key } = (0, helpers_1.parseS3AttributeKey)(this.commandRecord?.attributes);
51
- this.commandRecord.attributes = await s3Service.getItem(key);
52
- }
53
- return this.commandRecord;
54
- }
55
- }
56
- exports.DataSyncCommandSfnEvent = DataSyncCommandSfnEvent;
57
- //# sourceMappingURL=data-sync.sfn.event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sync.sfn.event.js","sourceRoot":"","sources":["../../src/command-events/data-sync.sfn.event.ts"],"names":[],"mappings":";;;AACA,0DAAmD;AAEnD,4CAAsE;AAEtE,wCAAkE;AAOlE,+DAA+D;AAS/D,MAAa,uBAAuB;IAOlC,YAAY,KAAwC;QAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,6CAAuB,CAC7C,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAC9B,CAAA;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,CAAA;IACrC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAClC,gCAAoB,EACpB,6BAAiB,CAClB,CAAA;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IAChC,CAAC;IAGD,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAA;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,QAE7C,CAAA;QAED,IAAI,CAAC,YAAY,GAAG,IAAA,0BAAU,EAAC,QAAQ,CAAiB,CAAA;QAExD,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;YACzB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;SAC1B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,SAAoB;QAEpB,IAAI,IAAA,0BAAgB,EAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAA,6BAAmB,EACjC,IAAI,CAAC,aAAa,EAAE,UAA+B,CACpD,CAAA;YACD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;CACF;AA5ED,0DA4EC"}