@amityco/ts-sdk 7.4.1-b7aa4210.0 → 7.4.1-bf4803ea.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 (313) hide show
  1. package/dist/@types/core/events.d.ts +7 -0
  2. package/dist/@types/core/events.d.ts.map +1 -1
  3. package/dist/@types/core/model.d.ts +5 -1
  4. package/dist/@types/core/model.d.ts.map +1 -1
  5. package/dist/@types/core/payload.d.ts +38 -5
  6. package/dist/@types/core/payload.d.ts.map +1 -1
  7. package/dist/@types/domains/client.d.ts +10 -0
  8. package/dist/@types/domains/client.d.ts.map +1 -1
  9. package/dist/@types/domains/community.d.ts +48 -1
  10. package/dist/@types/domains/community.d.ts.map +1 -1
  11. package/dist/@types/domains/invitation.d.ts +88 -0
  12. package/dist/@types/domains/invitation.d.ts.map +1 -0
  13. package/dist/@types/domains/joinRequest.d.ts +53 -0
  14. package/dist/@types/domains/joinRequest.d.ts.map +1 -0
  15. package/dist/@types/index.d.ts +3 -0
  16. package/dist/@types/index.d.ts.map +1 -1
  17. package/dist/communityRepository/api/createCommunity.d.ts +2 -2
  18. package/dist/communityRepository/api/createCommunity.d.ts.map +1 -1
  19. package/dist/communityRepository/api/getCommunities.d.ts +1 -1
  20. package/dist/communityRepository/api/getCommunities.d.ts.map +1 -1
  21. package/dist/communityRepository/api/getCommunity.d.ts +1 -1
  22. package/dist/communityRepository/api/getCommunity.d.ts.map +1 -1
  23. package/dist/communityRepository/api/getRecommendedCommunities.d.ts +3 -1
  24. package/dist/communityRepository/api/getRecommendedCommunities.d.ts.map +1 -1
  25. package/dist/communityRepository/api/getTrendingCommunities.d.ts +3 -1
  26. package/dist/communityRepository/api/getTrendingCommunities.d.ts.map +1 -1
  27. package/dist/communityRepository/api/joinCommunity.d.ts +3 -0
  28. package/dist/communityRepository/api/joinCommunity.d.ts.map +1 -1
  29. package/dist/communityRepository/api/queryCommunities.d.ts.map +1 -1
  30. package/dist/communityRepository/api/updateCommunity.d.ts +2 -2
  31. package/dist/communityRepository/api/updateCommunity.d.ts.map +1 -1
  32. package/dist/communityRepository/communityMembership/events/onCommunityJoined.d.ts +1 -1
  33. package/dist/communityRepository/communityMembership/events/onCommunityJoined.d.ts.map +1 -1
  34. package/dist/communityRepository/communityMembership/events/onCommunityLeft.d.ts +1 -1
  35. package/dist/communityRepository/communityMembership/events/onCommunityLeft.d.ts.map +1 -1
  36. package/dist/communityRepository/communityMembership/events/onCommunityUserAdded.d.ts +1 -1
  37. package/dist/communityRepository/communityMembership/events/onCommunityUserAdded.d.ts.map +1 -1
  38. package/dist/communityRepository/communityMembership/events/onCommunityUserBanned.d.ts +1 -1
  39. package/dist/communityRepository/communityMembership/events/onCommunityUserBanned.d.ts.map +1 -1
  40. package/dist/communityRepository/communityMembership/events/onCommunityUserChanged.d.ts +1 -1
  41. package/dist/communityRepository/communityMembership/events/onCommunityUserChanged.d.ts.map +1 -1
  42. package/dist/communityRepository/communityMembership/events/onCommunityUserRemoved.d.ts +1 -1
  43. package/dist/communityRepository/communityMembership/events/onCommunityUserRemoved.d.ts.map +1 -1
  44. package/dist/communityRepository/communityMembership/events/onCommunityUserRoleAdded.d.ts +1 -1
  45. package/dist/communityRepository/communityMembership/events/onCommunityUserRoleAdded.d.ts.map +1 -1
  46. package/dist/communityRepository/communityMembership/events/onCommunityUserRoleRemoved.d.ts +1 -1
  47. package/dist/communityRepository/communityMembership/events/onCommunityUserRoleRemoved.d.ts.map +1 -1
  48. package/dist/communityRepository/communityMembership/events/onCommunityUserUnbanned.d.ts +1 -1
  49. package/dist/communityRepository/communityMembership/events/onCommunityUserUnbanned.d.ts.map +1 -1
  50. package/dist/communityRepository/communityMembership/events/onLocalCommunityJoined.d.ts +1 -1
  51. package/dist/communityRepository/communityMembership/events/onLocalCommunityJoined.d.ts.map +1 -1
  52. package/dist/communityRepository/communityMembership/events/onLocalCommunityLeft.d.ts +1 -1
  53. package/dist/communityRepository/communityMembership/events/onLocalCommunityLeft.d.ts.map +1 -1
  54. package/dist/communityRepository/communityMembership/events/onLocalCommunityUserAdded.d.ts +1 -1
  55. package/dist/communityRepository/communityMembership/events/onLocalCommunityUserAdded.d.ts.map +1 -1
  56. package/dist/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.d.ts +1 -1
  57. package/dist/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.d.ts.map +1 -1
  58. package/dist/communityRepository/communityMembership/events/onUserDeleted.d.ts +1 -1
  59. package/dist/communityRepository/communityMembership/events/onUserDeleted.d.ts.map +1 -1
  60. package/dist/communityRepository/communityMembership/events/utils.d.ts +2 -2
  61. package/dist/communityRepository/communityMembership/events/utils.d.ts.map +1 -1
  62. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts +2 -2
  63. package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.d.ts.map +1 -1
  64. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersQueryStreamController.d.ts +2 -2
  65. package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersQueryStreamController.d.ts.map +1 -1
  66. package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.d.ts +1 -1
  67. package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.d.ts.map +1 -1
  68. package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.d.ts +1 -1
  69. package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.d.ts.map +1 -1
  70. package/dist/communityRepository/events/onCommunityCreated.d.ts +1 -1
  71. package/dist/communityRepository/events/onCommunityCreated.d.ts.map +1 -1
  72. package/dist/communityRepository/events/onCommunityDeleted.d.ts +1 -1
  73. package/dist/communityRepository/events/onCommunityDeleted.d.ts.map +1 -1
  74. package/dist/communityRepository/events/onCommunityUpdated.d.ts +1 -1
  75. package/dist/communityRepository/events/onCommunityUpdated.d.ts.map +1 -1
  76. package/dist/communityRepository/events/utils.d.ts +1 -1
  77. package/dist/communityRepository/events/utils.d.ts.map +1 -1
  78. package/dist/communityRepository/internalAPI/getMyJoinRequest.d.ts +16 -0
  79. package/dist/communityRepository/internalAPI/getMyJoinRequest.d.ts.map +1 -0
  80. package/dist/communityRepository/internalAPI/joinCommunity.d.ts +16 -0
  81. package/dist/communityRepository/internalAPI/joinCommunity.d.ts.map +1 -0
  82. package/dist/communityRepository/joinRequest/events/index.d.ts +4 -0
  83. package/dist/communityRepository/joinRequest/events/index.d.ts.map +1 -0
  84. package/dist/communityRepository/joinRequest/events/onJoinRequestCreated.d.ts +17 -0
  85. package/dist/communityRepository/joinRequest/events/onJoinRequestCreated.d.ts.map +1 -0
  86. package/dist/communityRepository/joinRequest/events/onJoinRequestDeleted.d.ts +17 -0
  87. package/dist/communityRepository/joinRequest/events/onJoinRequestDeleted.d.ts.map +1 -0
  88. package/dist/communityRepository/joinRequest/events/onJoinRequestUpdated.d.ts +17 -0
  89. package/dist/communityRepository/joinRequest/events/onJoinRequestUpdated.d.ts.map +1 -0
  90. package/dist/communityRepository/joinRequest/internalAPI/approveJoinRequest.d.ts +16 -0
  91. package/dist/communityRepository/joinRequest/internalAPI/approveJoinRequest.d.ts.map +1 -0
  92. package/dist/communityRepository/joinRequest/internalAPI/cancelJoinRequest.d.ts +16 -0
  93. package/dist/communityRepository/joinRequest/internalAPI/cancelJoinRequest.d.ts.map +1 -0
  94. package/dist/communityRepository/joinRequest/internalAPI/rejectJoinRequest.d.ts +16 -0
  95. package/dist/communityRepository/joinRequest/internalAPI/rejectJoinRequest.d.ts.map +1 -0
  96. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts +2 -2
  97. package/dist/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.d.ts.map +1 -1
  98. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListLiveCollectionController.d.ts +14 -0
  99. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListLiveCollectionController.d.ts.map +1 -0
  100. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListPaginationController.d.ts +9 -0
  101. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListPaginationController.d.ts.map +1 -0
  102. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListQueryStreamController.d.ts +15 -0
  103. package/dist/communityRepository/observers/getJoinRequestList/JoinRequestListQueryStreamController.d.ts.map +1 -0
  104. package/dist/communityRepository/observers/getJoinRequestList/enum.d.ts +6 -0
  105. package/dist/communityRepository/observers/getJoinRequestList/enum.d.ts.map +1 -0
  106. package/dist/communityRepository/observers/getJoinRequestList.d.ts +12 -0
  107. package/dist/communityRepository/observers/getJoinRequestList.d.ts.map +1 -0
  108. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsLiveCollectionController.d.ts +14 -0
  109. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsLiveCollectionController.d.ts.map +1 -0
  110. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsPaginationController.d.ts +9 -0
  111. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsPaginationController.d.ts.map +1 -0
  112. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsQueryStreamController.d.ts +15 -0
  113. package/dist/communityRepository/observers/getJoinRequests/JoinRequestsQueryStreamController.d.ts.map +1 -0
  114. package/dist/communityRepository/observers/getJoinRequests/enum.d.ts +6 -0
  115. package/dist/communityRepository/observers/getJoinRequests/enum.d.ts.map +1 -0
  116. package/dist/communityRepository/observers/getJoinRequests.d.ts +12 -0
  117. package/dist/communityRepository/observers/getJoinRequests.d.ts.map +1 -0
  118. package/dist/communityRepository/observers/getRecommendedCommunities/RecommendedCommunitiesLiveCollectionController.d.ts.map +1 -1
  119. package/dist/communityRepository/observers/getRecommendedCommunities/RecommendedCommunitiesQueryStreamController.d.ts +2 -2
  120. package/dist/communityRepository/observers/getRecommendedCommunities/RecommendedCommunitiesQueryStreamController.d.ts.map +1 -1
  121. package/dist/communityRepository/observers/getTrendingCommunities/TrendingCommunitiesLiveCollectionController.d.ts.map +1 -1
  122. package/dist/communityRepository/observers/getTrendingCommunities/TrendingCommunitiesQueryStreamController.d.ts +2 -2
  123. package/dist/communityRepository/observers/getTrendingCommunities/TrendingCommunitiesQueryStreamController.d.ts.map +1 -1
  124. package/dist/communityRepository/observers/index.d.ts +1 -0
  125. package/dist/communityRepository/observers/index.d.ts.map +1 -1
  126. package/dist/communityRepository/observers/searchCommunities/SearchCommunitiesPaginationController.d.ts.map +1 -1
  127. package/dist/communityRepository/observers/searchCommunities/SearchCommunitiesQueryStreamController.d.ts +2 -2
  128. package/dist/communityRepository/observers/searchCommunities/SearchCommunitiesQueryStreamController.d.ts.map +1 -1
  129. package/dist/communityRepository/observers/semanticSearch/SemanticSearchCommunityQueryStreamController.d.ts +2 -2
  130. package/dist/communityRepository/observers/semanticSearch/SemanticSearchCommunityQueryStreamController.d.ts.map +1 -1
  131. package/dist/communityRepository/utils/communityWithMembership.d.ts +1 -1
  132. package/dist/communityRepository/utils/communityWithMembership.d.ts.map +1 -1
  133. package/dist/communityRepository/utils/payload.d.ts +2 -1
  134. package/dist/communityRepository/utils/payload.d.ts.map +1 -1
  135. package/dist/core/events.d.ts +3 -3
  136. package/dist/core/events.d.ts.map +1 -1
  137. package/dist/core/model/idResolvers.d.ts.map +1 -1
  138. package/dist/core/model/index.d.ts.map +1 -1
  139. package/dist/index.cjs.js +2931 -1474
  140. package/dist/index.d.ts +1 -0
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.esm.js +3139 -1683
  143. package/dist/index.umd.js +4 -4
  144. package/dist/invitationRepository/events/index.d.ts +4 -0
  145. package/dist/invitationRepository/events/index.d.ts.map +1 -0
  146. package/dist/invitationRepository/events/onLocalInvitationCreated.d.ts +17 -0
  147. package/dist/invitationRepository/events/onLocalInvitationCreated.d.ts.map +1 -0
  148. package/dist/invitationRepository/events/onLocalInvitationDeleted.d.ts +17 -0
  149. package/dist/invitationRepository/events/onLocalInvitationDeleted.d.ts.map +1 -0
  150. package/dist/invitationRepository/events/onLocalInvitationUpdated.d.ts +17 -0
  151. package/dist/invitationRepository/events/onLocalInvitationUpdated.d.ts.map +1 -0
  152. package/dist/invitationRepository/index.d.ts +3 -0
  153. package/dist/invitationRepository/index.d.ts.map +1 -0
  154. package/dist/invitationRepository/internalApi/acceptInvitation.d.ts +16 -0
  155. package/dist/invitationRepository/internalApi/acceptInvitation.d.ts.map +1 -0
  156. package/dist/invitationRepository/internalApi/cancelInvitation.d.ts +16 -0
  157. package/dist/invitationRepository/internalApi/cancelInvitation.d.ts.map +1 -0
  158. package/dist/invitationRepository/internalApi/createInvitations.d.ts +21 -0
  159. package/dist/invitationRepository/internalApi/createInvitations.d.ts.map +1 -0
  160. package/dist/invitationRepository/internalApi/getInvitation.d.ts +17 -0
  161. package/dist/invitationRepository/internalApi/getInvitation.d.ts.map +1 -0
  162. package/dist/invitationRepository/internalApi/index.d.ts +5 -0
  163. package/dist/invitationRepository/internalApi/index.d.ts.map +1 -0
  164. package/dist/invitationRepository/internalApi/rejectInvitation.d.ts +16 -0
  165. package/dist/invitationRepository/internalApi/rejectInvitation.d.ts.map +1 -0
  166. package/dist/invitationRepository/observers/getInvitations/InvitationsLiveCollectionController.d.ts +14 -0
  167. package/dist/invitationRepository/observers/getInvitations/InvitationsLiveCollectionController.d.ts.map +1 -0
  168. package/dist/invitationRepository/observers/getInvitations/InvitationsPaginationController.d.ts +5 -0
  169. package/dist/invitationRepository/observers/getInvitations/InvitationsPaginationController.d.ts.map +1 -0
  170. package/dist/invitationRepository/observers/getInvitations/InvitationsQueryStreamController.d.ts +15 -0
  171. package/dist/invitationRepository/observers/getInvitations/InvitationsQueryStreamController.d.ts.map +1 -0
  172. package/dist/invitationRepository/observers/getInvitations/enums.d.ts +6 -0
  173. package/dist/invitationRepository/observers/getInvitations/enums.d.ts.map +1 -0
  174. package/dist/invitationRepository/observers/getInvitations.d.ts +12 -0
  175. package/dist/invitationRepository/observers/getInvitations.d.ts.map +1 -0
  176. package/dist/invitationRepository/observers/getMyCommunityInvitations.d.ts +12 -0
  177. package/dist/invitationRepository/observers/getMyCommunityInvitations.d.ts.map +1 -0
  178. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsLiveCollectionController.d.ts +14 -0
  179. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsLiveCollectionController.d.ts.map +1 -0
  180. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsPaginationController.d.ts +5 -0
  181. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsPaginationController.d.ts.map +1 -0
  182. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsQueryStreamController.d.ts +15 -0
  183. package/dist/invitationRepository/observers/getMyInvitations/MyInvitationsQueryStreamController.d.ts.map +1 -0
  184. package/dist/invitationRepository/observers/index.d.ts +2 -0
  185. package/dist/invitationRepository/observers/index.d.ts.map +1 -0
  186. package/dist/invitationRepository/utils/convertRawInvitationToInternalInvitation.d.ts +2 -0
  187. package/dist/invitationRepository/utils/convertRawInvitationToInternalInvitation.d.ts.map +1 -0
  188. package/dist/invitationRepository/utils/index.d.ts +2 -0
  189. package/dist/invitationRepository/utils/index.d.ts.map +1 -0
  190. package/dist/invitationRepository/utils/prepareInvitationPayload.d.ts +2 -0
  191. package/dist/invitationRepository/utils/prepareInvitationPayload.d.ts.map +1 -0
  192. package/dist/invitationRepository/utils/prepareMyInvitationsPayload.d.ts +2 -0
  193. package/dist/invitationRepository/utils/prepareMyInvitationsPayload.d.ts.map +1 -0
  194. package/dist/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostQueryStreamController.d.ts.map +1 -1
  195. package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -1
  196. package/dist/subChannelRepository/utils/prepareSubChannelPayload.d.ts.map +1 -1
  197. package/dist/utils/linkedObject/communityLinkedObject.d.ts +2 -0
  198. package/dist/utils/linkedObject/communityLinkedObject.d.ts.map +1 -0
  199. package/dist/utils/linkedObject/index.d.ts +3 -0
  200. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  201. package/dist/utils/linkedObject/invitationLinkedObject.d.ts +2 -0
  202. package/dist/utils/linkedObject/invitationLinkedObject.d.ts.map +1 -0
  203. package/dist/utils/linkedObject/joinRequestLinkedObject.d.ts +2 -0
  204. package/dist/utils/linkedObject/joinRequestLinkedObject.d.ts.map +1 -0
  205. package/dist/utils/tests/dummy/post.d.ts +3 -3
  206. package/package.json +1 -1
  207. package/src/@types/core/events.ts +11 -1
  208. package/src/@types/core/model.ts +8 -1
  209. package/src/@types/core/payload.ts +48 -5
  210. package/src/@types/domains/client.ts +12 -0
  211. package/src/@types/domains/community.ts +73 -1
  212. package/src/@types/domains/invitation.ts +116 -0
  213. package/src/@types/domains/joinRequest.ts +66 -0
  214. package/src/@types/index.ts +3 -0
  215. package/src/communityRepository/api/createCommunity.ts +5 -2
  216. package/src/communityRepository/api/getCommunities.ts +9 -2
  217. package/src/communityRepository/api/getCommunity.ts +13 -2
  218. package/src/communityRepository/api/getRecommendedCommunities.ts +11 -4
  219. package/src/communityRepository/api/getTrendingCommunities.ts +11 -4
  220. package/src/communityRepository/api/joinCommunity.ts +4 -1
  221. package/src/communityRepository/api/queryCommunities.ts +6 -1
  222. package/src/communityRepository/api/updateCommunity.ts +13 -3
  223. package/src/communityRepository/communityMembership/events/onCommunityJoined.ts +1 -1
  224. package/src/communityRepository/communityMembership/events/onCommunityLeft.ts +1 -1
  225. package/src/communityRepository/communityMembership/events/onCommunityUserAdded.ts +1 -1
  226. package/src/communityRepository/communityMembership/events/onCommunityUserBanned.ts +1 -1
  227. package/src/communityRepository/communityMembership/events/onCommunityUserChanged.ts +1 -1
  228. package/src/communityRepository/communityMembership/events/onCommunityUserRemoved.ts +1 -1
  229. package/src/communityRepository/communityMembership/events/onCommunityUserRoleAdded.ts +1 -1
  230. package/src/communityRepository/communityMembership/events/onCommunityUserRoleRemoved.ts +1 -1
  231. package/src/communityRepository/communityMembership/events/onCommunityUserUnbanned.ts +1 -1
  232. package/src/communityRepository/communityMembership/events/onLocalCommunityJoined.ts +1 -1
  233. package/src/communityRepository/communityMembership/events/onLocalCommunityLeft.ts +1 -1
  234. package/src/communityRepository/communityMembership/events/onLocalCommunityUserAdded.ts +1 -1
  235. package/src/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.ts +1 -1
  236. package/src/communityRepository/communityMembership/events/onUserDeleted.ts +3 -1
  237. package/src/communityRepository/communityMembership/events/utils.ts +2 -2
  238. package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersQueryStreamController.ts +8 -2
  239. package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersQueryStreamController.ts +8 -2
  240. package/src/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.ts +1 -1
  241. package/src/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.ts +1 -1
  242. package/src/communityRepository/events/onCommunityCreated.ts +1 -1
  243. package/src/communityRepository/events/onCommunityDeleted.ts +1 -1
  244. package/src/communityRepository/events/onCommunityUpdated.ts +1 -1
  245. package/src/communityRepository/events/utils.ts +1 -1
  246. package/src/communityRepository/internalAPI/getMyJoinRequest.ts +43 -0
  247. package/src/communityRepository/internalAPI/joinCommunity.ts +66 -0
  248. package/src/communityRepository/joinRequest/events/index.ts +3 -0
  249. package/src/communityRepository/joinRequest/events/onJoinRequestCreated.ts +33 -0
  250. package/src/communityRepository/joinRequest/events/onJoinRequestDeleted.ts +33 -0
  251. package/src/communityRepository/joinRequest/events/onJoinRequestUpdated.ts +33 -0
  252. package/src/communityRepository/joinRequest/internalAPI/approveJoinRequest.ts +52 -0
  253. package/src/communityRepository/joinRequest/internalAPI/cancelJoinRequest.ts +46 -0
  254. package/src/communityRepository/joinRequest/internalAPI/rejectJoinRequest.ts +52 -0
  255. package/src/communityRepository/observers/getCommunities/CommunitiesQueryStreamController.ts +2 -2
  256. package/src/communityRepository/observers/getJoinRequestList/JoinRequestListLiveCollectionController.ts +130 -0
  257. package/src/communityRepository/observers/getJoinRequestList/JoinRequestListPaginationController.ts +30 -0
  258. package/src/communityRepository/observers/getJoinRequestList/JoinRequestListQueryStreamController.ts +112 -0
  259. package/src/communityRepository/observers/getJoinRequestList/enum.ts +5 -0
  260. package/src/communityRepository/observers/getJoinRequestList.ts +51 -0
  261. package/src/communityRepository/observers/getJoinRequests/JoinRequestsLiveCollectionController.ts +126 -0
  262. package/src/communityRepository/observers/getJoinRequests/JoinRequestsPaginationController.ts +26 -0
  263. package/src/communityRepository/observers/getJoinRequests/JoinRequestsQueryStreamController.ts +108 -0
  264. package/src/communityRepository/observers/getJoinRequests/enum.ts +5 -0
  265. package/src/communityRepository/observers/getJoinRequests.ts +44 -0
  266. package/src/communityRepository/observers/getRecommendedCommunities/RecommendedCommunitiesLiveCollectionController.ts +2 -1
  267. package/src/communityRepository/observers/getRecommendedCommunities/RecommendedCommunitiesQueryStreamController.ts +2 -2
  268. package/src/communityRepository/observers/getTrendingCommunities/TrendingCommunitiesLiveCollectionController.ts +2 -1
  269. package/src/communityRepository/observers/getTrendingCommunities/TrendingCommunitiesQueryStreamController.ts +2 -2
  270. package/src/communityRepository/observers/index.ts +1 -0
  271. package/src/communityRepository/observers/searchCommunities/SearchCommunitiesPaginationController.ts +1 -0
  272. package/src/communityRepository/observers/searchCommunities/SearchCommunitiesQueryStreamController.ts +2 -2
  273. package/src/communityRepository/observers/semanticSearch/SemanticSearchCommunityQueryStreamController.ts +2 -2
  274. package/src/communityRepository/utils/communityWithMembership.ts +9 -5
  275. package/src/communityRepository/utils/payload.ts +28 -2
  276. package/src/core/liveCollection/PaginationController.ts +1 -1
  277. package/src/core/liveCollection/PaginationNoPageController.ts +1 -1
  278. package/src/core/model/idResolvers.ts +3 -0
  279. package/src/core/model/index.ts +3 -0
  280. package/src/index.ts +2 -0
  281. package/src/invitationRepository/events/index.ts +3 -0
  282. package/src/invitationRepository/events/onLocalInvitationCreated.ts +33 -0
  283. package/src/invitationRepository/events/onLocalInvitationDeleted.ts +33 -0
  284. package/src/invitationRepository/events/onLocalInvitationUpdated.ts +33 -0
  285. package/src/invitationRepository/index.ts +2 -0
  286. package/src/invitationRepository/internalApi/acceptInvitation.ts +45 -0
  287. package/src/invitationRepository/internalApi/cancelInvitation.ts +44 -0
  288. package/src/invitationRepository/internalApi/createInvitations.ts +52 -0
  289. package/src/invitationRepository/internalApi/getInvitation.ts +47 -0
  290. package/src/invitationRepository/internalApi/index.ts +4 -0
  291. package/src/invitationRepository/internalApi/rejectInvitation.ts +45 -0
  292. package/src/invitationRepository/observers/getInvitations/InvitationsLiveCollectionController.ts +148 -0
  293. package/src/invitationRepository/observers/getInvitations/InvitationsPaginationController.ts +19 -0
  294. package/src/invitationRepository/observers/getInvitations/InvitationsQueryStreamController.ts +97 -0
  295. package/src/invitationRepository/observers/getInvitations/enums.ts +5 -0
  296. package/src/invitationRepository/observers/getInvitations.ts +44 -0
  297. package/src/invitationRepository/observers/getMyCommunityInvitations.ts +48 -0
  298. package/src/invitationRepository/observers/getMyInvitations/MyInvitationsLiveCollectionController.ts +148 -0
  299. package/src/invitationRepository/observers/getMyInvitations/MyInvitationsPaginationController.ts +22 -0
  300. package/src/invitationRepository/observers/getMyInvitations/MyInvitationsQueryStreamController.ts +105 -0
  301. package/src/invitationRepository/observers/index.ts +1 -0
  302. package/src/invitationRepository/utils/convertRawInvitationToInternalInvitation.ts +8 -0
  303. package/src/invitationRepository/utils/index.ts +1 -0
  304. package/src/invitationRepository/utils/prepareInvitationPayload.ts +12 -0
  305. package/src/invitationRepository/utils/prepareMyInvitationsPayload.ts +12 -0
  306. package/src/messagePreview/utils/getChannelMessagePreviewWithUser.ts +3 -3
  307. package/src/postRepository/observers/getGlobalPinnedPosts/GlobalPinnedPostQueryStreamController.ts +7 -1
  308. package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +7 -1
  309. package/src/subChannelRepository/utils/prepareSubChannelPayload.ts +4 -0
  310. package/src/utils/linkedObject/communityLinkedObject.ts +58 -0
  311. package/src/utils/linkedObject/index.ts +6 -0
  312. package/src/utils/linkedObject/invitationLinkedObject.ts +44 -0
  313. package/src/utils/linkedObject/joinRequestLinkedObject.ts +31 -0
@@ -0,0 +1,44 @@
1
+ import { dropFromCache } from '~/cache/api/dropFromCache';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
+ import { ENABLE_CACHE_MESSAGE } from '~/utils/constants';
4
+ import { JoinRequestsLiveCollectionController } from './getJoinRequests/JoinRequestsLiveCollectionController';
5
+
6
+ /**
7
+ * Get Join Requests
8
+ *
9
+ * @param params the query parameters
10
+ * @param callback the callback to be called when the join request are updated
11
+ * @returns joinRequests
12
+ *
13
+ * @category joinRequest Live Collection
14
+ *
15
+ */
16
+ export const getJoinRequests = (
17
+ params: Amity.JoinRequestLiveCollection,
18
+ callback: Amity.LiveCollectionCallback<Amity.JoinRequest>,
19
+ config?: Amity.LiveCollectionConfig,
20
+ ) => {
21
+ const { log, cache } = getActiveClient();
22
+
23
+ if (!cache) {
24
+ console.log(ENABLE_CACHE_MESSAGE);
25
+ }
26
+
27
+ const timestamp = Date.now();
28
+ log(`getJoinRequests: (tmpid: ${timestamp}) > listen`);
29
+
30
+ const joinRequestLiveCollection = new JoinRequestsLiveCollectionController(params, callback);
31
+
32
+ const disposers = joinRequestLiveCollection.startSubscription();
33
+
34
+ const cacheKey = joinRequestLiveCollection.getCacheKey();
35
+
36
+ disposers.push(() => {
37
+ dropFromCache(cacheKey);
38
+ });
39
+
40
+ return () => {
41
+ log(`getJoinRequests (tmpid: ${timestamp}) > dispose`);
42
+ disposers.forEach(fn => fn());
43
+ };
44
+ };
@@ -15,6 +15,7 @@ import {
15
15
  onCommunityUserChanged,
16
16
  } from '~/communityRepository/communityMembership';
17
17
  import { isNonNullable } from '~/utils';
18
+ import { communityLinkedObject } from '~/utils/linkedObject/communityLinkedObject';
18
19
 
19
20
  export class RecommendedCommunityLiveCollectionController extends LiveCollectionController<
20
21
  'community',
@@ -94,7 +95,7 @@ export class RecommendedCommunityLiveCollectionController extends LiveCollection
94
95
  collection.data
95
96
  .map(id => pullFromCache<Amity.Community>(['community', 'get', id]))
96
97
  .filter(isNonNullable)
97
- .map(({ data }) => data) ?? [];
98
+ .map(({ data }) => communityLinkedObject(data)) ?? [];
98
99
 
99
100
  if (!this.shouldNotify(data) && origin === 'event') return;
100
101
 
@@ -66,7 +66,7 @@ export class RecommendedCommunitiesQueryStreamController extends QueryStreamCont
66
66
  }
67
67
 
68
68
  reactor(action: EnumCommunityActions | EnumCommunityMemberActions) {
69
- return (community: Amity.Community) => {
69
+ return (community: Amity.InternalCommunity) => {
70
70
  const collection = pullFromCache<Amity.RecommendedCommunityLiveCollectionCache>(
71
71
  this.cacheKey,
72
72
  )?.data;
@@ -79,7 +79,7 @@ export class RecommendedCommunitiesQueryStreamController extends QueryStreamCont
79
79
 
80
80
  subscribeRTE(
81
81
  createSubscriber: {
82
- fn: (reactor: (channel: Amity.Community) => void) => Amity.Unsubscriber;
82
+ fn: (reactor: (channel: Amity.InternalCommunity) => void) => Amity.Unsubscriber;
83
83
  action: EnumCommunityActions | EnumCommunityMemberActions;
84
84
  }[],
85
85
  ) {
@@ -15,6 +15,7 @@ import {
15
15
  onCommunityUserChanged,
16
16
  } from '~/communityRepository/communityMembership';
17
17
  import { isNonNullable } from '~/utils';
18
+ import { communityLinkedObject } from '~/utils/linkedObject/communityLinkedObject';
18
19
 
19
20
  export class TrendingCommunityLiveCollectionController extends LiveCollectionController<
20
21
  'community',
@@ -94,7 +95,7 @@ export class TrendingCommunityLiveCollectionController extends LiveCollectionCon
94
95
  collection.data
95
96
  .map(id => pullFromCache<Amity.Community>(['community', 'get', id]))
96
97
  .filter(isNonNullable)
97
- .map(({ data }) => data) ?? [];
98
+ .map(({ data }) => communityLinkedObject(data)) ?? [];
98
99
 
99
100
  if (!this.shouldNotify(data) && origin === 'event') return;
100
101
 
@@ -64,7 +64,7 @@ export class TrendingCommunitiesQueryStreamController extends QueryStreamControl
64
64
  }
65
65
 
66
66
  reactor(action: EnumCommunityActions | EnumCommunityMemberActions) {
67
- return (community: Amity.Community) => {
67
+ return (community: Amity.InternalCommunity) => {
68
68
  const collection = pullFromCache<Amity.TrendingCommunityLiveCollectionCache>(
69
69
  this.cacheKey,
70
70
  )?.data;
@@ -77,7 +77,7 @@ export class TrendingCommunitiesQueryStreamController extends QueryStreamControl
77
77
 
78
78
  subscribeRTE(
79
79
  createSubscriber: {
80
- fn: (reactor: (channel: Amity.Community) => void) => Amity.Unsubscriber;
80
+ fn: (reactor: (channel: Amity.InternalCommunity) => void) => Amity.Unsubscriber;
81
81
  action: EnumCommunityActions | EnumCommunityMemberActions;
82
82
  }[],
83
83
  ) {
@@ -5,3 +5,4 @@ export * from './getTrendingCommunities';
5
5
  export * from './getRecommendedCommunities';
6
6
 
7
7
  export * from './semanticSearchCommunities';
8
+ export * from './getJoinRequestList';
@@ -22,6 +22,7 @@ export class CommunitiesPaginationController extends PaginationController<
22
22
  isDeleted: inferIsDeleted(params.includeDeleted),
23
23
  keyword: params.displayName,
24
24
  filter: params.membership,
25
+ includeDiscoverablePrivateCommunity: params.includeDiscoverablePrivateCommunity ?? true,
25
26
  options,
26
27
  },
27
28
  },
@@ -60,7 +60,7 @@ export class CommunitiesQueryStreamController extends QueryStreamController<
60
60
  }
61
61
 
62
62
  reactor(action: EnumCommunityActions | EnumCommunityMemberActions) {
63
- return (community: Amity.Community) => {
63
+ return (community: Amity.InternalCommunity) => {
64
64
  const collection = pullFromCache<Amity.SearchCommunityLiveCollectionCache>(
65
65
  this.cacheKey,
66
66
  )?.data;
@@ -73,7 +73,7 @@ export class CommunitiesQueryStreamController extends QueryStreamController<
73
73
 
74
74
  subscribeRTE(
75
75
  createSubscriber: {
76
- fn: (reactor: (channel: Amity.Community) => void) => Amity.Unsubscriber;
76
+ fn: (reactor: (channel: Amity.InternalCommunity) => void) => Amity.Unsubscriber;
77
77
  action: EnumCommunityActions | EnumCommunityMemberActions;
78
78
  }[],
79
79
  ) {
@@ -63,7 +63,7 @@ export class SemanticSearchCommunityQueryStreamController extends QueryStreamCon
63
63
  }
64
64
 
65
65
  reactor(action: EnumCommunityActions | EnumCommunityMemberActions) {
66
- return (community: Amity.Community) => {
66
+ return (community: Amity.InternalCommunity) => {
67
67
  const collection = pullFromCache<Amity.CommunityLiveCollectionCache>(this.cacheKey)?.data;
68
68
  if (!collection) return;
69
69
 
@@ -77,7 +77,7 @@ export class SemanticSearchCommunityQueryStreamController extends QueryStreamCon
77
77
 
78
78
  subscribeRTE(
79
79
  createSubscriber: {
80
- fn: (reactor: (community: Amity.Community) => void) => Amity.Unsubscriber;
80
+ fn: (reactor: (community: Amity.InternalCommunity) => void) => Amity.Unsubscriber;
81
81
  action: EnumCommunityActions | EnumCommunityMemberActions;
82
82
  }[],
83
83
  ) {
@@ -1,5 +1,5 @@
1
1
  import { pullFromCache } from '~/cache/api';
2
- import { getActiveUser } from '~/client';
2
+ import { getActiveUser } from '~/client/api/activeUser';
3
3
 
4
4
  /*
5
5
  * verifies membership status
@@ -12,7 +12,7 @@ function isMember(membership: Amity.Membership<'community'>['communityMembership
12
12
  * checks if currently logged in user is part of the community
13
13
  */
14
14
  function isCurrentUserPartOfCommunity(
15
- c: Amity.Community,
15
+ c: Amity.InternalCommunity,
16
16
  m: Amity.Membership<'community'>,
17
17
  ): boolean {
18
18
  const { userId } = getActiveUser();
@@ -28,11 +28,15 @@ function isCurrentUserPartOfCommunity(
28
28
  * Althought this can be calculated, it's not scalable.
29
29
  */
30
30
  export function updateMembershipStatus(
31
- communities: Amity.Community[],
31
+ communities: Amity.RawCommunity[],
32
32
  communityUsers: Amity.Membership<'community'>[],
33
- ): Amity.Community[] {
33
+ ): Amity.InternalCommunity[] {
34
34
  return communities.map(c => {
35
- const cachedCommunity = pullFromCache<Amity.Community>(['community', 'get', c.communityId]);
35
+ const cachedCommunity = pullFromCache<Amity.InternalCommunity>([
36
+ 'community',
37
+ 'get',
38
+ c.communityId,
39
+ ]);
36
40
  if (cachedCommunity?.data && cachedCommunity?.data.hasOwnProperty('isJoined')) {
37
41
  return {
38
42
  ...cachedCommunity.data,
@@ -1,5 +1,6 @@
1
1
  import { CommunityPostSettingMaps, DefaultCommunityPostSetting } from '~/@types';
2
2
  import { updateMembershipStatus } from './communityWithMembership';
3
+ import { convertRawUserToInternalUser } from '~/userRepository/utils/convertRawUserToInternalUser';
3
4
 
4
5
  const getMatchPostSetting = (value: {
5
6
  needApprovalOnPostCreation: Amity.RawCommunity['needApprovalOnPostCreation'];
@@ -13,7 +14,7 @@ const getMatchPostSetting = (value: {
13
14
  ) ?? DefaultCommunityPostSetting;
14
15
 
15
16
  export function addPostSetting({ communities }: { communities: Amity.RawCommunity[] }) {
16
- return communities.map<Amity.Community>(
17
+ return communities.map<Amity.InternalCommunity>(
17
18
  ({ needApprovalOnPostCreation, onlyAdminCanPost, ...restCommunityPayload }) => ({
18
19
  postSetting: getMatchPostSetting({
19
20
  needApprovalOnPostCreation,
@@ -29,10 +30,13 @@ export const prepareCommunityPayload = (
29
30
  ): Amity.ProcessedCommunityPayload => {
30
31
  const communitiesWithPostSetting = addPostSetting({ communities: rawPayload.communities });
31
32
 
33
+ // Convert users to internal format
34
+ const internalUsers = rawPayload.users.map(convertRawUserToInternalUser);
35
+
32
36
  // map users with community
33
37
  const mappedCommunityUsers: Array<Amity.Membership<'community'>> = rawPayload.communityUsers.map(
34
38
  communityUser => {
35
- const user = rawPayload.users.find(user => user.userId === communityUser.userId)!;
39
+ const user = internalUsers.find(user => user.userId === communityUser.userId)!;
36
40
 
37
41
  return {
38
42
  ...communityUser,
@@ -48,11 +52,33 @@ export const prepareCommunityPayload = (
48
52
 
49
53
  return {
50
54
  ...rawPayload,
55
+ users: rawPayload.users.map(convertRawUserToInternalUser),
51
56
  communities: communityWithMembershipStatus,
52
57
  communityUsers: mappedCommunityUsers,
53
58
  };
54
59
  };
55
60
 
61
+ export const prepareCommunityJoinRequestPayload = (
62
+ rawPayload: Amity.CommunityJoinRequestPayload,
63
+ ): Amity.ProcessedJoinRequestPayload => {
64
+ const mappedJoinRequests: Array<Amity.InternalJoinRequest> = rawPayload.joinRequests.map(
65
+ joinRequest => {
66
+ return {
67
+ ...joinRequest,
68
+ joinRequestId: joinRequest._id,
69
+ };
70
+ },
71
+ );
72
+
73
+ const users = rawPayload.users.map(convertRawUserToInternalUser);
74
+
75
+ return {
76
+ ...rawPayload,
77
+ joinRequests: mappedJoinRequests,
78
+ users,
79
+ };
80
+ };
81
+
56
82
  export const prepareCommunityMembershipPayload = (
57
83
  rawPayload: Amity.CommunityMembershipPayload,
58
84
  ): Amity.ProcessedCommunityMembershipPayload => {
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { getActiveClient } from '~/client/api';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
3
 
4
4
  export abstract class PaginationController<
5
5
  TPayloadDomain extends keyof Amity.Payloads,
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { getActiveClient } from '~/client/api';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
3
 
4
4
  export abstract class PaginationNoPageController<
5
5
  TPayloadDomain extends keyof Amity.Payloads,
@@ -64,6 +64,9 @@ const idResolvers: Resolvers = {
64
64
 
65
65
  notificationTrayItem: ({ _id }) => _id,
66
66
  notificationTraySeen: ({ userId }) => userId,
67
+
68
+ invitation: ({ _id }) => _id,
69
+ joinRequest: ({ joinRequestId }) => joinRequestId,
67
70
  };
68
71
 
69
72
  /**
@@ -54,6 +54,9 @@ export const PAYLOAD2MODEL: Record<string, Amity.Domain> = {
54
54
  pins: 'pin',
55
55
 
56
56
  notificationTrayItems: 'notificationTrayItem',
57
+
58
+ invitations: 'invitation',
59
+ joinRequests: 'joinRequest',
57
60
  };
58
61
 
59
62
  /** hidden */
package/src/index.ts CHANGED
@@ -51,3 +51,5 @@ export * as AdRepository from './adRepository';
51
51
  export * from './external/api';
52
52
 
53
53
  export * as notificationTray from './notificationTray';
54
+
55
+ export * as InvitationRepository from './invitationRepository';
@@ -0,0 +1,3 @@
1
+ export * from './onLocalInvitationCreated';
2
+ export * from './onLocalInvitationUpdated';
3
+ export * from './onLocalInvitationDeleted';
@@ -0,0 +1,33 @@
1
+ import { getActiveClient } from '~/client/api/activeClient';
2
+ import { createEventSubscriber } from '~/core/events';
3
+
4
+ /**
5
+ * ```js
6
+ * import { onLocalInvitationCreated } from '@amityco/ts-sdk'
7
+ * const dispose = onLocalInvitationCreated(data => {
8
+ * // ...
9
+ * })
10
+ * ```
11
+ *
12
+ * Fired when an {@link Amity.InvitationPayload} has been created
13
+ *
14
+ * @param callback The function to call when the event was fired
15
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
16
+ *
17
+ * @category Invitation Events
18
+ */
19
+ export const onLocalInvitationCreated = (
20
+ callback: Amity.Listener<Amity.InternalInvitation[]>,
21
+ ): Amity.Unsubscriber => {
22
+ const client = getActiveClient();
23
+
24
+ const disposers = [
25
+ createEventSubscriber(client, 'onLocalInvitationCreated', 'local.invitation.created', payload =>
26
+ callback(payload),
27
+ ),
28
+ ];
29
+
30
+ return () => {
31
+ disposers.forEach(fn => fn());
32
+ };
33
+ };
@@ -0,0 +1,33 @@
1
+ import { createEventSubscriber } from '~/core/events';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
+
4
+ /**
5
+ * ```js
6
+ * import { onLocalInvitationDeleted } from '@amityco/ts-sdk'
7
+ * const dispose = onLocalInvitationDeleted(data => {
8
+ * // ...
9
+ * })
10
+ * ```
11
+ *
12
+ * Fired when an {@link Amity.InvitationPayload} has been deleted
13
+ *
14
+ * @param callback The function to call when the event was fired
15
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
16
+ *
17
+ * @category Invitation Events
18
+ */
19
+ export const onLocalInvitationDeleted = (
20
+ callback: Amity.Listener<Amity.InternalInvitation[]>,
21
+ ): Amity.Unsubscriber => {
22
+ const client = getActiveClient();
23
+
24
+ const disposers = [
25
+ createEventSubscriber(client, 'onLocalInvitationDeleted', 'local.invitation.deleted', payload =>
26
+ callback(payload),
27
+ ),
28
+ ];
29
+
30
+ return () => {
31
+ disposers.forEach(fn => fn());
32
+ };
33
+ };
@@ -0,0 +1,33 @@
1
+ import { getActiveClient } from '~/client/api/activeClient';
2
+ import { createEventSubscriber } from '~/core/events';
3
+
4
+ /**
5
+ * ```js
6
+ * import { onLocalInvitationUpdated } from '@amityco/ts-sdk'
7
+ * const dispose = onLocalInvitationUpdated(data => {
8
+ * // ...
9
+ * })
10
+ * ```
11
+ *
12
+ * Fired when an {@link Amity.InvitationPayload} has been updated
13
+ *
14
+ * @param callback The function to call when the event was fired
15
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
16
+ *
17
+ * @category Invitation Events
18
+ */
19
+ export const onLocalInvitationUpdated = (
20
+ callback: Amity.Listener<Amity.InternalInvitation[]>,
21
+ ): Amity.Unsubscriber => {
22
+ const client = getActiveClient();
23
+
24
+ const disposers = [
25
+ createEventSubscriber(client, 'onLocalInvitationUpdated', 'local.invitation.updated', payload =>
26
+ callback(payload),
27
+ ),
28
+ ];
29
+
30
+ return () => {
31
+ disposers.forEach(fn => fn());
32
+ };
33
+ };
@@ -0,0 +1,2 @@
1
+ export * from './events';
2
+ export * from './observers';
@@ -0,0 +1,45 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
+ import { pullFromCache, upsertInCache } from '~/cache/api';
4
+ import { InvitationStatusEnum } from '~/@types';
5
+
6
+ /* begin_public_function
7
+ id: invitation.accept
8
+ */
9
+ /**
10
+ * ```js
11
+ * import { acceptInvitation } from '@amityco/ts-sdk'
12
+ * const isAccepted = await acceptInvitation(invitationId)
13
+ * ```
14
+ *
15
+ * Accepts a {@link Amity.Invitation} object
16
+ *
17
+ * @param invitationId the {@link Amity.Invitation} to accept
18
+ * @returns A success boolean if the {@link Amity.Invitation} was accepted
19
+ *
20
+ * @category Invitation API
21
+ * @async
22
+ */
23
+ export const acceptInvitation = async (invitationId: Amity.Invitation['_id']): Promise<boolean> => {
24
+ const client = getActiveClient();
25
+ client.log('invitation/acceptInvitation', invitationId);
26
+
27
+ const { data } = await client.http.post<{ success: boolean }>(
28
+ `/api/v1/invitations/${invitationId}/accept`,
29
+ );
30
+
31
+ const invitation = pullFromCache<Amity.InternalInvitation>([
32
+ 'invitation',
33
+ 'get',
34
+ invitationId,
35
+ ])?.data;
36
+
37
+ if (invitation) {
38
+ upsertInCache(['invitation', 'get', invitationId], { status: InvitationStatusEnum.Approved });
39
+
40
+ fireEvent('local.invitation.updated', [invitation]);
41
+ }
42
+
43
+ return data.success;
44
+ };
45
+ /* end_public_function */
@@ -0,0 +1,44 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { dropFromCache, pullFromCache } from '~/cache/api';
3
+ import { getActiveClient } from '~/client/api/activeClient';
4
+
5
+ /* begin_public_function
6
+ id: invitation.cancel
7
+ */
8
+ /**
9
+ * ```js
10
+ * import { cancelInvitation } from '@amityco/ts-sdk'
11
+ * const isCanceled = await cancelInvitation(invitationId)
12
+ * ```
13
+ *
14
+ * Cancels a {@link Amity.Invitation} object
15
+ *
16
+ * @param invitationId the {@link Amity.Invitation} to cancel
17
+ * @returns A success boolean if the {@link Amity.Invitation} was canceled
18
+ *
19
+ * @category Invitation API
20
+ * @async
21
+ */
22
+ export const cancelInvitation = async (invitationId: Amity.Invitation['_id']): Promise<boolean> => {
23
+ const client = getActiveClient();
24
+ client.log('invitation/cancelInvitation', invitationId);
25
+
26
+ const { data } = await client.http.delete<{ success: boolean }>(
27
+ `/api/v1/invitations/${invitationId}`,
28
+ );
29
+
30
+ const invitation = pullFromCache<Amity.InternalInvitation>([
31
+ 'invitation',
32
+ 'get',
33
+ invitationId,
34
+ ])?.data;
35
+
36
+ if (invitation) {
37
+ dropFromCache(['invitation', 'get', invitationId]);
38
+
39
+ fireEvent('local.invitation.deleted', [invitation]);
40
+ }
41
+
42
+ return data.success;
43
+ };
44
+ /* end_public_function */
@@ -0,0 +1,52 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { getActiveClient } from '~/client/api/activeClient';
3
+ import { ingestInCache } from '~/cache/api/ingestInCache';
4
+ import { prepareInvitationPayload } from '../utils';
5
+
6
+ /* begin_public_function
7
+ id: invitation.createInvitations
8
+ */
9
+ /**
10
+ * ```js
11
+ * import { createInvitations } from '@amityco/ts-sdk'
12
+ * const created = await createInvitations({
13
+ * type: string,
14
+ * targetType: string,
15
+ * targetId: string,
16
+ * userIds: string[]
17
+ * }))
18
+ * ```
19
+ *
20
+ * Creates an {@link Amity.Invitation}
21
+ *
22
+ * @param bundle The data necessary to create a new {@link Amity.Invitation}
23
+ * @returns The newly created {@link Amity.Invitation}
24
+ *
25
+ * @category Invitation API
26
+ * @async
27
+ */
28
+ export const createInvitations = async (
29
+ bundle: Amity.CreateInvitations,
30
+ ): Promise<Amity.Cached<Amity.InternalInvitation[]>> => {
31
+ const client = getActiveClient();
32
+ client.log('invitation/createInvitations', bundle);
33
+
34
+ const { data: payload } = await client.http.post<Amity.InvitationPayload>(
35
+ '/api/v1/invitations',
36
+ bundle,
37
+ );
38
+
39
+ const data = prepareInvitationPayload(payload);
40
+
41
+ const cachedAt = client.cache && Date.now();
42
+
43
+ if (client.cache) ingestInCache(data, { cachedAt });
44
+
45
+ fireEvent('local.invitation.created', data.invitations);
46
+
47
+ return {
48
+ data: data.invitations,
49
+ cachedAt,
50
+ };
51
+ };
52
+ /* end_public_function */
@@ -0,0 +1,47 @@
1
+ import { getActiveClient } from '~/client/api/activeClient';
2
+ import { ingestInCache } from '~/cache/api/ingestInCache';
3
+ import { prepareMyInvitationsPayload } from '../utils/prepareMyInvitationsPayload';
4
+ import { invitationLinkedObject } from '~/utils/linkedObject/invitationLinkedObject';
5
+
6
+ /* begin_public_function
7
+ id: invitation.get
8
+ */
9
+ /**
10
+ * ```js
11
+ * import { getInvitation } from '@amityco/ts-sdk'
12
+ * const { invitation } = await getInvitation(targetType, targetId)
13
+ * ```
14
+ *
15
+ * Get a {@link Amity.Invitation} object
16
+ *
17
+ * @param targetType The type of the target of the {@link Amity.Invitation}
18
+ * @param targetId The ID of the target of the {@link Amity.Invitation}
19
+ * @returns A {@link Amity.Invitation} object
20
+ *
21
+ * @category Invitation API
22
+ * @async
23
+ */
24
+ export const getInvitation = async (
25
+ targetType: Amity.Invitation['targetType'],
26
+ targetId: Amity.Invitation['targetId'],
27
+ ): Promise<Amity.Cached<Amity.Invitation | undefined>> => {
28
+ const client = getActiveClient();
29
+ client.log('invitation/getInvitation', targetType, targetId);
30
+
31
+ const { data: payload } = await client.http.get<Amity.MyInvitationsPayload>(
32
+ `/api/v1/invitations/me`,
33
+ { params: { targetType, targetId } },
34
+ );
35
+
36
+ const data = prepareMyInvitationsPayload(payload);
37
+
38
+ const cachedAt = client.cache && Date.now();
39
+
40
+ if (client.cache) ingestInCache(data, { cachedAt });
41
+
42
+ return {
43
+ data: data.invitations[0] ? invitationLinkedObject(data.invitations[0]) : undefined,
44
+ cachedAt,
45
+ };
46
+ };
47
+ /* end_public_function */
@@ -0,0 +1,4 @@
1
+ export * from './createInvitations';
2
+ export * from './acceptInvitation';
3
+ export * from './rejectInvitation';
4
+ export * from './cancelInvitation';
@@ -0,0 +1,45 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { InvitationStatusEnum } from '~/@types';
3
+ import { pullFromCache, upsertInCache } from '~/cache/api';
4
+ import { getActiveClient } from '~/client/api/activeClient';
5
+
6
+ /* begin_public_function
7
+ id: invitation.reject
8
+ */
9
+ /**
10
+ * ```js
11
+ * import { rejectInvitation } from '@amityco/ts-sdk'
12
+ * const isRejected = await rejectInvitation(invitationId)
13
+ * ```
14
+ *
15
+ * Rejects a {@link Amity.Invitation} object
16
+ *
17
+ * @param invitationId the {@link Amity.Invitation} to reject
18
+ * @returns A success boolean if the {@link Amity.Invitation} was rejected
19
+ *
20
+ * @category Invitation API
21
+ * @async
22
+ */
23
+ export const rejectInvitation = async (invitationId: Amity.Invitation['_id']): Promise<boolean> => {
24
+ const client = getActiveClient();
25
+ client.log('invitation/rejectInvitation', invitationId);
26
+
27
+ const { data } = await client.http.post<{ success: boolean }>(
28
+ `/api/v1/invitations/${invitationId}/reject`,
29
+ );
30
+
31
+ const invitation = pullFromCache<Amity.InternalInvitation>([
32
+ 'invitation',
33
+ 'get',
34
+ invitationId,
35
+ ])?.data;
36
+
37
+ if (invitation) {
38
+ upsertInCache(['invitation', 'get', invitationId], { status: InvitationStatusEnum.Rejected });
39
+
40
+ fireEvent('local.invitation.updated', [invitation]);
41
+ }
42
+
43
+ return data.success;
44
+ };
45
+ /* end_public_function */