@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,157 @@
1
+ import axios from 'axios'
2
+ import HttpAgent, { HttpsAgent } from 'agentkeepalive'
3
+
4
+ import io from 'socket.io-client'
5
+
6
+ import {
7
+ ASCApiError,
8
+ ASCUnknownError,
9
+ ASCConnectionError,
10
+ } from './errors'
11
+
12
+ /**
13
+ * Axios param serializer (for querystring)
14
+ * @hidden
15
+ */
16
+ const stringify = (params: object, prefix?: string): string => {
17
+ return Object.entries(params)
18
+ .filter(([, value]) => value !== undefined)
19
+ .map(([name, value]) => {
20
+ const key = prefix ? `${prefix}[${name}]` : name
21
+
22
+ if (Array.isArray(value)) {
23
+ return value.map(item => `${key}[]=${item}`).join('&')
24
+ } else if (typeof value !== 'object') {
25
+ return `${key}=${value}`
26
+ }
27
+
28
+ return stringify(value, prefix ?? name)
29
+ })
30
+ .join('&')
31
+ }
32
+
33
+ /**
34
+ * Creates a pre-configured axios instance
35
+ *
36
+ * @param endpoint The ASC rest api server's URL
37
+ * @returns A pre-configured axios instance
38
+ *
39
+ * @category Transport
40
+ * @hidden
41
+ */
42
+ export const createHttpTransport = (endpoint: string = 'https://api.amity.co') => {
43
+ const options = {
44
+ maxSockets: 100,
45
+ maxFreeSockets: 10,
46
+ timeout: 60000,
47
+ freeSocketTimeout: 30000,
48
+ }
49
+
50
+ const instance = axios.create({
51
+ baseURL: endpoint,
52
+ httpAgent: new HttpAgent(options),
53
+ httpsAgent: new HttpsAgent(options),
54
+ paramsSerializer: stringify,
55
+ })
56
+
57
+ instance.interceptors.response.use(
58
+ (response) => response,
59
+ (error) => {
60
+ const { response } = error
61
+ console.error(response?.data ?? error)
62
+
63
+ if (response)
64
+ unwrapPayload(response.data)
65
+ }
66
+ )
67
+
68
+ return instance
69
+ }
70
+
71
+ /**
72
+ * Creates a pre-configured socket.io instance
73
+ *
74
+ * @param endpoint The socket.io server's URL
75
+ * @returns A pre-configured (non-connected) socket.io client instance
76
+ *
77
+ * @category Transport
78
+ * @hidden
79
+ */
80
+ export const createWebsocketTransport = (endpoint: string = 'https://api.ekomedia.technology') => {
81
+ const socket = io(endpoint, {
82
+ autoConnect: false,
83
+ reconnectionDelay: 2000,
84
+ transports: ['websocket'],
85
+ })
86
+
87
+ socket.on('disconnect', (reason: string) => {
88
+ if (reason === 'io server disconnect')
89
+ socket.connect()
90
+ })
91
+
92
+ ;['error', 'connect_error', 'connect_timeout', 'reconnect_error', 'reconnect_failed'].forEach(event => {
93
+ socket.on(event, (error: Error) => {
94
+ throw new ASCConnectionError(`socket.io(${event}): ${error.message}`)
95
+ })
96
+ })
97
+
98
+ return socket
99
+ }
100
+
101
+ /**
102
+ * Unwraps v3 server payload (for error handling and type extraction)
103
+ *
104
+ * @param response A typical "v3" response (related to backend's service strategy)
105
+ *
106
+ * @returns The data returned by the backend
107
+ * @throws An error related to backend's rejection
108
+ *
109
+ * @category Transport
110
+ * @hidden
111
+ */
112
+ export const unwrapPayload = <T>(response: Amity.Response<T>): T => {
113
+ if (response.status === 'success') {
114
+ return response.data
115
+ } else if (response.status === 'fail') {
116
+ throw new ASCUnknownError(response.code)
117
+ } else if (response.status === 'error') {
118
+ throw new ASCApiError(response.message, response.code, Amity.ErrorLevel.ERROR)
119
+ }
120
+
121
+ // unjust, but helps force uncast "T | undefined" to allow deconstruction without warnings
122
+ return undefined as unknown as T
123
+ }
124
+
125
+ /**
126
+ * Promisify a websocket event emission - resulting in a synchronous http-like XHR (ws legacy)
127
+ *
128
+ * @param client The current client for which to send the event with
129
+ * @param event The websocket event name
130
+ * @param data The event's payload
131
+ *
132
+ * @returns The data returned by the backend
133
+ * @throws An error related to backend's rejection
134
+ *
135
+ * @category Transport
136
+ * @async
137
+ * @hidden
138
+ */
139
+ export const synchronousWSCall = async <T>(
140
+ client: Amity.Client,
141
+ event: string,
142
+ data?: Object,
143
+ )=> {
144
+ const { ws } = client
145
+
146
+ const value = await new Promise<T | undefined>((resolve, reject) => {
147
+ ws.emit(event, data, (response: Amity.Response<T>) => {
148
+ try {
149
+ resolve(unwrapPayload(response))
150
+ } catch (error) {
151
+ reject(error)
152
+ }
153
+ })
154
+ })
155
+
156
+ return value
157
+ }
@@ -0,0 +1,2 @@
1
+ import nativeIdGenerator from 'react-native-uuid'
2
+ export const uuid = () => nativeIdGenerator.v4().toString()
@@ -0,0 +1 @@
1
+ export * from './queryGlobalFeed'
@@ -0,0 +1,50 @@
1
+ import { getActiveClient } from '~/client/api/activeClient'
2
+
3
+ import { ingestInCache } from '~/core/cache'
4
+ import { toRecord } from '~/core/model'
5
+ import { decoratePayload, toPage, toToken } from '~/core/query'
6
+
7
+ /**
8
+ * ```js
9
+ * import { queryGlobalFeed } from '@amityco/ts-sdk'
10
+ * const posts = await queryGlobalFeed()
11
+ * ```
12
+ *
13
+ * Queries a paginable list of {@link Amity.Post} objects
14
+ *
15
+ * @param query The query parameters
16
+ * @returns A page of {@link Amity.Post} objects
17
+ *
18
+ * @category Feed API
19
+ * @async
20
+ **/
21
+ export const queryGlobalFeed = async (query?: {
22
+ dataTypes?: ('video' | 'image' | 'file')[]
23
+ page?: Amity.Page
24
+ }) => {
25
+ const client = getActiveClient()
26
+ client.log('feed/queryGlobalFeed', query)
27
+
28
+ const { page, ...params } = query ?? {}
29
+
30
+ const { data } = await client.http.get<Amity.PostPayload & Amity.Pagination>(
31
+ `/api/v4/me/global-feeds`, { params: {
32
+ ...params,
33
+ options: {
34
+ token: toToken(page, 'skiplimit')
35
+ },
36
+ } }
37
+ )
38
+
39
+ const { paging, ...response } = data
40
+
41
+ decoratePayload(response as unknown as Record<string, object[]>)
42
+ ingestInCache(response as unknown as Record<string, object[]>)
43
+
44
+ const { posts } = response
45
+
46
+ const nextPage = toPage(paging.next)
47
+ const prevPage = toPage(paging.previous)
48
+
49
+ return { data: toRecord(posts), nextPage, prevPage }
50
+ }
@@ -0,0 +1,51 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decorateModels } from '~/core/query'
4
+ import { ingestInCache } from '~/core/cache'
5
+
6
+ /**
7
+ * ```js
8
+ * import { createFile } from '@amityco/ts-sdk'
9
+ * const created = await createFile(formData)
10
+ * ```
11
+ *
12
+ * Creates an {@link Amity.File}
13
+ *
14
+ * @param formData The data necessary to create a new {@link Amity.File}
15
+ * @returns The newly created {@link Amity.File}
16
+ *
17
+ * @category File API
18
+ * @async
19
+ */
20
+ export const createFile = async <T extends Amity.FileType = any>(
21
+ formData: FormData,
22
+ onProgress?: (percent: number) => void,
23
+ ) => {
24
+ const client = getActiveClient()
25
+ client.log('file/createFile', formData)
26
+
27
+ if (!formData.getAll('file').length)
28
+ throw new Error('The formData object must have a `file` key.')
29
+
30
+ const headers = 'getHeaders' in formData
31
+ ? (formData as any).getHeaders()
32
+ : { 'content-type': 'multipart/form-data' }
33
+
34
+ const { data } = await client.http.post<Amity.CreateFilePayload<T>>(
35
+ '/api/v3/files', formData, {
36
+ headers, onUploadProgress({ loaded, total }) {
37
+ onProgress && onProgress(Math.round((loaded * 100) / total))
38
+ }
39
+ }
40
+ )
41
+
42
+ // API-FIX: payload should be serialized properly
43
+ // const { files } = data
44
+
45
+ decorateModels(data)
46
+ ingestInCache({ files: data })
47
+
48
+ return data[0]
49
+ }
50
+
51
+ // TODO: consider doing local creation with URL.createObjectURL()
@@ -0,0 +1,35 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { mergeInCache } from '~/core/cache'
4
+
5
+ /**
6
+ * ```js
7
+ * import { deleteFile } from '@amityco/ts-sdk'
8
+ * const success = await deleteFile('foo')
9
+ * ```
10
+ *
11
+ * Deletes a {@link Amity.File}
12
+ *
13
+ * @param fileId The {@link Amity.File} ID to delete
14
+ * @return A success boolean if the {@link Amity.File} was deleted
15
+ *
16
+ * @category File API
17
+ * @async
18
+ */
19
+ export const deleteFile = async (
20
+ fileId: Amity.File<any>['fileId'],
21
+ ) => {
22
+ const client = getActiveClient()
23
+ client.log('file/deleteFile', fileId)
24
+
25
+ const { data } = await client.http.delete<{ success: boolean }>(
26
+ `/api/v3/files/${fileId}`,
27
+ )
28
+
29
+ const { success } = data
30
+
31
+ if (success)
32
+ mergeInCache('file', { fileId, isDeleted: true })
33
+
34
+ return success
35
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Allow to query a file url with a selected size
3
+ *
4
+ * @param fileUrl the file Url to decorate
5
+ * @param size one of the selected sizes
6
+ * @returns the computed url for the selected size
7
+ */
8
+ export const fileUrlWithSize = (
9
+ fileUrl: Amity.File['fileUrl'],
10
+ size: 'small' | 'medium' | 'large' | 'full',
11
+ ) => {
12
+ return `${fileUrl}?size=${size}`
13
+ }
@@ -0,0 +1,60 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { decorateModel } from '~/core/query'
4
+ import { ingestInCache, pullFromCache } from '~/core/cache'
5
+
6
+ /**
7
+ * ```js
8
+ * import { getFile } from '@amityco/ts-sdk'
9
+ * const file = await getFile('foo')
10
+ * ```
11
+ *
12
+ * Fetches a {@link Amity.File} object
13
+ *
14
+ * @param filelId the ID of the {@link Amity.File} to fetch
15
+ * @returns the associated {@link Amity.File} object
16
+ *
17
+ * @category File API
18
+ * @async
19
+ */
20
+ export const getFile = async <T extends Amity.FileType = any>(
21
+ fileId: Amity.File<any>['fileId'],
22
+ ) => {
23
+ const client = getActiveClient()
24
+ client.log('file/getFile', fileId)
25
+
26
+ const { data } = await client.http.get<Amity.FilePayload<T>>(
27
+ `/api/v3/files/${fileId}`,
28
+ )
29
+
30
+ // API-FIX: backend bad serializer issue. it should be:
31
+ // const { files } = data
32
+
33
+ decorateModel(data)
34
+ ingestInCache({ files: [data] })
35
+
36
+ return data
37
+ }
38
+
39
+ /**
40
+ * ```js
41
+ * import { getFile } from '@amityco/ts-sdk'
42
+ * const file = getFile.locally('foo')
43
+ * ```
44
+ *
45
+ * Fetches a {@link Amity.File} object from cache
46
+ *
47
+ * @param fileId the ID of the {@link Amity.File} to fetch
48
+ * @returns the associated {@link Amity.File} object
49
+ *
50
+ * @category File API
51
+ */
52
+ getFile.locally = (
53
+ fileId: Amity.File<any>['fileId'],
54
+ ) => {
55
+ const client = getActiveClient()
56
+ client.log('file/getFile.locally', fileId)
57
+
58
+ const [file] = pullFromCache('file', fileId) ?? []
59
+ return file
60
+ }
@@ -0,0 +1,4 @@
1
+ export * from './getFile'
2
+ export * from './createFile'
3
+ export * from './deleteFile'
4
+ export * from './fileUrlWithSize'
@@ -0,0 +1 @@
1
+ export * from './observeFile'
@@ -0,0 +1,57 @@
1
+ import { createQuery, runQuery } from '~/core/query/query'
2
+
3
+ import { getActiveClient } from '~/client/api'
4
+
5
+ import { getFile } from '../api'
6
+
7
+ /**
8
+ * ```js
9
+ * import { observeFile } from '@amityco/ts-sdk'
10
+ *
11
+ * let file = {}
12
+ * const dispose = observeFile(fileId, updated => file = updated)
13
+ * ```
14
+ *
15
+ * Observe all mutation on a given {@link Amity.File}
16
+ *
17
+ * @param fileId the ID of the file to observe
18
+ * @param callback the function to call when new data are available
19
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the file
20
+ *
21
+ * @category File Observer
22
+ */
23
+ export const observeFile = <Events extends ['onFetch']>(
24
+ fileId: string,
25
+ callback: Amity.ObjectListener<Amity.QueryResult<Amity.File>, Events>,
26
+ ): Amity.Unsubscriber => {
27
+ const { log } = getActiveClient()
28
+
29
+ const timestamp = Date.now()
30
+ log(`observeFile(tmpid: ${timestamp}) > listen`)
31
+
32
+ // wrapper function to make sure
33
+ const router = (
34
+ result: Amity.QueryResult<Amity.File>,
35
+ action: Events[number]
36
+ ) => {
37
+ // filter function
38
+ if (result.data?.fileId !== fileId) return
39
+
40
+ if (callback instanceof Function)
41
+ return callback(result)
42
+
43
+ if (action !== 'onFetch')
44
+ callback.onEvent?.(action, result)
45
+
46
+ callback[action]?.(result)
47
+ }
48
+
49
+ runQuery(
50
+ createQuery(getFile, fileId),
51
+ (result) => result.data && router(result, 'onFetch'),
52
+ )
53
+
54
+ return () => {
55
+ log(`observeFile(tmpid: ${timestamp}) > dispose`)
56
+ }
57
+ }
package/src/index.ts ADDED
@@ -0,0 +1,55 @@
1
+ // types
2
+ import './@types'
3
+
4
+ // sdk core
5
+ export * from './core/query'
6
+ export * from './core/cache'
7
+ export * from './core/stores'
8
+
9
+ export * from './client/api'
10
+ export * from './client/events'
11
+
12
+ // asc core
13
+ export * from './user/api'
14
+ export * from './user/events'
15
+ export * from './user/observers'
16
+
17
+ export * from './file/api'
18
+ export * from './file/observers'
19
+
20
+ export * from './role/api'
21
+
22
+ // asc partials
23
+ export * from './reaction/api'
24
+ export * from './reaction/events'
25
+
26
+ export * from './report/api'
27
+
28
+ // asc messaging
29
+ export * from './channel/api'
30
+ export * from './channel/events'
31
+ export * from './channel/observers'
32
+
33
+ export * from './message/api'
34
+ export * from './message/events'
35
+ export * from './message/observers'
36
+
37
+ // asc social
38
+ export * from './community/api'
39
+ export * from './community/events'
40
+ export * from './community/observers'
41
+
42
+ export * from './feed/api'
43
+
44
+ export * from './post/api'
45
+ export * from './post/events'
46
+ export * from './post/observers'
47
+
48
+ export * from './comment/api'
49
+ export * from './comment/events'
50
+ export * from './comment/observers'
51
+
52
+ // asc video
53
+ // not usable for now
54
+ // export * from './stream/api'
55
+ // export * from './stream/events'
@@ -0,0 +1,90 @@
1
+ import { uuid } from '~/core/uuid'
2
+
3
+ import { getActiveClient } from '~/client/api'
4
+
5
+ import { decoratePayload } from '~/core/query'
6
+ import { ingestInCache, pullFromCache, pushToCache } from '~/core/cache'
7
+ import { fireEvent } from '~/core/events'
8
+
9
+ /**
10
+ * ```js
11
+ * import { createMessage } from '@amityco/ts-sdk'
12
+ * const created = await createMessage({
13
+ * channelId: 'foobar',
14
+ * data: { text: 'hello world' }
15
+ * })
16
+ * ```
17
+ *
18
+ * Creates an {@link Amity.Message}
19
+ *
20
+ * @param bundle The data necessary to create a new {@link Amity.Message}
21
+ * @returns The newly created {@link Amity.Message}
22
+ *
23
+ * @category Message API
24
+ * @async
25
+ */
26
+ export const createMessage = async <T extends Amity.MessageContentType>(
27
+ bundle: Pick<Amity.Message<T>, 'channelId' | 'type' | 'data' | 'metadata'>
28
+ ) => {
29
+ const client = getActiveClient()
30
+ client.log('user/createMessage', bundle)
31
+
32
+ const { data } = await client.http.post<Amity.MessagePayload>(
33
+ '/api/v3/messages', bundle,
34
+ )
35
+
36
+ decoratePayload(data)
37
+ ingestInCache(data)
38
+ // no need for event, fired by server
39
+
40
+ const { messages } = data
41
+ return messages[0]
42
+ }
43
+
44
+ /**
45
+ * ```js
46
+ * import { createMessage } from '@amityco/ts-sdk'
47
+ * const created = createMessage.locally({
48
+ * channelId: 'foobar',
49
+ * data: { text: 'hello world' }
50
+ * })
51
+ * ```
52
+ *
53
+ * Creates an {@link Amity.Message} in cache
54
+ *
55
+ * @param bundle The data necessary to create a new {@link Amity.Message}
56
+ * @returns The newly created {@link Amity.Message}
57
+ *
58
+ * @category Message API
59
+ */
60
+ createMessage.optimistically = (
61
+ bundle: Pick<Amity.Message, 'channelId' | 'type' | 'data' | 'metadata'>
62
+ ) => {
63
+ const client = getActiveClient()
64
+ client.log('user/createMessage.locally', bundle)
65
+
66
+ // should we do this?
67
+ if (!client.cache) return
68
+
69
+ const [channel] = pullFromCache('channel', bundle.channelId) ?? []
70
+
71
+ pushToCache('channel', {
72
+ ...channel,
73
+ messageCount: (channel.messageCount ?? 0) + 1,
74
+ })
75
+
76
+ const message = {
77
+ localId: uuid(),
78
+ messageId: Math.random().toString(16),
79
+ userId: client.userId,
80
+ channelSegment: (channel?.messageCount ?? 0) + 1,
81
+ createdAt: new Date().toISOString(),
82
+ ...bundle,
83
+ syncedAt: -1,
84
+ } as Amity.Message
85
+
86
+ pushToCache('message', message)
87
+ fireEvent('v3.message.didCreate', { messages: [message] })
88
+
89
+ return message
90
+ }
@@ -0,0 +1,75 @@
1
+ import { getActiveClient } from '~/client/api'
2
+
3
+ import { getMessage } from './getMessage'
4
+
5
+ import {
6
+ pullFromCache,
7
+ pushToCache,
8
+ } from '~/core/cache'
9
+ import { fireEvent } from '~/core/events'
10
+
11
+ /**
12
+ * ```js
13
+ * import { deleteMessage } from '@amityco/ts-sdk'
14
+ * const success = await deleteMessage('foobar')
15
+ * ```
16
+ *
17
+ * Delete a {@link Amity.Message}
18
+ *
19
+ * @param The ID of the {@link Amity.Message} to delete
20
+ * @return A success boolean if the {@link Amity.Message} was deleted
21
+ *
22
+ * @category Message API
23
+ * @async
24
+ */
25
+ export const deleteMessage = async (
26
+ messageId: Amity.Message['messageId'],
27
+ ) => {
28
+ const client = getActiveClient()
29
+ client.log('message/deleteMessage', messageId)
30
+
31
+ // API-FIX: This endpoint has not been implemented yet.
32
+ await client.http.delete<{ success: boolean }>(
33
+ `/api/v3/messages/${messageId}`
34
+ )
35
+
36
+ const deleted = await getMessage(messageId)
37
+ // no need for event, fired by server
38
+
39
+ return deleted
40
+ }
41
+
42
+ /**
43
+ * ```js
44
+ * import { deleteMessage } from '@amityco/ts-sdk'
45
+ * const success = deleteMessage.locally('foobar')
46
+ * ```
47
+ *
48
+ * Deletes a {@link Amity.Message}
49
+ *
50
+ * @param messageId The {@link Amity.Message} ID to delete
51
+ * @return A success boolean if the {@link Amity.Message} was deleted
52
+ *
53
+ * @category Message API
54
+ */
55
+ deleteMessage.optimistically = (
56
+ messageId: Amity.Message['messageId'],
57
+ ) => {
58
+ const client = getActiveClient()
59
+ client.log('message/deleteMessage', messageId)
60
+
61
+ const [message] = pullFromCache('message', messageId) ?? []
62
+
63
+ if (!message) return
64
+
65
+ const deleted: Amity.Message = {
66
+ ...message,
67
+ isDeleted: true,
68
+ updatedAt: new Date().toISOString(),
69
+ }
70
+
71
+ pushToCache('message', deleted)
72
+ fireEvent('v3.message.didDelete', { messages: [deleted] })
73
+
74
+ return deleted
75
+ }