@amityco/ts-sdk 0.0.1-02f0fa3.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 (611) hide show
  1. package/LICENSE +390 -0
  2. package/README.md +137 -0
  3. package/dist/@types/core/cache.d.ts +21 -0
  4. package/dist/@types/core/cache.d.ts.map +1 -0
  5. package/dist/@types/core/errors.d.ts +32 -0
  6. package/dist/@types/core/errors.d.ts.map +1 -0
  7. package/dist/@types/core/events.d.ts +46 -0
  8. package/dist/@types/core/events.d.ts.map +1 -0
  9. package/dist/@types/core/model.d.ts +41 -0
  10. package/dist/@types/core/model.d.ts.map +1 -0
  11. package/dist/@types/core/payload.d.ts +88 -0
  12. package/dist/@types/core/payload.d.ts.map +1 -0
  13. package/dist/@types/core/permissions.d.ts +71 -0
  14. package/dist/@types/core/permissions.d.ts.map +1 -0
  15. package/dist/@types/core/query.d.ts +72 -0
  16. package/dist/@types/core/query.d.ts.map +1 -0
  17. package/dist/@types/core/store.d.ts +46 -0
  18. package/dist/@types/core/store.d.ts.map +1 -0
  19. package/dist/@types/core/transport.d.ts +27 -0
  20. package/dist/@types/core/transport.d.ts.map +1 -0
  21. package/dist/@types/domains/category.d.ts +11 -0
  22. package/dist/@types/domains/category.d.ts.map +1 -0
  23. package/dist/@types/domains/channel.d.ts +26 -0
  24. package/dist/@types/domains/channel.d.ts.map +1 -0
  25. package/dist/@types/domains/client.d.ts +31 -0
  26. package/dist/@types/domains/client.d.ts.map +1 -0
  27. package/dist/@types/domains/comment.d.ts +17 -0
  28. package/dist/@types/domains/comment.d.ts.map +1 -0
  29. package/dist/@types/domains/community.d.ts +24 -0
  30. package/dist/@types/domains/community.d.ts.map +1 -0
  31. package/dist/@types/domains/content.d.ts +26 -0
  32. package/dist/@types/domains/content.d.ts.map +1 -0
  33. package/dist/@types/domains/feed.d.ts +14 -0
  34. package/dist/@types/domains/feed.d.ts.map +1 -0
  35. package/dist/@types/domains/file.d.ts +29 -0
  36. package/dist/@types/domains/file.d.ts.map +1 -0
  37. package/dist/@types/domains/group.d.ts +26 -0
  38. package/dist/@types/domains/group.d.ts.map +1 -0
  39. package/dist/@types/domains/message.d.ts +16 -0
  40. package/dist/@types/domains/message.d.ts.map +1 -0
  41. package/dist/@types/domains/partials.d.ts +42 -0
  42. package/dist/@types/domains/partials.d.ts.map +1 -0
  43. package/dist/@types/domains/post.d.ts +22 -0
  44. package/dist/@types/domains/post.d.ts.map +1 -0
  45. package/dist/@types/domains/reaction.d.ts +24 -0
  46. package/dist/@types/domains/reaction.d.ts.map +1 -0
  47. package/dist/@types/domains/stream.d.ts +47 -0
  48. package/dist/@types/domains/stream.d.ts.map +1 -0
  49. package/dist/@types/domains/user.d.ts +12 -0
  50. package/dist/@types/domains/user.d.ts.map +1 -0
  51. package/dist/@types/global.d.ts +13 -0
  52. package/dist/@types/global.d.ts.map +1 -0
  53. package/dist/@types/index.d.ts +23 -0
  54. package/dist/@types/index.d.ts.map +1 -0
  55. package/dist/category/api/getCategory.d.ts +16 -0
  56. package/dist/category/api/getCategory.d.ts.map +1 -0
  57. package/dist/category/api/index.d.ts +3 -0
  58. package/dist/category/api/index.d.ts.map +1 -0
  59. package/dist/category/api/queryCategories.d.ts +23 -0
  60. package/dist/category/api/queryCategories.d.ts.map +1 -0
  61. package/dist/channel/api/addChannelMembers.d.ts +17 -0
  62. package/dist/channel/api/addChannelMembers.d.ts.map +1 -0
  63. package/dist/channel/api/addChannelMembersRole.d.ts +18 -0
  64. package/dist/channel/api/addChannelMembersRole.d.ts.map +1 -0
  65. package/dist/channel/api/createChannel.d.ts +19 -0
  66. package/dist/channel/api/createChannel.d.ts.map +1 -0
  67. package/dist/channel/api/deleteChannel.d.ts +16 -0
  68. package/dist/channel/api/deleteChannel.d.ts.map +1 -0
  69. package/dist/channel/api/getChannel.d.ts +32 -0
  70. package/dist/channel/api/getChannel.d.ts.map +1 -0
  71. package/dist/channel/api/getChannels.d.ts +32 -0
  72. package/dist/channel/api/getChannels.d.ts.map +1 -0
  73. package/dist/channel/api/index.d.ts +14 -0
  74. package/dist/channel/api/index.d.ts.map +1 -0
  75. package/dist/channel/api/joinChannel.d.ts +16 -0
  76. package/dist/channel/api/joinChannel.d.ts.map +1 -0
  77. package/dist/channel/api/leaveChannel.d.ts +16 -0
  78. package/dist/channel/api/leaveChannel.d.ts.map +1 -0
  79. package/dist/channel/api/queryChannelMembers.d.ts +42 -0
  80. package/dist/channel/api/queryChannelMembers.d.ts.map +1 -0
  81. package/dist/channel/api/queryChannels.d.ts +43 -0
  82. package/dist/channel/api/queryChannels.d.ts.map +1 -0
  83. package/dist/channel/api/removeChannelMembers.d.ts +17 -0
  84. package/dist/channel/api/removeChannelMembers.d.ts.map +1 -0
  85. package/dist/channel/api/removeChannelMembersRole.d.ts +18 -0
  86. package/dist/channel/api/removeChannelMembersRole.d.ts.map +1 -0
  87. package/dist/channel/api/updateChannel.d.ts +17 -0
  88. package/dist/channel/api/updateChannel.d.ts.map +1 -0
  89. package/dist/channel/events/index.d.ts +7 -0
  90. package/dist/channel/events/index.d.ts.map +1 -0
  91. package/dist/channel/events/onChannelCreated.d.ts +17 -0
  92. package/dist/channel/events/onChannelCreated.d.ts.map +1 -0
  93. package/dist/channel/events/onChannelDeleted.d.ts +17 -0
  94. package/dist/channel/events/onChannelDeleted.d.ts.map +1 -0
  95. package/dist/channel/events/onChannelJoined.d.ts +17 -0
  96. package/dist/channel/events/onChannelJoined.d.ts.map +1 -0
  97. package/dist/channel/events/onChannelLeft.d.ts +17 -0
  98. package/dist/channel/events/onChannelLeft.d.ts.map +1 -0
  99. package/dist/channel/events/onChannelUpdated.d.ts +17 -0
  100. package/dist/channel/events/onChannelUpdated.d.ts.map +1 -0
  101. package/dist/channel/events/onMemberAdded.d.ts +17 -0
  102. package/dist/channel/events/onMemberAdded.d.ts.map +1 -0
  103. package/dist/channel/events/onMemberRemoved.d.ts +17 -0
  104. package/dist/channel/events/onMemberRemoved.d.ts.map +1 -0
  105. package/dist/channel/observers/index.d.ts +2 -0
  106. package/dist/channel/observers/index.d.ts.map +1 -0
  107. package/dist/channel/observers/observeChannel.d.ts +20 -0
  108. package/dist/channel/observers/observeChannel.d.ts.map +1 -0
  109. package/dist/client/api/activeClient.d.ts +17 -0
  110. package/dist/client/api/activeClient.d.ts.map +1 -0
  111. package/dist/client/api/clearCache.d.ts +15 -0
  112. package/dist/client/api/clearCache.d.ts.map +1 -0
  113. package/dist/client/api/connectClient.d.ts +26 -0
  114. package/dist/client/api/connectClient.d.ts.map +1 -0
  115. package/dist/client/api/createClient.d.ts +17 -0
  116. package/dist/client/api/createClient.d.ts.map +1 -0
  117. package/dist/client/api/disconnectClient.d.ts +16 -0
  118. package/dist/client/api/disconnectClient.d.ts.map +1 -0
  119. package/dist/client/api/enableCache.d.ts +15 -0
  120. package/dist/client/api/enableCache.d.ts.map +1 -0
  121. package/dist/client/api/getToken.d.ts +19 -0
  122. package/dist/client/api/getToken.d.ts.map +1 -0
  123. package/dist/client/api/index.d.ts +8 -0
  124. package/dist/client/api/index.d.ts.map +1 -0
  125. package/dist/client/api/isConnected.d.ts +14 -0
  126. package/dist/client/api/isConnected.d.ts.map +1 -0
  127. package/dist/client/events/index.d.ts +2 -0
  128. package/dist/client/events/index.d.ts.map +1 -0
  129. package/dist/client/events/onClientDisconnected.d.ts +17 -0
  130. package/dist/client/events/onClientDisconnected.d.ts.map +1 -0
  131. package/dist/comment/api/createComment.d.ts +16 -0
  132. package/dist/comment/api/createComment.d.ts.map +1 -0
  133. package/dist/comment/api/deleteComment.d.ts +16 -0
  134. package/dist/comment/api/deleteComment.d.ts.map +1 -0
  135. package/dist/comment/api/getComment.d.ts +32 -0
  136. package/dist/comment/api/getComment.d.ts.map +1 -0
  137. package/dist/comment/api/getComments.d.ts +32 -0
  138. package/dist/comment/api/getComments.d.ts.map +1 -0
  139. package/dist/comment/api/index.d.ts +7 -0
  140. package/dist/comment/api/index.d.ts.map +1 -0
  141. package/dist/comment/api/queryComments.d.ts +53 -0
  142. package/dist/comment/api/queryComments.d.ts.map +1 -0
  143. package/dist/comment/api/updateComment.d.ts +19 -0
  144. package/dist/comment/api/updateComment.d.ts.map +1 -0
  145. package/dist/comment/events/index.d.ts +4 -0
  146. package/dist/comment/events/index.d.ts.map +1 -0
  147. package/dist/comment/events/onCommentCreated.d.ts +17 -0
  148. package/dist/comment/events/onCommentCreated.d.ts.map +1 -0
  149. package/dist/comment/events/onCommentDeleted.d.ts +17 -0
  150. package/dist/comment/events/onCommentDeleted.d.ts.map +1 -0
  151. package/dist/comment/events/onCommentUpdated.d.ts +17 -0
  152. package/dist/comment/events/onCommentUpdated.d.ts.map +1 -0
  153. package/dist/comment/observers/index.d.ts +3 -0
  154. package/dist/comment/observers/index.d.ts.map +1 -0
  155. package/dist/comment/observers/observeComment.d.ts +20 -0
  156. package/dist/comment/observers/observeComment.d.ts.map +1 -0
  157. package/dist/comment/observers/observeComments.d.ts +22 -0
  158. package/dist/comment/observers/observeComments.d.ts.map +1 -0
  159. package/dist/community/api/addCommunityMembers.d.ts +17 -0
  160. package/dist/community/api/addCommunityMembers.d.ts.map +1 -0
  161. package/dist/community/api/addCommunityMembersRole.d.ts +18 -0
  162. package/dist/community/api/addCommunityMembersRole.d.ts.map +1 -0
  163. package/dist/community/api/createCommunity.d.ts +20 -0
  164. package/dist/community/api/createCommunity.d.ts.map +1 -0
  165. package/dist/community/api/deleteCommunity.d.ts +16 -0
  166. package/dist/community/api/deleteCommunity.d.ts.map +1 -0
  167. package/dist/community/api/getCommunities.d.ts +32 -0
  168. package/dist/community/api/getCommunities.d.ts.map +1 -0
  169. package/dist/community/api/getCommunity.d.ts +32 -0
  170. package/dist/community/api/getCommunity.d.ts.map +1 -0
  171. package/dist/community/api/index.d.ts +14 -0
  172. package/dist/community/api/index.d.ts.map +1 -0
  173. package/dist/community/api/joinCommunity.d.ts +16 -0
  174. package/dist/community/api/joinCommunity.d.ts.map +1 -0
  175. package/dist/community/api/leaveCommunity.d.ts +16 -0
  176. package/dist/community/api/leaveCommunity.d.ts.map +1 -0
  177. package/dist/community/api/queryCommunities.d.ts +46 -0
  178. package/dist/community/api/queryCommunities.d.ts.map +1 -0
  179. package/dist/community/api/queryCommunityMembers.d.ts +42 -0
  180. package/dist/community/api/queryCommunityMembers.d.ts.map +1 -0
  181. package/dist/community/api/removeCommunityMembers.d.ts +17 -0
  182. package/dist/community/api/removeCommunityMembers.d.ts.map +1 -0
  183. package/dist/community/api/removeCommunityMembersRole.d.ts +18 -0
  184. package/dist/community/api/removeCommunityMembersRole.d.ts.map +1 -0
  185. package/dist/community/api/updateCommunity.d.ts +17 -0
  186. package/dist/community/api/updateCommunity.d.ts.map +1 -0
  187. package/dist/community/events/index.d.ts +6 -0
  188. package/dist/community/events/index.d.ts.map +1 -0
  189. package/dist/community/events/onCommunityCreated.d.ts +17 -0
  190. package/dist/community/events/onCommunityCreated.d.ts.map +1 -0
  191. package/dist/community/events/onCommunityDeleted.d.ts +17 -0
  192. package/dist/community/events/onCommunityDeleted.d.ts.map +1 -0
  193. package/dist/community/events/onCommunityJoined.d.ts +17 -0
  194. package/dist/community/events/onCommunityJoined.d.ts.map +1 -0
  195. package/dist/community/events/onCommunityLeft.d.ts +17 -0
  196. package/dist/community/events/onCommunityLeft.d.ts.map +1 -0
  197. package/dist/community/events/onCommunityUpdated.d.ts +17 -0
  198. package/dist/community/events/onCommunityUpdated.d.ts.map +1 -0
  199. package/dist/community/observers/index.d.ts +2 -0
  200. package/dist/community/observers/index.d.ts.map +1 -0
  201. package/dist/community/observers/observeCommunity.d.ts +20 -0
  202. package/dist/community/observers/observeCommunity.d.ts.map +1 -0
  203. package/dist/core/cache/drop.d.ts +11 -0
  204. package/dist/core/cache/drop.d.ts.map +1 -0
  205. package/dist/core/cache/index.d.ts +19 -0
  206. package/dist/core/cache/index.d.ts.map +1 -0
  207. package/dist/core/cache/ingest.d.ts +10 -0
  208. package/dist/core/cache/ingest.d.ts.map +1 -0
  209. package/dist/core/cache/merge.d.ts +10 -0
  210. package/dist/core/cache/merge.d.ts.map +1 -0
  211. package/dist/core/cache/mutate.d.ts +10 -0
  212. package/dist/core/cache/mutate.d.ts.map +1 -0
  213. package/dist/core/cache/pull.d.ts +11 -0
  214. package/dist/core/cache/pull.d.ts.map +1 -0
  215. package/dist/core/cache/push.d.ts +10 -0
  216. package/dist/core/cache/push.d.ts.map +1 -0
  217. package/dist/core/cache/sync.d.ts +10 -0
  218. package/dist/core/cache/sync.d.ts.map +1 -0
  219. package/dist/core/debug.d.ts +15 -0
  220. package/dist/core/debug.d.ts.map +1 -0
  221. package/dist/core/device.d.ts +7 -0
  222. package/dist/core/device.d.ts.map +1 -0
  223. package/dist/core/errors.d.ts +59 -0
  224. package/dist/core/errors.d.ts.map +1 -0
  225. package/dist/core/events.d.ts +33 -0
  226. package/dist/core/events.d.ts.map +1 -0
  227. package/dist/core/model/idResolvers.d.ts +20 -0
  228. package/dist/core/model/idResolvers.d.ts.map +1 -0
  229. package/dist/core/model/identifyModel.d.ts +8 -0
  230. package/dist/core/model/identifyModel.d.ts.map +1 -0
  231. package/dist/core/model/index.d.ts +4 -0
  232. package/dist/core/model/index.d.ts.map +1 -0
  233. package/dist/core/model/toRecord.d.ts +10 -0
  234. package/dist/core/model/toRecord.d.ts.map +1 -0
  235. package/dist/core/query/decorate.d.ts +23 -0
  236. package/dist/core/query/decorate.d.ts.map +1 -0
  237. package/dist/core/query/filtering.d.ts +12 -0
  238. package/dist/core/query/filtering.d.ts.map +1 -0
  239. package/dist/core/query/index.d.ts +6 -0
  240. package/dist/core/query/index.d.ts.map +1 -0
  241. package/dist/core/query/paging.d.ts +58 -0
  242. package/dist/core/query/paging.d.ts.map +1 -0
  243. package/dist/core/query/query.d.ts +121 -0
  244. package/dist/core/query/query.d.ts.map +1 -0
  245. package/dist/core/query/sorting.d.ts +39 -0
  246. package/dist/core/query/sorting.d.ts.map +1 -0
  247. package/dist/core/stores/index.d.ts +3 -0
  248. package/dist/core/stores/index.d.ts.map +1 -0
  249. package/dist/core/stores/memory.d.ts +30 -0
  250. package/dist/core/stores/memory.d.ts.map +1 -0
  251. package/dist/core/stores/persistent.d.ts +13 -0
  252. package/dist/core/stores/persistent.d.ts.map +1 -0
  253. package/dist/core/transports.d.ts +49 -0
  254. package/dist/core/transports.d.ts.map +1 -0
  255. package/dist/core/uuid.d.ts +2 -0
  256. package/dist/core/uuid.d.ts.map +1 -0
  257. package/dist/feed/api/index.d.ts +2 -0
  258. package/dist/feed/api/index.d.ts.map +1 -0
  259. package/dist/feed/api/queryGlobalFeed.d.ts +23 -0
  260. package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -0
  261. package/dist/file/api/createFile.d.ts +16 -0
  262. package/dist/file/api/createFile.d.ts.map +1 -0
  263. package/dist/file/api/deleteFile.d.ts +16 -0
  264. package/dist/file/api/deleteFile.d.ts.map +1 -0
  265. package/dist/file/api/fileUrlWithSize.d.ts +9 -0
  266. package/dist/file/api/fileUrlWithSize.d.ts.map +1 -0
  267. package/dist/file/api/getFile.d.ts +32 -0
  268. package/dist/file/api/getFile.d.ts.map +1 -0
  269. package/dist/file/api/index.d.ts +5 -0
  270. package/dist/file/api/index.d.ts.map +1 -0
  271. package/dist/file/observers/index.d.ts +2 -0
  272. package/dist/file/observers/index.d.ts.map +1 -0
  273. package/dist/file/observers/observeFile.d.ts +20 -0
  274. package/dist/file/observers/observeFile.d.ts.map +1 -0
  275. package/dist/index.cjs.js +4884 -0
  276. package/dist/index.d.ts +32 -0
  277. package/dist/index.d.ts.map +1 -0
  278. package/dist/index.esm.js +4734 -0
  279. package/dist/index.umd.js +4880 -0
  280. package/dist/message/api/createMessage.d.ts +38 -0
  281. package/dist/message/api/createMessage.d.ts.map +1 -0
  282. package/dist/message/api/deleteMessage.d.ts +32 -0
  283. package/dist/message/api/deleteMessage.d.ts.map +1 -0
  284. package/dist/message/api/getMessage.d.ts +32 -0
  285. package/dist/message/api/getMessage.d.ts.map +1 -0
  286. package/dist/message/api/getMessages.d.ts +32 -0
  287. package/dist/message/api/getMessages.d.ts.map +1 -0
  288. package/dist/message/api/index.d.ts +7 -0
  289. package/dist/message/api/index.d.ts.map +1 -0
  290. package/dist/message/api/queryMessages.d.ts +55 -0
  291. package/dist/message/api/queryMessages.d.ts.map +1 -0
  292. package/dist/message/api/updateMessage.d.ts +38 -0
  293. package/dist/message/api/updateMessage.d.ts.map +1 -0
  294. package/dist/message/events/index.d.ts +4 -0
  295. package/dist/message/events/index.d.ts.map +1 -0
  296. package/dist/message/events/onMessageCreated.d.ts +17 -0
  297. package/dist/message/events/onMessageCreated.d.ts.map +1 -0
  298. package/dist/message/events/onMessageDeleted.d.ts +17 -0
  299. package/dist/message/events/onMessageDeleted.d.ts.map +1 -0
  300. package/dist/message/events/onMessageUpdated.d.ts +17 -0
  301. package/dist/message/events/onMessageUpdated.d.ts.map +1 -0
  302. package/dist/message/observers/index.d.ts +3 -0
  303. package/dist/message/observers/index.d.ts.map +1 -0
  304. package/dist/message/observers/observeMessage.d.ts +22 -0
  305. package/dist/message/observers/observeMessage.d.ts.map +1 -0
  306. package/dist/message/observers/observeMessages.d.ts +19 -0
  307. package/dist/message/observers/observeMessages.d.ts.map +1 -0
  308. package/dist/post/api/createPost.d.ts +21 -0
  309. package/dist/post/api/createPost.d.ts.map +1 -0
  310. package/dist/post/api/deletePost.d.ts +16 -0
  311. package/dist/post/api/deletePost.d.ts.map +1 -0
  312. package/dist/post/api/getPost.d.ts +32 -0
  313. package/dist/post/api/getPost.d.ts.map +1 -0
  314. package/dist/post/api/getPosts.d.ts +32 -0
  315. package/dist/post/api/getPosts.d.ts.map +1 -0
  316. package/dist/post/api/index.d.ts +7 -0
  317. package/dist/post/api/index.d.ts.map +1 -0
  318. package/dist/post/api/queryPosts.d.ts +45 -0
  319. package/dist/post/api/queryPosts.d.ts.map +1 -0
  320. package/dist/post/api/updatePost.d.ts +19 -0
  321. package/dist/post/api/updatePost.d.ts.map +1 -0
  322. package/dist/post/events/index.d.ts +4 -0
  323. package/dist/post/events/index.d.ts.map +1 -0
  324. package/dist/post/events/onPostCreated.d.ts +17 -0
  325. package/dist/post/events/onPostCreated.d.ts.map +1 -0
  326. package/dist/post/events/onPostDeleted.d.ts +17 -0
  327. package/dist/post/events/onPostDeleted.d.ts.map +1 -0
  328. package/dist/post/events/onPostUpdated.d.ts +17 -0
  329. package/dist/post/events/onPostUpdated.d.ts.map +1 -0
  330. package/dist/post/observers/index.d.ts +3 -0
  331. package/dist/post/observers/index.d.ts.map +1 -0
  332. package/dist/post/observers/observePost.d.ts +20 -0
  333. package/dist/post/observers/observePost.d.ts.map +1 -0
  334. package/dist/post/observers/observePosts.d.ts +25 -0
  335. package/dist/post/observers/observePosts.d.ts.map +1 -0
  336. package/dist/reaction/api/addReaction.d.ts +36 -0
  337. package/dist/reaction/api/addReaction.d.ts.map +1 -0
  338. package/dist/reaction/api/index.d.ts +3 -0
  339. package/dist/reaction/api/index.d.ts.map +1 -0
  340. package/dist/reaction/api/removeReaction.d.ts +36 -0
  341. package/dist/reaction/api/removeReaction.d.ts.map +1 -0
  342. package/dist/reaction/events/index.d.ts +2 -0
  343. package/dist/reaction/events/index.d.ts.map +1 -0
  344. package/dist/reaction/events/onReactionAdded.d.ts +17 -0
  345. package/dist/reaction/events/onReactionAdded.d.ts.map +1 -0
  346. package/dist/reaction/events/onReactionRemoved.d.ts +17 -0
  347. package/dist/reaction/events/onReactionRemoved.d.ts.map +1 -0
  348. package/dist/reaction/utils/dispatchReactable.d.ts +3 -0
  349. package/dist/reaction/utils/dispatchReactable.d.ts.map +1 -0
  350. package/dist/reaction/utils/fetchReference.d.ts +3 -0
  351. package/dist/reaction/utils/fetchReference.d.ts.map +1 -0
  352. package/dist/reaction/utils/index.d.ts +3 -0
  353. package/dist/reaction/utils/index.d.ts.map +1 -0
  354. package/dist/report/api/createReport.d.ts +16 -0
  355. package/dist/report/api/createReport.d.ts.map +1 -0
  356. package/dist/report/api/deleteReport.d.ts +16 -0
  357. package/dist/report/api/deleteReport.d.ts.map +1 -0
  358. package/dist/report/api/index.d.ts +4 -0
  359. package/dist/report/api/index.d.ts.map +1 -0
  360. package/dist/report/api/isReportedByMe.d.ts +16 -0
  361. package/dist/report/api/isReportedByMe.d.ts.map +1 -0
  362. package/dist/report/constants/referenceTypes.d.ts +24 -0
  363. package/dist/report/constants/referenceTypes.d.ts.map +1 -0
  364. package/dist/role/api/getRole.d.ts +32 -0
  365. package/dist/role/api/getRole.d.ts.map +1 -0
  366. package/dist/role/api/index.d.ts +3 -0
  367. package/dist/role/api/index.d.ts.map +1 -0
  368. package/dist/role/api/queryRoles.d.ts +42 -0
  369. package/dist/role/api/queryRoles.d.ts.map +1 -0
  370. package/dist/stream/api/createStream.d.ts +18 -0
  371. package/dist/stream/api/createStream.d.ts.map +1 -0
  372. package/dist/stream/api/deleteStream.d.ts +16 -0
  373. package/dist/stream/api/deleteStream.d.ts.map +1 -0
  374. package/dist/stream/api/getStream.d.ts +12 -0
  375. package/dist/stream/api/getStream.d.ts.map +1 -0
  376. package/dist/stream/api/index.d.ts +6 -0
  377. package/dist/stream/api/index.d.ts.map +1 -0
  378. package/dist/stream/api/queryStreams.d.ts +23 -0
  379. package/dist/stream/api/queryStreams.d.ts.map +1 -0
  380. package/dist/stream/api/updateStream.d.ts +17 -0
  381. package/dist/stream/api/updateStream.d.ts.map +1 -0
  382. package/dist/stream/events/index.d.ts +4 -0
  383. package/dist/stream/events/index.d.ts.map +1 -0
  384. package/dist/stream/events/onStreamRecorded.d.ts +17 -0
  385. package/dist/stream/events/onStreamRecorded.d.ts.map +1 -0
  386. package/dist/stream/events/onStreamStarted.d.ts +17 -0
  387. package/dist/stream/events/onStreamStarted.d.ts.map +1 -0
  388. package/dist/stream/events/onStreamStopped.d.ts +17 -0
  389. package/dist/stream/events/onStreamStopped.d.ts.map +1 -0
  390. package/dist/user/api/getUser.d.ts +32 -0
  391. package/dist/user/api/getUser.d.ts.map +1 -0
  392. package/dist/user/api/getUsers.d.ts +32 -0
  393. package/dist/user/api/getUsers.d.ts.map +1 -0
  394. package/dist/user/api/index.d.ts +5 -0
  395. package/dist/user/api/index.d.ts.map +1 -0
  396. package/dist/user/api/queryUsers.d.ts +43 -0
  397. package/dist/user/api/queryUsers.d.ts.map +1 -0
  398. package/dist/user/api/updateUser.d.ts +17 -0
  399. package/dist/user/api/updateUser.d.ts.map +1 -0
  400. package/dist/user/events/index.d.ts +2 -0
  401. package/dist/user/events/index.d.ts.map +1 -0
  402. package/dist/user/events/onUserUpdated.d.ts +17 -0
  403. package/dist/user/events/onUserUpdated.d.ts.map +1 -0
  404. package/dist/user/observers/index.d.ts +2 -0
  405. package/dist/user/observers/index.d.ts.map +1 -0
  406. package/dist/user/observers/observeUser.d.ts +19 -0
  407. package/dist/user/observers/observeUser.d.ts.map +1 -0
  408. package/package.json +59 -0
  409. package/rollup.config.js +41 -0
  410. package/src/@types/core/cache.ts +22 -0
  411. package/src/@types/core/errors.ts +34 -0
  412. package/src/@types/core/events.ts +60 -0
  413. package/src/@types/core/model.ts +51 -0
  414. package/src/@types/core/payload.ts +102 -0
  415. package/src/@types/core/permissions.ts +76 -0
  416. package/src/@types/core/query.ts +95 -0
  417. package/src/@types/core/store.ts +52 -0
  418. package/src/@types/core/transport.ts +32 -0
  419. package/src/@types/domains/category.ts +15 -0
  420. package/src/@types/domains/channel.ts +38 -0
  421. package/src/@types/domains/client.ts +36 -0
  422. package/src/@types/domains/comment.ts +26 -0
  423. package/src/@types/domains/community.ts +35 -0
  424. package/src/@types/domains/content.ts +35 -0
  425. package/src/@types/domains/feed.ts +16 -0
  426. package/src/@types/domains/file.ts +41 -0
  427. package/src/@types/domains/group.ts +38 -0
  428. package/src/@types/domains/message.ts +27 -0
  429. package/src/@types/domains/partials.ts +52 -0
  430. package/src/@types/domains/post.ts +31 -0
  431. package/src/@types/domains/reaction.ts +30 -0
  432. package/src/@types/domains/stream.ts +57 -0
  433. package/src/@types/domains/user.ts +18 -0
  434. package/src/@types/global.ts +25 -0
  435. package/src/@types/index.ts +31 -0
  436. package/src/category/api/getCategory.ts +35 -0
  437. package/src/category/api/index.ts +2 -0
  438. package/src/category/api/queryCategories.ts +49 -0
  439. package/src/channel/api/addChannelMembers.ts +45 -0
  440. package/src/channel/api/addChannelMembersRole.ts +43 -0
  441. package/src/channel/api/createChannel.ts +37 -0
  442. package/src/channel/api/deleteChannel.ts +34 -0
  443. package/src/channel/api/getChannel.ts +59 -0
  444. package/src/channel/api/getChannels.ts +63 -0
  445. package/src/channel/api/index.ts +18 -0
  446. package/src/channel/api/joinChannel.ts +38 -0
  447. package/src/channel/api/leaveChannel.ts +38 -0
  448. package/src/channel/api/queryChannelMembers.ts +79 -0
  449. package/src/channel/api/queryChannels.ts +89 -0
  450. package/src/channel/api/removeChannelMembers.ts +45 -0
  451. package/src/channel/api/removeChannelMembersRole.ts +43 -0
  452. package/src/channel/api/updateChannel.ts +38 -0
  453. package/src/channel/events/index.ts +6 -0
  454. package/src/channel/events/onChannelCreated.ts +37 -0
  455. package/src/channel/events/onChannelDeleted.ts +37 -0
  456. package/src/channel/events/onChannelJoined.ts +37 -0
  457. package/src/channel/events/onChannelLeft.ts +37 -0
  458. package/src/channel/events/onChannelUpdated.ts +37 -0
  459. package/src/channel/events/onMemberAdded.ts +37 -0
  460. package/src/channel/events/onMemberRemoved.ts +37 -0
  461. package/src/channel/observers/index.ts +1 -0
  462. package/src/channel/observers/observeChannel.ts +80 -0
  463. package/src/client/api/activeClient.ts +33 -0
  464. package/src/client/api/clearCache.ts +23 -0
  465. package/src/client/api/connectClient.ts +63 -0
  466. package/src/client/api/createClient.ts +56 -0
  467. package/src/client/api/disconnectClient.ts +31 -0
  468. package/src/client/api/enableCache.ts +35 -0
  469. package/src/client/api/getToken.ts +35 -0
  470. package/src/client/api/index.ts +7 -0
  471. package/src/client/api/isConnected.ts +24 -0
  472. package/src/client/events/index.ts +1 -0
  473. package/src/client/events/onClientDisconnected.ts +29 -0
  474. package/src/comment/api/createComment.ts +43 -0
  475. package/src/comment/api/deleteComment.ts +40 -0
  476. package/src/comment/api/getComment.ts +59 -0
  477. package/src/comment/api/getComments.ts +63 -0
  478. package/src/comment/api/index.ts +7 -0
  479. package/src/comment/api/queryComments.ts +169 -0
  480. package/src/comment/api/updateComment.ts +41 -0
  481. package/src/comment/events/index.ts +3 -0
  482. package/src/comment/events/onCommentCreated.ts +39 -0
  483. package/src/comment/events/onCommentDeleted.ts +39 -0
  484. package/src/comment/events/onCommentUpdated.ts +39 -0
  485. package/src/comment/observers/index.ts +2 -0
  486. package/src/comment/observers/observeComment.ts +73 -0
  487. package/src/comment/observers/observeComments.ts +61 -0
  488. package/src/community/api/addCommunityMembers.ts +46 -0
  489. package/src/community/api/addCommunityMembersRole.ts +43 -0
  490. package/src/community/api/createCommunity.ts +43 -0
  491. package/src/community/api/deleteCommunity.ts +35 -0
  492. package/src/community/api/getCommunities.ts +63 -0
  493. package/src/community/api/getCommunity.ts +58 -0
  494. package/src/community/api/index.ts +17 -0
  495. package/src/community/api/joinCommunity.ts +41 -0
  496. package/src/community/api/leaveCommunity.ts +41 -0
  497. package/src/community/api/queryCommunities.ts +92 -0
  498. package/src/community/api/queryCommunityMembers.ts +78 -0
  499. package/src/community/api/removeCommunityMembers.ts +46 -0
  500. package/src/community/api/removeCommunityMembersRole.ts +43 -0
  501. package/src/community/api/updateCommunity.ts +40 -0
  502. package/src/community/events/index.ts +6 -0
  503. package/src/community/events/onCommunityCreated.ts +37 -0
  504. package/src/community/events/onCommunityDeleted.ts +37 -0
  505. package/src/community/events/onCommunityJoined.ts +37 -0
  506. package/src/community/events/onCommunityLeft.ts +37 -0
  507. package/src/community/events/onCommunityUpdated.ts +37 -0
  508. package/src/community/observers/index.ts +1 -0
  509. package/src/community/observers/observeCommunity.ts +74 -0
  510. package/src/core/cache/drop.ts +24 -0
  511. package/src/core/cache/index.ts +24 -0
  512. package/src/core/cache/ingest.ts +24 -0
  513. package/src/core/cache/merge.ts +19 -0
  514. package/src/core/cache/mutate.ts +25 -0
  515. package/src/core/cache/pull.ts +31 -0
  516. package/src/core/cache/push.ts +41 -0
  517. package/src/core/cache/sync.ts +41 -0
  518. package/src/core/debug.ts +26 -0
  519. package/src/core/device.ts +38 -0
  520. package/src/core/errors.ts +85 -0
  521. package/src/core/events.ts +93 -0
  522. package/src/core/model/idResolvers.ts +66 -0
  523. package/src/core/model/identifyModel.ts +32 -0
  524. package/src/core/model/index.ts +3 -0
  525. package/src/core/model/toRecord.ts +11 -0
  526. package/src/core/query/decorate.ts +64 -0
  527. package/src/core/query/filtering.ts +17 -0
  528. package/src/core/query/index.ts +5 -0
  529. package/src/core/query/paging.ts +166 -0
  530. package/src/core/query/query.ts +300 -0
  531. package/src/core/query/sorting.ts +50 -0
  532. package/src/core/stores/index.ts +2 -0
  533. package/src/core/stores/memory.ts +59 -0
  534. package/src/core/stores/persistent.ts +63 -0
  535. package/src/core/transports.ts +157 -0
  536. package/src/core/uuid.ts +2 -0
  537. package/src/feed/api/index.ts +1 -0
  538. package/src/feed/api/queryGlobalFeed.ts +50 -0
  539. package/src/file/api/createFile.ts +51 -0
  540. package/src/file/api/deleteFile.ts +35 -0
  541. package/src/file/api/fileUrlWithSize.ts +13 -0
  542. package/src/file/api/getFile.ts +60 -0
  543. package/src/file/api/index.ts +4 -0
  544. package/src/file/observers/index.ts +1 -0
  545. package/src/file/observers/observeFile.ts +57 -0
  546. package/src/index.ts +55 -0
  547. package/src/message/api/createMessage.ts +90 -0
  548. package/src/message/api/deleteMessage.ts +75 -0
  549. package/src/message/api/getMessage.ts +60 -0
  550. package/src/message/api/getMessages.ts +63 -0
  551. package/src/message/api/index.ts +6 -0
  552. package/src/message/api/queryMessages.ts +145 -0
  553. package/src/message/api/updateMessage.ts +79 -0
  554. package/src/message/events/index.ts +3 -0
  555. package/src/message/events/onMessageCreated.ts +39 -0
  556. package/src/message/events/onMessageDeleted.ts +39 -0
  557. package/src/message/events/onMessageUpdated.ts +39 -0
  558. package/src/message/observers/index.ts +2 -0
  559. package/src/message/observers/observeMessage.ts +76 -0
  560. package/src/message/observers/observeMessages.ts +60 -0
  561. package/src/post/api/createPost.ts +45 -0
  562. package/src/post/api/deletePost.ts +43 -0
  563. package/src/post/api/getPost.ts +60 -0
  564. package/src/post/api/getPosts.ts +63 -0
  565. package/src/post/api/index.ts +7 -0
  566. package/src/post/api/queryPosts.ts +86 -0
  567. package/src/post/api/updatePost.ts +42 -0
  568. package/src/post/events/index.ts +3 -0
  569. package/src/post/events/onPostCreated.ts +39 -0
  570. package/src/post/events/onPostDeleted.ts +39 -0
  571. package/src/post/events/onPostUpdated.ts +39 -0
  572. package/src/post/observers/index.ts +2 -0
  573. package/src/post/observers/observePost.ts +72 -0
  574. package/src/post/observers/observePosts.ts +66 -0
  575. package/src/reaction/api/addReaction.ts +84 -0
  576. package/src/reaction/api/index.ts +2 -0
  577. package/src/reaction/api/removeReaction.ts +84 -0
  578. package/src/reaction/events/index.ts +1 -0
  579. package/src/reaction/events/onReactionAdded.ts +43 -0
  580. package/src/reaction/events/onReactionRemoved.ts +41 -0
  581. package/src/reaction/utils/dispatchReactable.ts +19 -0
  582. package/src/reaction/utils/fetchReference.ts +18 -0
  583. package/src/reaction/utils/index.ts +2 -0
  584. package/src/report/api/createReport.ts +40 -0
  585. package/src/report/api/deleteReport.ts +40 -0
  586. package/src/report/api/index.ts +4 -0
  587. package/src/report/api/isReportedByMe.ts +37 -0
  588. package/src/report/constants/referenceTypes.ts +22 -0
  589. package/src/role/api/getRole.ts +53 -0
  590. package/src/role/api/index.ts +2 -0
  591. package/src/role/api/queryRoles.ts +79 -0
  592. package/src/stream/api/createStream.ts +33 -0
  593. package/src/stream/api/deleteStream.ts +38 -0
  594. package/src/stream/api/getStream.ts +29 -0
  595. package/src/stream/api/index.ts +7 -0
  596. package/src/stream/api/queryStreams.ts +44 -0
  597. package/src/stream/api/updateStream.ts +36 -0
  598. package/src/stream/events/index.ts +3 -0
  599. package/src/stream/events/onStreamRecorded.ts +39 -0
  600. package/src/stream/events/onStreamStarted.ts +39 -0
  601. package/src/stream/events/onStreamStopped.ts +39 -0
  602. package/src/user/api/getUser.ts +59 -0
  603. package/src/user/api/getUsers.ts +60 -0
  604. package/src/user/api/index.ts +5 -0
  605. package/src/user/api/queryUsers.ts +88 -0
  606. package/src/user/api/updateUser.ts +44 -0
  607. package/src/user/events/index.ts +1 -0
  608. package/src/user/events/onUserUpdated.ts +39 -0
  609. package/src/user/observers/index.ts +1 -0
  610. package/src/user/observers/observeUser.ts +64 -0
  611. package/tsconfig.json +28 -0
@@ -0,0 +1,41 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+ import { fireEvent } from '~/core/events'
6
+
7
+ /**
8
+ * ```js
9
+ * import { leaveCommunity } from '@amityco/ts-sdk'
10
+ * const isLeft = await leaveCommunity('foobar')
11
+ * ```
12
+ *
13
+ * Leaves a {@link Amity.Community} object
14
+ *
15
+ * @param communityId the {@link Amity.Community} to leave
16
+ * @returns A success boolean if {@link Amity.Community} was left
17
+ *
18
+ * @category Community API
19
+ * @async
20
+ */
21
+ export const leaveCommunity = async (communityId: Amity.Community['communityId']) => {
22
+ const client = getActiveClient()
23
+ client.log('community/leaveCommunity', communityId)
24
+
25
+ const { data } = await client.http.delete<Amity.CommunityMembershipPayload>(
26
+ `/api/v3/communities/${communityId}/leave`,
27
+ )
28
+
29
+ decoratePayload(data)
30
+ ingestInCache(data)
31
+ fireEvent('v3.community.didJoin', {
32
+ communities: data.communities!,
33
+ })
34
+
35
+ const { communityUsers } = data
36
+
37
+ return !!communityUsers.find(communityUser => (
38
+ communityUser.communityId === communityId
39
+ && communityUser.communityMembership !== 'member'
40
+ ))
41
+ }
@@ -0,0 +1,92 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload, toPage, toToken } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+ import { toRecord } from '~/core/model'
6
+
7
+ /**
8
+ * ```js
9
+ * import { queryCommunities } from '@amityco/ts-sdk'
10
+ * const communities = await queryCommunities()
11
+ * ```
12
+ *
13
+ * Queries a paginable list of {@link Amity.Community} objects
14
+ * Search is performed by displayName such as `.startsWith(search)`
15
+ *
16
+ * @param query The query parameters
17
+ * @returns A page of {@link Amity.Community} objects
18
+ *
19
+ * @category Community API
20
+ * @async
21
+ */
22
+ export const queryCommunities = async (
23
+ query?: {
24
+ displayName?: string
25
+ membership?: 'all' | 'member' | 'notMember'
26
+ categoryId?: Amity.Category['categoryId'],
27
+ isDeleted?: Amity.Community['isDeleted'],
28
+ hasFlag?: boolean,
29
+ tags?: Amity.Taggable['tags'],
30
+ sortBy?: ('displayName' | 'firstCreated' | 'lastCreated')
31
+ page?: Amity.Page
32
+ }
33
+ ) => {
34
+ const client = getActiveClient()
35
+ client.log('channel/queryCommunities', query)
36
+
37
+ // safe decapsulation
38
+ const {
39
+ page,
40
+ displayName,
41
+ membership,
42
+ ...params
43
+ } = query ?? {}
44
+
45
+ // API-FIX: parameters should be querystring.
46
+ // API-FIX: backend doesnt answer Amity.Response
47
+ // const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<CommunityPayload>>>(
48
+ const { data } = await client.http.get<Amity.CommunityPayload & Amity.Pagination>(
49
+ `/api/v3/communities`, { params: {
50
+ ...params,
51
+ keyword: displayName,
52
+ filter: membership,
53
+ options: {
54
+ token: toToken(page, 'skiplimit')
55
+ }
56
+ } }
57
+ )
58
+
59
+ // API-FIX: backend to response Amity.Response: const { paging, communities } = unwrapPayload(data)
60
+ const { paging, ...response } = data
61
+
62
+ decoratePayload(response as unknown as Record<string, object[]>)
63
+ ingestInCache(response as unknown as Record<string, object[]>)
64
+
65
+ const prevPage = toPage(paging?.previous)
66
+ const nextPage = toPage(paging?.next)
67
+
68
+ const { communities } = response
69
+ return { data: toRecord(communities), prevPage, nextPage }
70
+ }
71
+
72
+ /**
73
+ * ```js
74
+ * import { queryCommunities } from '@amityco/ts-sdk'
75
+ * const communities = queryCommunities.locally()
76
+ * ```
77
+ *
78
+ * Queries a paginable list of {@link Amity.Community} objects from cache
79
+ *
80
+ * @param query The query parameters
81
+ * @returns communities
82
+ *
83
+ * @category Community API
84
+ */
85
+ queryCommunities.locally = (
86
+ query: Parameters<typeof queryCommunities>[0],
87
+ ) => {
88
+ const client = getActiveClient()
89
+ client.log('community/queryCommunities.locally', query)
90
+
91
+ // TODO
92
+ }
@@ -0,0 +1,78 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload, toPage, toToken } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+
6
+ import { toRecord } from '~/core/model'
7
+
8
+ /**
9
+ * ```js
10
+ * import { queryCommunityMembers } from '@amityco/ts-sdk'
11
+ * const communityMembers = await queryCommunityMembers({ communityId: 'foo' })
12
+ * ```
13
+ *
14
+ * Queries a paginable list of {@link Amity.CommunityUser} objects
15
+ *
16
+ * @param query The query parameters
17
+ * @returns A page of {@link Amity.CommunityUser} objects
18
+ *
19
+ * @category Community API
20
+ * @async
21
+ **/
22
+ export const queryCommunityMembers = async (query: {
23
+ communityId: string
24
+ membership?: ('banned' | 'member')[]
25
+ roles?: string[]
26
+ sortBy?: 'firstCreated' | 'lastCreated'
27
+ page?: Amity.Page
28
+ }) => {
29
+ const client = getActiveClient()
30
+ client.log('community/queryCommunityMembers', query)
31
+
32
+ const { page, communityId, ...params } = query ?? {}
33
+
34
+ const { data } = await client.http.get<
35
+ Amity.CommunityMembershipPayload & Amity.Pagination
36
+ >(`/api/v3/communities/${communityId}/users`, {
37
+ params: {
38
+ ...params,
39
+ options: {
40
+ token: toToken(page, 'skiplimit'),
41
+ },
42
+ },
43
+ })
44
+
45
+ const { paging, ...response } = data
46
+
47
+ decoratePayload(response as unknown as Record<string, Object[]>)
48
+ ingestInCache(response as unknown as Record<string, Object[]>)
49
+
50
+ const { communityUsers } = response
51
+
52
+ const nextPage = toPage(paging.next)
53
+ const prevPage = toPage(paging.previous)
54
+
55
+ return { data: toRecord(communityUsers), nextPage, prevPage }
56
+ }
57
+
58
+ /**
59
+ * ```js
60
+ * import { queryCommunityMembers } from '@amityco/ts-sdk'
61
+ * const communityMembers = await queryCommunityMembers(query)
62
+ * ```
63
+ *
64
+ * Queries a paginable list of {@link Amity.Post} objects from cache
65
+ *
66
+ * @param query The query parameters
67
+ * @returns posts
68
+ *
69
+ * @category Post API
70
+ */
71
+ queryCommunityMembers.locally = (
72
+ query: Parameters<typeof queryCommunityMembers>[0]
73
+ ) => {
74
+ const client = getActiveClient()
75
+ client.log('community/queryCommunityMembers', query)
76
+
77
+ // TODO
78
+ }
@@ -0,0 +1,46 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+ import { fireEvent } from '~/core/events'
6
+
7
+ /**
8
+ * ```js
9
+ * import { removeCommunityMembers } from '@amityco/ts-sdk'
10
+ * const updated = await removeCommunityMembers(communityId, ['foo', 'bar'])
11
+ * ```
12
+ *
13
+ * Removes a list of {@link Amity.User} from a {@link Amity.Channel}
14
+ *
15
+ * @param communityId The ID of the {@link Amity.Community} to edit
16
+ * @param userIds The list of IDs {@link Amity.User} to remove
17
+ * @returns A success boolean if the list of {@link Amity.User} were removed from the {@link Amity.Community}
18
+ *
19
+ * @category Community API
20
+ * @async
21
+ */
22
+ export const removeCommunityMembers = async (
23
+ communityId: Amity.Community['communityId'],
24
+ userIds: Amity.User['userId'][]
25
+ ) => {
26
+ const client = getActiveClient()
27
+ client.log('community/removeCommunityMembers', communityId, userIds)
28
+
29
+ const { data } = await client.http.delete<Amity.CommunityMembershipPayload>(
30
+ `/api/v3/communities/${communityId}/users`,
31
+ { data: { communityId, userIds } }
32
+ )
33
+
34
+ decoratePayload(data)
35
+ ingestInCache(data)
36
+ fireEvent('v3.community.didRemoveUsers', {
37
+ communities: data.communities!,
38
+ })
39
+
40
+ const { communityUsers } = data
41
+ return !!communityUsers.find(
42
+ communityUser =>
43
+ communityUser.communityId === communityId &&
44
+ communityUser.communityMembership !== 'member'
45
+ )
46
+ }
@@ -0,0 +1,43 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+
6
+ /**
7
+ * ```js
8
+ * import { removeCommunityMembersRole } from '@amityco/ts-sdk'
9
+ * const updated = await removeCommunityMembersRole(communityId, 'foo', ['bar'])
10
+ * ```
11
+ *
12
+ * Removes an {@link Amity.Role} from a list of {@link Amity.User} on a {@link Amity.Community}
13
+ *
14
+ * @param communityId The ID of the {@link Amity.Community} to perform
15
+ * @param role The ID of the {@link Amity.Role} to apply
16
+ * @param userId Array of IDs of the {@link Amity.User} to perform
17
+ * @returns A success boolean if the {@link Amity.Role} were removed from list of {@link Amity.User} in the {@link Amity.Community}
18
+ *
19
+ * @category Community API
20
+ * @async
21
+ */
22
+ export const removeCommunityMembersRole = async (
23
+ communityId: Amity.Community['communityId'],
24
+ roleId: Amity.Role['roleId'],
25
+ userIds: Amity.User['userId'][]
26
+ ) => {
27
+ const client = getActiveClient()
28
+ client.log('community/removeCommunityMembersRole', communityId, roleId, userIds)
29
+
30
+ const { data } = await client.http.delete<Amity.CommunityMembershipPayload>(
31
+ `/api/v3/communities/${communityId}/users/roles`,
32
+ { data: { communityId, role: roleId, userIds } }
33
+ )
34
+
35
+ decoratePayload(data)
36
+ ingestInCache(data)
37
+
38
+ const { communityUsers } = data
39
+ return !!communityUsers.find(
40
+ communityUser =>
41
+ communityUser.communityId === communityId && !communityUser.roles.includes(roleId)
42
+ )
43
+ }
@@ -0,0 +1,40 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decoratePayload } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+ import { fireEvent } from '~/core/events'
6
+
7
+
8
+ /**
9
+ * ```js
10
+ * import { updateCommunity } from '@amityco/ts-sdk'
11
+ * const updated = await updateCommunity(communityId, { displayName: 'foobar' })
12
+ * ```
13
+ *
14
+ * Updates an {@link Amity.Community}
15
+ *
16
+ * @param communityId The ID of the {@link Amity.Community} to edit
17
+ * @param patch The patch data to apply
18
+ * @returns the updated {@link Amity.Community} object
19
+ *
20
+ * @category Community API
21
+ * @async
22
+ */
23
+ export const updateCommunity = async (
24
+ communityId: Amity.Community['communityId'],
25
+ patch: Patch<Amity.Community, 'displayName' | 'description' | 'avatarFileId' | 'tags' | 'metadata'>,
26
+ ) => {
27
+ const client = getActiveClient()
28
+ client.log('community/updateCommunity', communityId, patch)
29
+
30
+ const { data } = await client.http.put<Amity.CommunityPayload>(
31
+ `/api/v3/communities/${communityId}`, patch,
32
+ )
33
+
34
+ decoratePayload(data)
35
+ ingestInCache(data)
36
+ fireEvent('v3.community.didUpdate', data)
37
+
38
+ const { communities } = data
39
+ return communities.find(community => community.communityId === communityId)!
40
+ }
@@ -0,0 +1,6 @@
1
+ export * from './onCommunityCreated'
2
+ export * from './onCommunityUpdated'
3
+ export * from './onCommunityDeleted'
4
+
5
+ export * from './onCommunityJoined'
6
+ export * from './onCommunityLeft'
@@ -0,0 +1,37 @@
1
+ import { getActiveClient } from '~/client/api'
2
+ import { createEventSubscriber } from '~/core/events'
3
+
4
+ import { decoratePayload } from '~/core/query'
5
+ import { ingestInCache } from '~/core/cache'
6
+
7
+ /**
8
+ * ```js
9
+ * import { onCommunityCreated } from '@amityco/ts-sdk'
10
+ * const dispose = onCommunityCreated(channel => {
11
+ * // ...
12
+ * })
13
+ * ```
14
+ *
15
+ * Fired when any {@link Amity.Community} have been created
16
+ *
17
+ * @param callback The function to call when the event was fired
18
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
19
+ *
20
+ * @category Community Events
21
+ */
22
+ export const onCommunityCreated = (callback: Amity.Listener<Amity.Community>) => {
23
+ const client = getActiveClient()
24
+
25
+ const filter = (payload: Amity.CommunityPayload) => {
26
+ decoratePayload(payload)
27
+ ingestInCache(payload)
28
+ callback(payload.communities[0])
29
+ }
30
+
31
+ return createEventSubscriber(
32
+ client,
33
+ 'onCommunityCreated',
34
+ 'v3.community.didCreate',
35
+ filter
36
+ )
37
+ }
@@ -0,0 +1,37 @@
1
+ import { getActiveClient } from '~/client/api'
2
+ import { createEventSubscriber } from '~/core/events'
3
+
4
+ import { decoratePayload } from '~/core/query'
5
+ import { ingestInCache } from '~/core/cache'
6
+
7
+ /**
8
+ * ```js
9
+ * import { onCommunityDeleted } from '@amityco/ts-sdk'
10
+ * const dispose = onCommunityDeleted(channel => {
11
+ * // ...
12
+ * })
13
+ * ```
14
+ *
15
+ * Fired when any {@link Amity.Community} have been deleted
16
+ *
17
+ * @param callback The function to call when the event was fired
18
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
19
+ *
20
+ * @category Community Events
21
+ */
22
+ export const onCommunityDeleted = (callback: Amity.Listener<Amity.Community>) => {
23
+ const client = getActiveClient()
24
+
25
+ const filter = (payload: Amity.CommunityPayload) => {
26
+ decoratePayload(payload)
27
+ ingestInCache(payload)
28
+ callback(payload.communities[0])
29
+ }
30
+
31
+ return createEventSubscriber(
32
+ client,
33
+ 'onCommunityDeleted',
34
+ 'v3.community.didDelete',
35
+ filter
36
+ )
37
+ }
@@ -0,0 +1,37 @@
1
+ import { getActiveClient } from '~/client/api'
2
+ import { createEventSubscriber } from '~/core/events'
3
+
4
+ import { decoratePayload } from '~/core/query'
5
+ import { ingestInCache } from '~/core/cache'
6
+
7
+ /**
8
+ * ```js
9
+ * import { onCommunityJoined } from '@amityco/ts-sdk'
10
+ * const dispose = onCommunityJoined(channel => {
11
+ * // ...
12
+ * })
13
+ * ```
14
+ *
15
+ * Fired when any {@link Amity.Community} was joined
16
+ *
17
+ * @param callback The function to call when the event was fired
18
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
19
+ *
20
+ * @category Community Events
21
+ */
22
+ export const onCommunityJoined = (callback: Amity.Listener<Amity.Community>) => {
23
+ const client = getActiveClient()
24
+
25
+ const filter = (payload: Amity.CommunityPayload) => {
26
+ decoratePayload(payload)
27
+ ingestInCache(payload)
28
+ callback(payload.communities[0])
29
+ }
30
+
31
+ return createEventSubscriber(
32
+ client,
33
+ 'onCommunityJoined',
34
+ 'v3.community.didJoin',
35
+ filter
36
+ )
37
+ }
@@ -0,0 +1,37 @@
1
+ import { getActiveClient } from '~/client/api'
2
+ import { createEventSubscriber } from '~/core/events'
3
+
4
+ import { decoratePayload } from '~/core/query'
5
+ import { ingestInCache } from '~/core/cache'
6
+
7
+ /**
8
+ * ```js
9
+ * import { onCommunityLeft } from '@amityco/ts-sdk'
10
+ * const dispose = onCommunityLeft(channel => {
11
+ * // ...
12
+ * })
13
+ * ```
14
+ *
15
+ * Fired when any {@link Amity.Community} was left
16
+ *
17
+ * @param callback The function to call when the event was fired
18
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
19
+ *
20
+ * @category Community Events
21
+ */
22
+ export const onCommunityLeft = (callback: Amity.Listener<Amity.Community>) => {
23
+ const client = getActiveClient()
24
+
25
+ const filter = (payload: Amity.CommunityPayload) => {
26
+ decoratePayload(payload)
27
+ ingestInCache(payload)
28
+ callback(payload.communities[0])
29
+ }
30
+
31
+ return createEventSubscriber(
32
+ client,
33
+ 'onCommunityLeft',
34
+ 'v3.community.didLeave',
35
+ filter
36
+ )
37
+ }
@@ -0,0 +1,37 @@
1
+ import { getActiveClient } from '~/client/api'
2
+ import { createEventSubscriber } from '~/core/events'
3
+
4
+ import { decoratePayload } from '~/core/query'
5
+ import { ingestInCache } from '~/core/cache'
6
+
7
+ /**
8
+ * ```js
9
+ * import { onCommunityUpdated } from '@amityco/ts-sdk'
10
+ * const dispose = onCommunityUpdated(channel => {
11
+ * // ...
12
+ * })
13
+ * ```
14
+ *
15
+ * Fired when any {@link Amity.Community} have been updated
16
+ *
17
+ * @param callback The function to call when the event was fired
18
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
19
+ *
20
+ * @category Community Events
21
+ */
22
+ export const onCommunityUpdated = (callback: Amity.Listener<Amity.Community>) => {
23
+ const client = getActiveClient()
24
+
25
+ const filter = (payload: Amity.CommunityPayload) => {
26
+ decoratePayload(payload)
27
+ ingestInCache(payload)
28
+ callback(payload.communities[0])
29
+ }
30
+
31
+ return createEventSubscriber(
32
+ client,
33
+ 'onCommunityUpdated',
34
+ 'v3.community.didUpdate',
35
+ filter
36
+ )
37
+ }
@@ -0,0 +1 @@
1
+ export * from './observeCommunity'
@@ -0,0 +1,74 @@
1
+ import { createQuery, runQuery } from '~/core/query/query'
2
+
3
+ import { getActiveClient } from '~/client/api'
4
+
5
+ import { getCommunity } from '../api'
6
+
7
+ import {
8
+ onCommunityUpdated,
9
+ onCommunityDeleted,
10
+ onCommunityJoined,
11
+ onCommunityLeft,
12
+ } from '../events'
13
+
14
+ /**
15
+ * ```js
16
+ * import { observeCommunity } from '@amityco/ts-sdk'
17
+ *
18
+ * let community = {}
19
+ * const dispose = observeCommunity(communityId, updated => community = updated)
20
+ * ```
21
+ *
22
+ * Observe all mutation on a given {@link Amity.Community}
23
+ *
24
+ * @param communityId the ID of the community to observe
25
+ * @param callback the function to call when new data are available
26
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the community
27
+ *
28
+ * @category Community Observer
29
+ */
30
+ export const observeCommunity = <Events extends ['onFetch', 'onUpdate', 'onDelete', 'onJoin', 'onLeft']>(
31
+ communityId: string,
32
+ callback: Amity.ObjectListener<Amity.QueryResult<Amity.Community>, Events>
33
+ ): Amity.Unsubscriber => {
34
+ const { log } = getActiveClient()
35
+
36
+ const timestamp = Date.now()
37
+ log(`observeCommunity(tmpid: ${timestamp}) > listen`)
38
+
39
+ // wrapper function to make sure
40
+ const router = (
41
+ result: Amity.QueryResult<Amity.Community>,
42
+ action: Events[number]
43
+ ) => {
44
+ // filter function
45
+ if (result.data?.communityId !== communityId) return
46
+
47
+ if (callback instanceof Function)
48
+ return callback(result)
49
+
50
+ if (action !== 'onFetch')
51
+ callback.onEvent?.(action, result)
52
+
53
+ callback[action]?.(result)
54
+ }
55
+
56
+ const disposers: Amity.Unsubscriber[] = []
57
+
58
+ disposers.push(
59
+ onCommunityUpdated(data => router({ data }, 'onUpdate')),
60
+ onCommunityDeleted(data => router({ data }, 'onDelete')),
61
+ onCommunityJoined(data => router({ data }, 'onJoin')),
62
+ onCommunityLeft(data => router({ data }, 'onLeft')),
63
+ )
64
+
65
+ runQuery(
66
+ createQuery(getCommunity, communityId),
67
+ result => result.data && router(result, 'onFetch')
68
+ )
69
+
70
+ return () => {
71
+ log(`observeCommunity(tmpid: ${timestamp}) > dispose`)
72
+ disposers.forEach(fn => fn())
73
+ }
74
+ }
@@ -0,0 +1,24 @@
1
+ import { getActiveClient } from '~/client/api/activeClient'
2
+ import { getResolver } from '../model/idResolvers'
3
+
4
+ /**
5
+ * Pull objects from the cache layer
6
+ *
7
+ * @param name The name of the store to query
8
+ * @param keys A collection of unique keys for the store
9
+ * @returns The collection of objects matching the keys. Keys which don't match object will be omitted
10
+ *
11
+ * @category Cache
12
+ */
13
+ export const dropFromCache = <T extends Amity.Domain>(name: T, partial: Amity.Minimal[T] & Partial<Amity.Model[T]>) => {
14
+ const { cache } = getActiveClient()
15
+ const store = cache?.[name] as unknown as Amity.Store<Amity.Model[T]>
16
+
17
+ if (!cache || !store) return []
18
+
19
+ const modelId = getResolver(name)(partial)
20
+ const localId = cache.lookup[`${name}#${modelId}`]
21
+
22
+ delete cache.lookup[`${name}#${modelId}`]
23
+ store.erase(localId)
24
+ }
@@ -0,0 +1,24 @@
1
+ export * from './pull'
2
+ export * from './push'
3
+ export * from './drop'
4
+ export * from './sync'
5
+ export * from './ingest'
6
+ export * from './mutate'
7
+ export * from './merge'
8
+
9
+ /**
10
+ * Creates a cache instance. The cache instance will handle stores
11
+ * given to it as input, and will be used as the first source of cached data
12
+ * in the SDK.
13
+ *
14
+ * @param stores A partial collection of stores
15
+ * @returns A cache instance
16
+ *
17
+ * @category Cache
18
+ */
19
+ export const createCache = (
20
+ stores: Partial<Amity.StoreCollection<Amity.Domain[]>>
21
+ ): Amity.Cache => {
22
+ const lookup: Record<string, string> = {}
23
+ return { lookup, ...stores }
24
+ }