@social.dev/server-sdk 0.0.1-alpha.8 → 0.0.1-alpha.81

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 (345) hide show
  1. package/README.md +696 -40
  2. package/dist/__mocks__/kafka.mock.d.ts +11 -0
  3. package/dist/__mocks__/kafka.mock.js +15 -0
  4. package/dist/__mocks__/kafka.mock.js.map +1 -0
  5. package/dist/app.module.d.ts +4 -4
  6. package/dist/app.module.js +17 -7
  7. package/dist/app.module.js.map +1 -1
  8. package/dist/auth/auth.controller.d.ts +7 -1
  9. package/dist/auth/auth.controller.js +28 -3
  10. package/dist/auth/auth.controller.js.map +1 -1
  11. package/dist/auth/auth.middleware.d.ts +3 -5
  12. package/dist/auth/auth.middleware.js +7 -15
  13. package/dist/auth/auth.middleware.js.map +1 -1
  14. package/dist/auth/auth.module.js +4 -1
  15. package/dist/auth/auth.module.js.map +1 -1
  16. package/dist/auth/auth.service.d.ts +9 -1
  17. package/dist/auth/auth.service.js +34 -2
  18. package/dist/auth/auth.service.js.map +1 -1
  19. package/dist/auth/constants.js +2 -1
  20. package/dist/auth/constants.js.map +1 -1
  21. package/dist/auth/dto/login-success.dto.d.ts +1 -1
  22. package/dist/auth/dto/login-success.dto.js +6 -3
  23. package/dist/auth/dto/login-success.dto.js.map +1 -1
  24. package/dist/auth/dto/register-success.dto.d.ts +3 -0
  25. package/dist/auth/dto/register-success.dto.js +12 -0
  26. package/dist/auth/dto/register-success.dto.js.map +1 -0
  27. package/dist/auth/dto/register.dto.d.ts +6 -0
  28. package/dist/auth/dto/register.dto.js +45 -0
  29. package/dist/auth/dto/register.dto.js.map +1 -0
  30. package/dist/auth/oidc/dto/requests.d.ts +6 -0
  31. package/dist/auth/oidc/dto/requests.js +47 -0
  32. package/dist/auth/oidc/dto/requests.js.map +1 -0
  33. package/dist/auth/oidc/dto/responses.js +1 -1
  34. package/dist/auth/oidc/oidc.controller.d.ts +7 -2
  35. package/dist/auth/oidc/oidc.controller.js +31 -17
  36. package/dist/auth/oidc/oidc.controller.js.map +1 -1
  37. package/dist/auth/oidc/oidc.service.d.ts +9 -4
  38. package/dist/auth/oidc/oidc.service.js +64 -38
  39. package/dist/auth/oidc/oidc.service.js.map +1 -1
  40. package/dist/auth/session/session.controller.js +8 -3
  41. package/dist/auth/session/session.controller.js.map +1 -1
  42. package/dist/auth/session/session.service.d.ts +2 -2
  43. package/dist/auth/session/session.service.js +14 -7
  44. package/dist/auth/session/session.service.js.map +1 -1
  45. package/dist/bootstrap.d.ts +2 -1
  46. package/dist/bootstrap.js +7 -1
  47. package/dist/bootstrap.js.map +1 -1
  48. package/dist/chat/chat.acl.d.ts +3 -0
  49. package/dist/chat/chat.acl.js +50 -0
  50. package/dist/chat/chat.acl.js.map +1 -0
  51. package/dist/chat/chat.controller.d.ts +15 -6
  52. package/dist/chat/chat.controller.js +153 -14
  53. package/dist/chat/chat.controller.js.map +1 -1
  54. package/dist/chat/chat.module.d.ts +3 -0
  55. package/dist/chat/chat.module.js +30 -4
  56. package/dist/chat/chat.module.js.map +1 -1
  57. package/dist/chat/chat.service.d.ts +63 -12
  58. package/dist/chat/chat.service.js +468 -36
  59. package/dist/chat/chat.service.js.map +1 -1
  60. package/dist/chat/dto/add-reaction.dto.d.ts +5 -0
  61. package/dist/chat/dto/add-reaction.dto.js +42 -0
  62. package/dist/chat/dto/add-reaction.dto.js.map +1 -0
  63. package/dist/chat/dto/create-message.dto.d.ts +4 -1
  64. package/dist/chat/dto/create-message.dto.js +23 -1
  65. package/dist/chat/dto/create-message.dto.js.map +1 -1
  66. package/dist/chat/dto/edit-message.dto.d.ts +5 -0
  67. package/dist/chat/dto/edit-message.dto.js +31 -0
  68. package/dist/chat/dto/edit-message.dto.js.map +1 -0
  69. package/dist/chat/dto/responses.dto.d.ts +27 -5
  70. package/dist/chat/dto/responses.dto.js +177 -18
  71. package/dist/chat/dto/responses.dto.js.map +1 -1
  72. package/dist/chat/dto/update-cursor.dto.d.ts +5 -0
  73. package/dist/chat/dto/update-cursor.dto.js +36 -0
  74. package/dist/chat/dto/update-cursor.dto.js.map +1 -0
  75. package/dist/chat/entities/conversation-member.entity.js +1 -1
  76. package/dist/chat/entities/conversation-member.entity.js.map +1 -1
  77. package/dist/chat/entities/conversation.entity.d.ts +4 -0
  78. package/dist/chat/entities/conversation.entity.js +13 -1
  79. package/dist/chat/entities/conversation.entity.js.map +1 -1
  80. package/dist/chat/entities/message.entity.d.ts +8 -0
  81. package/dist/chat/entities/message.entity.js +32 -2
  82. package/dist/chat/entities/message.entity.js.map +1 -1
  83. package/dist/chat/entities/reaction.entity.d.ts +10 -0
  84. package/dist/chat/entities/reaction.entity.js +62 -0
  85. package/dist/chat/entities/reaction.entity.js.map +1 -0
  86. package/dist/chat/entities/read-cursor.entity.d.ts +10 -0
  87. package/dist/chat/entities/read-cursor.entity.js +64 -0
  88. package/dist/chat/entities/read-cursor.entity.js.map +1 -0
  89. package/dist/chat/enums/conversation-type.enum.d.ts +2 -1
  90. package/dist/chat/enums/conversation-type.enum.js +1 -0
  91. package/dist/chat/enums/conversation-type.enum.js.map +1 -1
  92. package/dist/common/decorators/api-paginated-response.d.ts +1 -1
  93. package/dist/common/decorators/api-paginated-response.js +2 -2
  94. package/dist/common/decorators/api-paginated-response.js.map +1 -1
  95. package/dist/common/dto/paginated-response.dto.d.ts +2 -0
  96. package/dist/common/dto/paginated-response.dto.js +14 -3
  97. package/dist/common/dto/paginated-response.dto.js.map +1 -1
  98. package/dist/common/injection-tokens.d.ts +2 -0
  99. package/dist/common/injection-tokens.js +3 -1
  100. package/dist/common/injection-tokens.js.map +1 -1
  101. package/dist/common/utils/cursor.d.ts +2 -0
  102. package/dist/common/utils/cursor.js +12 -0
  103. package/dist/common/utils/cursor.js.map +1 -0
  104. package/dist/community/avatar/avatar.controller.d.ts +11 -0
  105. package/dist/community/avatar/avatar.controller.js +90 -0
  106. package/dist/community/avatar/avatar.controller.js.map +1 -0
  107. package/dist/community/avatar/avatar.service.d.ts +13 -0
  108. package/dist/community/avatar/avatar.service.js +78 -0
  109. package/dist/community/avatar/avatar.service.js.map +1 -0
  110. package/dist/community/community.acl.d.ts +6 -3
  111. package/dist/community/community.acl.js +58 -35
  112. package/dist/community/community.acl.js.map +1 -1
  113. package/dist/community/community.controller.d.ts +8 -5
  114. package/dist/community/community.controller.js +102 -17
  115. package/dist/community/community.controller.js.map +1 -1
  116. package/dist/community/community.module.d.ts +3 -0
  117. package/dist/community/community.module.js +17 -7
  118. package/dist/community/community.module.js.map +1 -1
  119. package/dist/community/community.service.d.ts +26 -6
  120. package/dist/community/community.service.js +152 -23
  121. package/dist/community/community.service.js.map +1 -1
  122. package/dist/community/dto/community-response.dto.d.ts +5 -1
  123. package/dist/community/dto/community-response.dto.js +30 -1
  124. package/dist/community/dto/community-response.dto.js.map +1 -1
  125. package/dist/community/dto/create-community.dto.d.ts +2 -0
  126. package/dist/community/dto/create-community.dto.js +14 -2
  127. package/dist/community/dto/create-community.dto.js.map +1 -1
  128. package/dist/community/dto/update-community.dto.d.ts +2 -0
  129. package/dist/community/dto/update-community.dto.js +15 -1
  130. package/dist/community/dto/update-community.dto.js.map +1 -1
  131. package/dist/community/entities/community-member.entity.js +1 -0
  132. package/dist/community/entities/community-member.entity.js.map +1 -1
  133. package/dist/community/entities/community.entity.d.ts +2 -0
  134. package/dist/community/entities/community.entity.js +11 -1
  135. package/dist/community/entities/community.entity.js.map +1 -1
  136. package/dist/configs/configs.service.d.ts +12 -2
  137. package/dist/configs/configs.service.js.map +1 -1
  138. package/dist/core/context/context.d.ts +3 -0
  139. package/dist/core/context/context.js +15 -0
  140. package/dist/core/context/context.js.map +1 -1
  141. package/dist/core/context/context.store.d.ts +2 -0
  142. package/dist/core/core.module.js +2 -1
  143. package/dist/core/core.module.js.map +1 -1
  144. package/dist/core/event-stream/event-stream-processor.interface.d.ts +8 -0
  145. package/dist/core/event-stream/event-stream-processor.interface.js +3 -0
  146. package/dist/core/event-stream/event-stream-processor.interface.js.map +1 -0
  147. package/dist/core/event-stream/event-stream-processor.service.d.ts +13 -0
  148. package/dist/core/event-stream/event-stream-processor.service.js +60 -0
  149. package/dist/core/event-stream/event-stream-processor.service.js.map +1 -0
  150. package/dist/core/event-stream/event-stream.module.d.ts +11 -0
  151. package/dist/core/event-stream/event-stream.module.js +50 -0
  152. package/dist/core/event-stream/event-stream.module.js.map +1 -0
  153. package/dist/core/event-stream/event-stream.service.d.ts +18 -0
  154. package/dist/core/event-stream/event-stream.service.js +107 -0
  155. package/dist/core/event-stream/event-stream.service.js.map +1 -0
  156. package/dist/core/event-stream/types.d.ts +3 -0
  157. package/dist/core/event-stream/types.js +3 -0
  158. package/dist/core/event-stream/types.js.map +1 -0
  159. package/dist/core/hook/hook.module.d.ts +4 -0
  160. package/dist/core/hook/hook.module.js +30 -0
  161. package/dist/core/hook/hook.module.js.map +1 -0
  162. package/dist/core/hook/hook.service.d.ts +7 -0
  163. package/dist/core/{plugin/plugin-hook.service.js → hook/hook.service.js} +10 -10
  164. package/dist/core/hook/hook.service.js.map +1 -0
  165. package/dist/core/plugin/plugin.module.js +5 -6
  166. package/dist/core/plugin/plugin.module.js.map +1 -1
  167. package/dist/core/websocket/gateway.service.d.ts +24 -0
  168. package/dist/core/websocket/gateway.service.js +150 -0
  169. package/dist/core/websocket/gateway.service.js.map +1 -0
  170. package/dist/core/websocket/websocket.module.d.ts +2 -0
  171. package/dist/core/websocket/websocket.module.js +24 -0
  172. package/dist/core/websocket/websocket.module.js.map +1 -0
  173. package/dist/db.js +2 -1
  174. package/dist/db.js.map +1 -1
  175. package/dist/file-storage/file-storage.service.d.ts +1 -1
  176. package/dist/file-storage/file-storage.service.js +6 -6
  177. package/dist/file-storage/file-storage.service.js.map +1 -1
  178. package/dist/file-storage/utils.d.ts +2 -0
  179. package/dist/file-storage/utils.js +9 -2
  180. package/dist/file-storage/utils.js.map +1 -1
  181. package/dist/index.d.ts +0 -1
  182. package/dist/index.js +1 -3
  183. package/dist/index.js.map +1 -1
  184. package/dist/manage-db.d.ts +1 -0
  185. package/dist/manage-db.js +10 -0
  186. package/dist/manage-db.js.map +1 -0
  187. package/dist/media/dto/media-response.dto.d.ts +2 -0
  188. package/dist/media/dto/media-response.dto.js +15 -2
  189. package/dist/media/dto/media-response.dto.js.map +1 -1
  190. package/dist/media/entities/audio.entity.d.ts +2 -2
  191. package/dist/media/entities/audio.entity.js +2 -2
  192. package/dist/media/entities/audio.entity.js.map +1 -1
  193. package/dist/media/entities/image.entity.d.ts +5 -0
  194. package/dist/media/entities/{post-media.entity.js → image.entity.js} +16 -12
  195. package/dist/media/entities/image.entity.js.map +1 -0
  196. package/dist/media/entities/media.entity.d.ts +6 -0
  197. package/dist/media/entities/media.entity.js +25 -2
  198. package/dist/media/entities/media.entity.js.map +1 -1
  199. package/dist/media/media.acl.d.ts +2 -4
  200. package/dist/media/media.acl.js +22 -1
  201. package/dist/media/media.acl.js.map +1 -1
  202. package/dist/media/media.controller.d.ts +2 -0
  203. package/dist/media/media.controller.js +58 -0
  204. package/dist/media/media.controller.js.map +1 -1
  205. package/dist/media/media.module.js +2 -1
  206. package/dist/media/media.module.js.map +1 -1
  207. package/dist/media/media.service.d.ts +6 -3
  208. package/dist/media/media.service.js +118 -19
  209. package/dist/media/media.service.js.map +1 -1
  210. package/dist/migrations/1757061785934-PushNotificationTokens.d.ts +6 -0
  211. package/dist/migrations/1757061785934-PushNotificationTokens.js +20 -0
  212. package/dist/migrations/1757061785934-PushNotificationTokens.js.map +1 -0
  213. package/dist/migrations/1758623241397-AddUserTimestamps.d.ts +6 -0
  214. package/dist/migrations/1758623241397-AddUserTimestamps.js +16 -0
  215. package/dist/migrations/1758623241397-AddUserTimestamps.js.map +1 -0
  216. package/dist/migrations/1758704603161-UserFollows.d.ts +6 -0
  217. package/dist/migrations/1758704603161-UserFollows.js +18 -0
  218. package/dist/migrations/1758704603161-UserFollows.js.map +1 -0
  219. package/dist/migrations/1759757532702-UpdateCommunityCascades.d.ts +6 -0
  220. package/dist/migrations/1759757532702-UpdateCommunityCascades.js +20 -0
  221. package/dist/migrations/1759757532702-UpdateCommunityCascades.js.map +1 -0
  222. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.d.ts +6 -0
  223. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js +16 -0
  224. package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js.map +1 -0
  225. package/dist/migrations/1759919335188-CommunityChats.d.ts +6 -0
  226. package/dist/migrations/1759919335188-CommunityChats.js +28 -0
  227. package/dist/migrations/1759919335188-CommunityChats.js.map +1 -0
  228. package/dist/migrations/1760363804673-ChatVoiceNotes.d.ts +6 -0
  229. package/dist/migrations/1760363804673-ChatVoiceNotes.js +24 -0
  230. package/dist/migrations/1760363804673-ChatVoiceNotes.js.map +1 -0
  231. package/dist/migrations/1760444646328-ChatReadCursor.d.ts +6 -0
  232. package/dist/migrations/1760444646328-ChatReadCursor.js +18 -0
  233. package/dist/migrations/1760444646328-ChatReadCursor.js.map +1 -0
  234. package/dist/migrations/1761598291629-AddChatImages.d.ts +6 -0
  235. package/dist/migrations/1761598291629-AddChatImages.js +16 -0
  236. package/dist/migrations/1761598291629-AddChatImages.js.map +1 -0
  237. package/dist/migrations/1761648419807-ChatReactions.d.ts +6 -0
  238. package/dist/migrations/1761648419807-ChatReactions.js +18 -0
  239. package/dist/migrations/1761648419807-ChatReactions.js.map +1 -0
  240. package/dist/migrations/1762953835109-AddChatReplies.d.ts +6 -0
  241. package/dist/migrations/1762953835109-AddChatReplies.js +22 -0
  242. package/dist/migrations/1762953835109-AddChatReplies.js.map +1 -0
  243. package/dist/network/entities/network.entity.js +1 -3
  244. package/dist/network/entities/network.entity.js.map +1 -1
  245. package/dist/network/network.middleware.d.ts +3 -1
  246. package/dist/network/network.middleware.js +12 -4
  247. package/dist/network/network.middleware.js.map +1 -1
  248. package/dist/network/network.module.js +2 -1
  249. package/dist/network/network.module.js.map +1 -1
  250. package/dist/network/network.service.d.ts +4 -2
  251. package/dist/network/network.service.js +16 -6
  252. package/dist/network/network.service.js.map +1 -1
  253. package/dist/notification/dto/delete-push-token.dto.d.ts +3 -0
  254. package/dist/notification/dto/delete-push-token.dto.js +26 -0
  255. package/dist/notification/dto/delete-push-token.dto.js.map +1 -0
  256. package/dist/notification/dto/register-push-token.dto.d.ts +5 -0
  257. package/dist/notification/dto/register-push-token.dto.js +38 -0
  258. package/dist/notification/dto/register-push-token.dto.js.map +1 -0
  259. package/dist/notification/entities/push-token.entity.d.ts +11 -0
  260. package/dist/notification/entities/push-token.entity.js +60 -0
  261. package/dist/notification/entities/push-token.entity.js.map +1 -0
  262. package/dist/notification/enums/push-service.enum.d.ts +6 -0
  263. package/dist/notification/enums/push-service.enum.js +11 -0
  264. package/dist/notification/enums/push-service.enum.js.map +1 -0
  265. package/dist/notification/hook-listener.service.d.ts +13 -0
  266. package/dist/notification/hook-listener.service.js +58 -0
  267. package/dist/notification/hook-listener.service.js.map +1 -0
  268. package/dist/notification/notification.module.d.ts +2 -0
  269. package/dist/notification/notification.module.js +24 -0
  270. package/dist/notification/notification.module.js.map +1 -0
  271. package/dist/notification/push-notification.controller.d.ts +9 -0
  272. package/dist/notification/push-notification.controller.js +69 -0
  273. package/dist/notification/push-notification.controller.js.map +1 -0
  274. package/dist/notification/push-notification.module.d.ts +2 -0
  275. package/dist/notification/push-notification.module.js +27 -0
  276. package/dist/notification/push-notification.module.js.map +1 -0
  277. package/dist/notification/push-notification.service.d.ts +23 -0
  278. package/dist/notification/push-notification.service.js +89 -0
  279. package/dist/notification/push-notification.service.js.map +1 -0
  280. package/dist/post/entities/post.entity.js +3 -3
  281. package/dist/post/entities/post.entity.js.map +1 -1
  282. package/dist/post/post.controller.d.ts +3 -2
  283. package/dist/post/post.controller.js +28 -8
  284. package/dist/post/post.controller.js.map +1 -1
  285. package/dist/post/post.module.js +2 -0
  286. package/dist/post/post.module.js.map +1 -1
  287. package/dist/post/post.service.d.ts +7 -3
  288. package/dist/post/post.service.js +18 -8
  289. package/dist/post/post.service.js.map +1 -1
  290. package/dist/tsconfig.build.tsbuildinfo +1 -1
  291. package/dist/user/avatar/avatar.controller.d.ts +10 -0
  292. package/dist/user/avatar/avatar.controller.js +89 -0
  293. package/dist/user/avatar/avatar.controller.js.map +1 -0
  294. package/dist/user/avatar/avatar.service.d.ts +12 -0
  295. package/dist/user/avatar/avatar.service.js +72 -0
  296. package/dist/user/avatar/avatar.service.js.map +1 -0
  297. package/dist/user/constants.d.ts +1 -0
  298. package/dist/user/constants.js +5 -0
  299. package/dist/user/constants.js.map +1 -0
  300. package/dist/user/dto/update-profile.dto.d.ts +3 -0
  301. package/dist/user/dto/update-profile.dto.js +26 -0
  302. package/dist/user/dto/update-profile.dto.js.map +1 -0
  303. package/dist/user/dto/user-response.dto.d.ts +6 -0
  304. package/dist/user/dto/user-response.dto.js +37 -1
  305. package/dist/user/dto/user-response.dto.js.map +1 -1
  306. package/dist/user/dto/user.dto.d.ts +8 -0
  307. package/dist/user/dto/user.dto.js +21 -0
  308. package/dist/user/dto/user.dto.js.map +1 -0
  309. package/dist/user/entities/user.entity.d.ts +4 -0
  310. package/dist/user/entities/user.entity.js +19 -1
  311. package/dist/user/entities/user.entity.js.map +1 -1
  312. package/dist/user/follow/dto/follow-response.dto.d.ts +4 -0
  313. package/dist/user/follow/dto/follow-response.dto.js +38 -0
  314. package/dist/user/follow/dto/follow-response.dto.js.map +1 -0
  315. package/dist/user/follow/dto/follow.dto.d.ts +4 -0
  316. package/dist/user/follow/dto/follow.dto.js +26 -0
  317. package/dist/user/follow/dto/follow.dto.js.map +1 -0
  318. package/dist/user/follow/entities/follow.entity.d.ts +10 -0
  319. package/dist/user/follow/entities/follow.entity.js +60 -0
  320. package/dist/user/follow/entities/follow.entity.js.map +1 -0
  321. package/dist/user/follow/follow.controller.d.ts +9 -0
  322. package/dist/user/follow/follow.controller.js +56 -0
  323. package/dist/user/follow/follow.controller.js.map +1 -0
  324. package/dist/user/follow/follow.module.d.ts +2 -0
  325. package/dist/user/follow/follow.module.js +26 -0
  326. package/dist/user/follow/follow.module.js.map +1 -0
  327. package/dist/user/follow/follow.service.d.ts +11 -0
  328. package/dist/user/follow/follow.service.js +56 -0
  329. package/dist/user/follow/follow.service.js.map +1 -0
  330. package/dist/user/user.controller.d.ts +4 -1
  331. package/dist/user/user.controller.js +38 -4
  332. package/dist/user/user.controller.js.map +1 -1
  333. package/dist/user/user.module.js +12 -3
  334. package/dist/user/user.module.js.map +1 -1
  335. package/dist/user/user.service.d.ts +12 -5
  336. package/dist/user/user.service.js +49 -11
  337. package/dist/user/user.service.js.map +1 -1
  338. package/package.json +16 -5
  339. package/dist/core/plugin/plugin-hook.service.d.ts +0 -7
  340. package/dist/core/plugin/plugin-hook.service.js.map +0 -1
  341. package/dist/media/entities/post-media.entity.d.ts +0 -5
  342. package/dist/media/entities/post-media.entity.js.map +0 -1
  343. package/dist/user/dto/update-user.dto.d.ts +0 -5
  344. package/dist/user/dto/update-user.dto.js +0 -13
  345. package/dist/user/dto/update-user.dto.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import { ConsumeOptions } from '@platformatic/kafka';
2
+ import { Message } from './types';
3
+ export interface EventStreamProcessorInterface {
4
+ readonly groupId: string;
5
+ readonly topics: string[];
6
+ consume(event: Message): void;
7
+ readonly opts?: Omit<ConsumeOptions<string, string, string, string>, 'topics'>;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-stream-processor.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream-processor.interface.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream-processor.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { INestApplication, Type } from '@nestjs/common';
2
+ import { EventStreamProcessorInterface } from './event-stream-processor.interface';
3
+ import { EventStreamService } from './event-stream.service';
4
+ export declare class EventStreamProcessorService {
5
+ private eventStream;
6
+ private appRef;
7
+ protected static PROCESSORS: Type<EventStreamProcessorInterface>[];
8
+ static addProcessor(processor: Type<EventStreamProcessorInterface>): void;
9
+ constructor(eventStream: EventStreamService);
10
+ setAppRef(appRef: INestApplication): EventStreamProcessorService;
11
+ processAll(): void;
12
+ process(instance: Type<EventStreamProcessorInterface>): Promise<void>;
13
+ }
@@ -0,0 +1,60 @@
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 EventStreamProcessorService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EventStreamProcessorService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const event_stream_service_1 = require("./event-stream.service");
16
+ const kafka_1 = require("@platformatic/kafka");
17
+ let EventStreamProcessorService = class EventStreamProcessorService {
18
+ static { EventStreamProcessorService_1 = this; }
19
+ eventStream;
20
+ appRef;
21
+ static PROCESSORS = [];
22
+ static addProcessor(processor) {
23
+ EventStreamProcessorService_1.PROCESSORS.push(processor);
24
+ }
25
+ constructor(eventStream) {
26
+ this.eventStream = eventStream;
27
+ }
28
+ setAppRef(appRef) {
29
+ this.appRef = appRef;
30
+ return this;
31
+ }
32
+ processAll() {
33
+ for (const instance of EventStreamProcessorService_1.PROCESSORS) {
34
+ this.process(instance);
35
+ }
36
+ }
37
+ async process(instance) {
38
+ const processor = this.appRef.get(instance);
39
+ processor.groupId;
40
+ const defaultOpts = {
41
+ mode: kafka_1.MessagesStreamModes.COMMITTED,
42
+ autocommit: false,
43
+ topics: processor.topics || [],
44
+ sessionTimeout: 10000,
45
+ heartbeatInterval: 500,
46
+ };
47
+ try {
48
+ await this.eventStream.consume(processor.groupId, { ...processor.opts, ...defaultOpts }, processor.consume.bind(processor));
49
+ }
50
+ catch (err) {
51
+ console.error('Error consuming process', err);
52
+ }
53
+ }
54
+ };
55
+ exports.EventStreamProcessorService = EventStreamProcessorService;
56
+ exports.EventStreamProcessorService = EventStreamProcessorService = EventStreamProcessorService_1 = __decorate([
57
+ (0, common_1.Injectable)(),
58
+ __metadata("design:paramtypes", [event_stream_service_1.EventStreamService])
59
+ ], EventStreamProcessorService);
60
+ //# sourceMappingURL=event-stream-processor.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream-processor.service.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoE;AAEpE,iEAA4D;AAC5D,+CAA0D;AAUnD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;;IAelB;IAdZ,MAAM,CAAmB;IAKvB,MAAM,CAAC,UAAU,GAA0C,EAAE,CAAC;IAKxE,MAAM,CAAC,YAAY,CAAC,SAA8C;QAChE,6BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,YAAoB,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAKvD,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,UAAU;QACR,KAAK,MAAM,QAAQ,IAAI,6BAA2B,CAAC,UAAU,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,QAA6C;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5C,SAAS,CAAC,OAAO,CAAC;QAElB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE,2BAAmB,CAAC,SAAS;YACnC,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;YAC9B,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,GAAG;SACvB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAC5B,SAAS,CAAC,OAAO,EACjB,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,EACrC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAClC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;;AA3DU,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAgBsB,yCAAkB;GAfxC,2BAA2B,CA4DvC"}
@@ -0,0 +1,11 @@
1
+ import { DynamicModule, Type } from '@nestjs/common';
2
+ import { EventStreamProcessorInterface } from './event-stream-processor.interface';
3
+ type EventStreamModuleOpts = {
4
+ processors?: Type<EventStreamProcessorInterface>[];
5
+ topics?: string[];
6
+ };
7
+ export declare class EventStreamModule {
8
+ static forRoot(): DynamicModule;
9
+ static forFeature({ topics, processors, }: EventStreamModuleOpts): DynamicModule;
10
+ }
11
+ export {};
@@ -0,0 +1,50 @@
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 EventStreamModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EventStreamModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const event_stream_service_1 = require("./event-stream.service");
13
+ const context_module_1 = require("../context/context.module");
14
+ const event_stream_processor_service_1 = require("./event-stream-processor.service");
15
+ const configs_module_1 = require("../../configs/configs.module");
16
+ let EventStreamModule = EventStreamModule_1 = class EventStreamModule {
17
+ static forRoot() {
18
+ return {
19
+ global: true,
20
+ module: EventStreamModule_1,
21
+ imports: [context_module_1.ContextModule, configs_module_1.ConfigsModule],
22
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
23
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
24
+ };
25
+ }
26
+ static forFeature({ topics = [], processors = [], }) {
27
+ for (const topic of topics) {
28
+ event_stream_service_1.EventStreamService.addTopic(topic);
29
+ }
30
+ for (const processor of processors) {
31
+ event_stream_processor_service_1.EventStreamProcessorService.addProcessor(processor);
32
+ }
33
+ return {
34
+ global: true,
35
+ module: EventStreamModule_1,
36
+ imports: [context_module_1.ContextModule, configs_module_1.ConfigsModule],
37
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
38
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
39
+ };
40
+ }
41
+ };
42
+ exports.EventStreamModule = EventStreamModule;
43
+ exports.EventStreamModule = EventStreamModule = EventStreamModule_1 = __decorate([
44
+ (0, common_1.Module)({
45
+ imports: [context_module_1.ContextModule, configs_module_1.ConfigsModule],
46
+ providers: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
47
+ exports: [event_stream_service_1.EventStreamService, event_stream_processor_service_1.EventStreamProcessorService],
48
+ })
49
+ ], EventStreamModule);
50
+ //# sourceMappingURL=event-stream.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream.module.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,iEAA4D;AAC5D,8DAA0D;AAE1D,qFAA+E;AAC/E,iEAAyD;AAYlD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,CAAC,8BAAa,EAAE,8BAAa,CAAC;YACvC,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;YAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;SAC3D,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,UAAU,CAAC,EAChB,MAAM,GAAG,EAAE,EACX,UAAU,GAAG,EAAE,GACO;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,yCAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,4DAA2B,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE,CAAC,8BAAa,EAAE,8BAAa,CAAC;YACvC,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;YAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;SAC3D,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,8CAAiB;4BAAjB,iBAAiB;IAL7B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,EAAE,8BAAa,CAAC;QACvC,SAAS,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;QAC5D,OAAO,EAAE,CAAC,yCAAkB,EAAE,4DAA2B,CAAC;KAC3D,CAAC;GACW,iBAAiB,CAkC7B"}
@@ -0,0 +1,18 @@
1
+ import { ConsumeOptions, Consumer, Producer, ProduceResult, SendOptions } from '@platformatic/kafka';
2
+ import { ContextService } from '../context/context.service';
3
+ import { Message } from './types';
4
+ import { ConfigsService } from '~/configs/configs.service';
5
+ export declare class EventStreamService {
6
+ private contextService;
7
+ private configs;
8
+ private get clientId();
9
+ private get brokers();
10
+ private static TOPICS;
11
+ constructor(contextService: ContextService, configs: ConfigsService);
12
+ static addTopic(topic: string): void;
13
+ consume(groupId: string, options: ConsumeOptions<string, string, string, string>, callback: (message: Message) => void): Promise<void>;
14
+ send(options: SendOptions<string, string, string, string>): Promise<ProduceResult>;
15
+ createTopics(): Promise<void>;
16
+ protected getProducer(): Producer<string, string, string, string>;
17
+ protected getConsumer(groupId: string): Consumer<string, string, string, string>;
18
+ }
@@ -0,0 +1,107 @@
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 EventStreamService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.EventStreamService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const kafka_1 = require("@platformatic/kafka");
16
+ const context_1 = require("../context/context");
17
+ const context_service_1 = require("../context/context.service");
18
+ const configs_service_1 = require("../../configs/configs.service");
19
+ let EventStreamService = class EventStreamService {
20
+ static { EventStreamService_1 = this; }
21
+ contextService;
22
+ configs;
23
+ get clientId() {
24
+ return 'social.dev';
25
+ }
26
+ get brokers() {
27
+ return [process.env.SOCIAL_DEV_KAFKA_BROKER || 'localhost:9092'];
28
+ }
29
+ static TOPICS = [];
30
+ constructor(contextService, configs) {
31
+ this.contextService = contextService;
32
+ this.configs = configs;
33
+ }
34
+ static addTopic(topic) {
35
+ EventStreamService_1.TOPICS.push(topic);
36
+ }
37
+ async consume(groupId, options, callback) {
38
+ const stream = await this.getConsumer(groupId).consume(options);
39
+ for await (const message of stream) {
40
+ this.contextService.run(() => {
41
+ this.contextService.set('network', {
42
+ id: +(message.headers.get('networkId') || ''),
43
+ });
44
+ callback(message);
45
+ });
46
+ }
47
+ }
48
+ send(options) {
49
+ options.messages = options.messages.map((message) => ({
50
+ ...message,
51
+ headers: {
52
+ networkId: context_1.Context.getNetwork().id.toString(),
53
+ },
54
+ }));
55
+ return this.getProducer().send(options);
56
+ }
57
+ async createTopics() {
58
+ const admin = new kafka_1.Admin({
59
+ clientId: this.clientId,
60
+ bootstrapBrokers: this.brokers,
61
+ ...this.configs.get('eventStream')?.options,
62
+ });
63
+ for (const topic of EventStreamService_1.TOPICS) {
64
+ try {
65
+ await admin.createTopics({
66
+ topics: [topic],
67
+ partitions: 1,
68
+ replicas: 1,
69
+ });
70
+ }
71
+ catch (err) {
72
+ if (!(err instanceof kafka_1.ResponseError)) {
73
+ throw err;
74
+ }
75
+ if (err.errors[0].apiId === 'TOPIC_ALREADY_EXISTS') {
76
+ }
77
+ else {
78
+ throw err;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ getProducer() {
84
+ return new kafka_1.Producer({
85
+ clientId: this.clientId,
86
+ bootstrapBrokers: this.brokers,
87
+ serializers: kafka_1.stringSerializers,
88
+ ...this.configs.get('eventStream')?.options,
89
+ });
90
+ }
91
+ getConsumer(groupId) {
92
+ return new kafka_1.Consumer({
93
+ groupId: `${this.clientId}-${groupId}`,
94
+ clientId: this.clientId,
95
+ bootstrapBrokers: this.brokers,
96
+ deserializers: kafka_1.stringDeserializers,
97
+ ...this.configs.get('eventStream')?.options,
98
+ });
99
+ }
100
+ };
101
+ exports.EventStreamService = EventStreamService;
102
+ exports.EventStreamService = EventStreamService = EventStreamService_1 = __decorate([
103
+ (0, common_1.Injectable)(),
104
+ __metadata("design:paramtypes", [context_service_1.ContextService,
105
+ configs_service_1.ConfigsService])
106
+ ], EventStreamService);
107
+ //# sourceMappingURL=event-stream.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-stream.service.js","sourceRoot":"","sources":["../../../src/core/event-stream/event-stream.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import * as Kafka from '@platformatic/kafka';
2
+ export type Message = Kafka.Message<string, string, string, string>;
3
+ export type KafkaConfigOptions = Kafka.AdminOptions;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/event-stream/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ export declare class HookModule {
3
+ static forRoot(): DynamicModule;
4
+ }
@@ -0,0 +1,30 @@
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 HookModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.HookModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const hook_service_1 = require("./hook.service");
13
+ let HookModule = HookModule_1 = class HookModule {
14
+ static forRoot() {
15
+ return {
16
+ global: true,
17
+ module: HookModule_1,
18
+ providers: [hook_service_1.HookService],
19
+ exports: [hook_service_1.HookService],
20
+ };
21
+ }
22
+ };
23
+ exports.HookModule = HookModule;
24
+ exports.HookModule = HookModule = HookModule_1 = __decorate([
25
+ (0, common_1.Module)({
26
+ providers: [hook_service_1.HookService],
27
+ exports: [hook_service_1.HookService],
28
+ })
29
+ ], HookModule);
30
+ //# sourceMappingURL=hook.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.module.js","sourceRoot":"","sources":["../../../src/core/hook/hook.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,iDAA6C;AAMtC,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,YAAU;YAClB,SAAS,EAAE,CAAC,0BAAW,CAAC;YACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AATY,gCAAU;qBAAV,UAAU;IAJtB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAStB"}
@@ -0,0 +1,7 @@
1
+ type HookCallback = (data: Object) => any;
2
+ export declare class HookService {
3
+ private static listeners;
4
+ listen(event: string, callback: HookCallback): HookService;
5
+ emit(event: string, data: any): any;
6
+ }
7
+ export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PluginHookService = void 0;
4
- class PluginHookListener {
3
+ exports.HookService = void 0;
4
+ class HookListener {
5
5
  callbacks;
6
6
  constructor(callbacks) {
7
7
  this.callbacks = callbacks;
@@ -14,22 +14,22 @@ class PluginHookListener {
14
14
  return this.callbacks;
15
15
  }
16
16
  }
17
- class PluginHookService {
17
+ class HookService {
18
18
  static listeners = new Map();
19
19
  listen(event, callback) {
20
20
  let listener;
21
- if (!PluginHookService.listeners.has(event)) {
22
- listener = new PluginHookListener([]);
23
- PluginHookService.listeners.set(event, listener);
21
+ if (!HookService.listeners.has(event)) {
22
+ listener = new HookListener([]);
23
+ HookService.listeners.set(event, listener);
24
24
  }
25
25
  else {
26
- listener = PluginHookService.listeners.get(event);
26
+ listener = HookService.listeners.get(event);
27
27
  }
28
28
  listener.addCallback(callback);
29
29
  return this;
30
30
  }
31
31
  emit(event, data) {
32
- const listener = PluginHookService.listeners.get(event);
32
+ const listener = HookService.listeners.get(event);
33
33
  if (!listener) {
34
34
  return;
35
35
  }
@@ -39,5 +39,5 @@ class PluginHookService {
39
39
  }
40
40
  }
41
41
  }
42
- exports.PluginHookService = PluginHookService;
43
- //# sourceMappingURL=plugin-hook.service.js.map
42
+ exports.HookService = HookService;
43
+ //# sourceMappingURL=hook.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.service.js","sourceRoot":"","sources":["../../../src/core/hook/hook.service.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY;IACI;IAApB,YAAoB,SAAyB;QAAzB,cAAS,GAAT,SAAS,CAAgB;IAAG,CAAC;IAEjD,WAAW,CAAC,QAAsB;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF;AAED,MAAa,WAAW;IACd,MAAM,CAAC,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IAKhE,MAAM,CAAC,KAAa,EAAE,QAAsB;QAC1C,IAAI,QAAsB,CAAC;QAE3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;YAChC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAiB,CAAC;QAC9D,CAAC;QAED,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,IAAI,CAAC,KAAa,EAAE,IAAS;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;;AApCH,kCAqCC"}
@@ -13,24 +13,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.PluginModule = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const plugin_factory_1 = __importDefault(require("./plugin.factory"));
16
- const plugin_hook_service_1 = require("./plugin-hook.service");
16
+ const hook_module_1 = require("../hook/hook.module");
17
17
  let PluginModule = PluginModule_1 = class PluginModule {
18
18
  static forRoot() {
19
19
  console.log('Loading plugins', plugin_factory_1.default.plugins);
20
20
  return {
21
21
  global: true,
22
22
  module: PluginModule_1,
23
- imports: [...plugin_factory_1.default.plugins],
24
- providers: [plugin_factory_1.default, plugin_hook_service_1.PluginHookService],
25
- exports: [plugin_factory_1.default, plugin_hook_service_1.PluginHookService],
23
+ imports: [...plugin_factory_1.default.plugins, hook_module_1.HookModule],
24
+ providers: [plugin_factory_1.default],
25
+ exports: [plugin_factory_1.default],
26
26
  };
27
27
  }
28
28
  };
29
29
  exports.PluginModule = PluginModule;
30
30
  exports.PluginModule = PluginModule = PluginModule_1 = __decorate([
31
31
  (0, common_1.Module)({
32
- providers: [plugin_hook_service_1.PluginHookService],
33
- exports: [plugin_hook_service_1.PluginHookService],
32
+ imports: [hook_module_1.HookModule],
34
33
  })
35
34
  ], PluginModule);
36
35
  //# sourceMappingURL=plugin.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.module.js","sourceRoot":"","sources":["../../../src/core/plugin/plugin.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuD;AACvD,sEAA6C;AAC7C,+DAA0D;AAMnD,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,wBAAa,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE,CAAC,GAAG,wBAAa,CAAC,OAAO,CAAC;YACnC,SAAS,EAAE,CAAC,wBAAa,EAAE,uCAAiB,CAAC;YAC7C,OAAO,EAAE,CAAC,wBAAa,EAAE,uCAAiB,CAAC;SAC5C,CAAC;IACJ,CAAC;CACF,CAAA;AAZY,oCAAY;uBAAZ,YAAY;IAJxB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,uCAAiB,CAAC;QAC9B,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,YAAY,CAYxB"}
1
+ {"version":3,"file":"plugin.module.js","sourceRoot":"","sources":["../../../src/core/plugin/plugin.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAuD;AACvD,sEAA6C;AAC7C,qDAAiD;AAK1C,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO;QACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,wBAAa,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,cAAY;YACpB,OAAO,EAAE,CAAC,GAAG,wBAAa,CAAC,OAAO,EAAE,wBAAU,CAAC;YAC/C,SAAS,EAAE,CAAC,wBAAa,CAAC;YAC1B,OAAO,EAAE,CAAC,wBAAa,CAAC;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAZY,oCAAY;uBAAZ,YAAY;IAHxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,wBAAU,CAAC;KACtB,CAAC;GACW,YAAY,CAYxB"}
@@ -0,0 +1,24 @@
1
+ import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs/websockets';
2
+ import { Server, Socket } from 'socket.io';
3
+ import { AuthService } from '~/auth/auth.service';
4
+ import { User } from '~/user/entities/user.entity';
5
+ import { ContextService } from '../context/context.service';
6
+ export interface WebSocketEvent<T = any> {
7
+ event: string;
8
+ data: T;
9
+ socket: Socket;
10
+ user?: User;
11
+ }
12
+ export declare class WebsocketGatewayService implements OnGatewayInit, OnGatewayConnection, OnGatewayDisconnect {
13
+ private authService;
14
+ private contextService;
15
+ sockets: Map<User['id'], Socket[]>;
16
+ private eventSubject;
17
+ constructor(authService: AuthService, contextService: ContextService);
18
+ afterInit(server: Server): void;
19
+ handleConnection(socket: Socket): void;
20
+ handleDisconnect(socket: Socket): void;
21
+ on<T = any>(eventName: string, callback: (event: WebSocketEvent<T>) => void): import("rxjs").Subscription;
22
+ private emitEvent;
23
+ handleTyping(data: any, socket: Socket): any;
24
+ }
@@ -0,0 +1,150 @@
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
45
+ return function (target, key) { decorator(target, key, paramIndex); }
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.WebsocketGatewayService = void 0;
49
+ const websockets_1 = require("@nestjs/websockets");
50
+ const socket_io_1 = require("socket.io");
51
+ const auth_service_1 = require("../../auth/auth.service");
52
+ const cookie = __importStar(require("cookie"));
53
+ const rxjs_1 = require("rxjs");
54
+ const context_service_1 = require("../context/context.service");
55
+ let WebsocketGatewayService = class WebsocketGatewayService {
56
+ authService;
57
+ contextService;
58
+ sockets = new Map();
59
+ eventSubject = new rxjs_1.Subject();
60
+ constructor(authService, contextService) {
61
+ this.authService = authService;
62
+ this.contextService = contextService;
63
+ }
64
+ afterInit(server) {
65
+ server.use(async (socket, next) => {
66
+ let token = undefined;
67
+ if (socket.handshake.headers.authorization) {
68
+ const [type, token_] = socket.handshake.headers.authorization?.split(' ') ?? [];
69
+ if (type === 'Bearer') {
70
+ token = token_;
71
+ }
72
+ }
73
+ else {
74
+ const cookies = cookie.parse(socket.handshake?.headers?.cookie || '');
75
+ if (cookies.sess) {
76
+ token = cookies.sess;
77
+ }
78
+ }
79
+ if (token) {
80
+ const user = await this.authService.getUserFromToken(token);
81
+ socket.data.user = user;
82
+ }
83
+ next();
84
+ });
85
+ }
86
+ handleConnection(socket) {
87
+ const user = socket.data.user;
88
+ if (user) {
89
+ const sockets = this.sockets.get(user.id) || [];
90
+ sockets.push(socket);
91
+ this.sockets.set(user.id, sockets);
92
+ }
93
+ }
94
+ handleDisconnect(socket) {
95
+ const user = socket.data.user;
96
+ if (user) {
97
+ const sockets = this.sockets.get(user.id) || [];
98
+ sockets.splice(sockets.findIndex((value) => value.id === socket.id), 1);
99
+ this.sockets.set(user.id, sockets);
100
+ }
101
+ }
102
+ on(eventName, callback) {
103
+ const subscription = this.eventSubject.subscribe((event) => {
104
+ if (event.event === eventName) {
105
+ try {
106
+ this.contextService.run(() => {
107
+ this.contextService.set('user', event.user);
108
+ callback(event);
109
+ });
110
+ }
111
+ catch (err) {
112
+ console.error(err);
113
+ }
114
+ }
115
+ });
116
+ return subscription;
117
+ }
118
+ emitEvent(event, data, socket) {
119
+ const user = socket.data.user;
120
+ this.eventSubject.next({
121
+ event,
122
+ data,
123
+ socket,
124
+ user,
125
+ });
126
+ }
127
+ handleTyping(data, socket) {
128
+ this.emitEvent('chat_typing', data, socket);
129
+ return data;
130
+ }
131
+ };
132
+ exports.WebsocketGatewayService = WebsocketGatewayService;
133
+ __decorate([
134
+ (0, websockets_1.SubscribeMessage)('chat_typing'),
135
+ __param(0, (0, websockets_1.MessageBody)()),
136
+ __param(1, (0, websockets_1.ConnectedSocket)()),
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", [Object, socket_io_1.Socket]),
139
+ __metadata("design:returntype", Object)
140
+ ], WebsocketGatewayService.prototype, "handleTyping", null);
141
+ exports.WebsocketGatewayService = WebsocketGatewayService = __decorate([
142
+ (0, websockets_1.WebSocketGateway)({
143
+ cors: {
144
+ origin: '*',
145
+ },
146
+ }),
147
+ __metadata("design:paramtypes", [auth_service_1.AuthService,
148
+ context_service_1.ContextService])
149
+ ], WebsocketGatewayService);
150
+ //# sourceMappingURL=gateway.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.service.js","sourceRoot":"","sources":["../../../src/core/websocket/gateway.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class WebsocketModule {
2
+ }