@amityco/ts-sdk 0.0.1-beta.27 → 0.0.1-beta.28

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 (185) hide show
  1. package/.eslintrc.json +1 -0
  2. package/dist/@types/core/payload.d.ts +12 -10
  3. package/dist/@types/core/payload.d.ts.map +1 -1
  4. package/dist/@types/domains/channel.d.ts +5 -1
  5. package/dist/@types/domains/channel.d.ts.map +1 -1
  6. package/dist/@types/domains/client.d.ts +13 -0
  7. package/dist/@types/domains/client.d.ts.map +1 -1
  8. package/dist/@types/domains/content.d.ts +26 -3
  9. package/dist/@types/domains/content.d.ts.map +1 -1
  10. package/dist/@types/domains/file.d.ts +36 -3
  11. package/dist/@types/domains/file.d.ts.map +1 -1
  12. package/dist/@types/domains/follow.d.ts +11 -0
  13. package/dist/@types/domains/follow.d.ts.map +1 -1
  14. package/dist/@types/domains/group.d.ts +1 -0
  15. package/dist/@types/domains/group.d.ts.map +1 -1
  16. package/dist/@types/domains/message.d.ts +13 -0
  17. package/dist/@types/domains/message.d.ts.map +1 -1
  18. package/dist/@types/global.d.ts +1 -0
  19. package/dist/@types/global.d.ts.map +1 -1
  20. package/dist/@types/index.d.ts +2 -2
  21. package/dist/@types/index.d.ts.map +1 -1
  22. package/dist/channel/api/addChannelMembers.d.ts.map +1 -1
  23. package/dist/channel/api/addChannelMembersRole.d.ts.map +1 -1
  24. package/dist/channel/api/banChannelMembers.d.ts.map +1 -1
  25. package/dist/channel/api/createChannel.d.ts.map +1 -1
  26. package/dist/channel/api/getChannel.d.ts.map +1 -1
  27. package/dist/channel/api/getChannels.d.ts.map +1 -1
  28. package/dist/channel/api/joinChannel.d.ts.map +1 -1
  29. package/dist/channel/api/leaveChannel.d.ts.map +1 -1
  30. package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
  31. package/dist/channel/api/queryChannels.d.ts.map +1 -1
  32. package/dist/channel/api/removeChannelMembers.d.ts.map +1 -1
  33. package/dist/channel/api/removeChannelMembersRole.d.ts.map +1 -1
  34. package/dist/channel/api/unbanChannelMembers.d.ts.map +1 -1
  35. package/dist/channel/api/updateChannel.d.ts.map +1 -1
  36. package/dist/channel/events/index.d.ts +1 -0
  37. package/dist/channel/events/index.d.ts.map +1 -1
  38. package/dist/channel/events/onChannelCreated.d.ts.map +1 -1
  39. package/dist/channel/events/onChannelDeleted.d.ts.map +1 -1
  40. package/dist/channel/events/onChannelJoined.d.ts.map +1 -1
  41. package/dist/channel/events/onChannelLeft.d.ts.map +1 -1
  42. package/dist/channel/events/onChannelMemberAdded.d.ts.map +1 -1
  43. package/dist/channel/events/onChannelMemberRemoved.d.ts.map +1 -1
  44. package/dist/channel/events/onChannelUpdated.d.ts.map +1 -1
  45. package/dist/channel/observers/index.d.ts +1 -0
  46. package/dist/channel/observers/index.d.ts.map +1 -1
  47. package/dist/channel/observers/observeChannel.d.ts +1 -1
  48. package/dist/channel/observers/observeChannel.d.ts.map +1 -1
  49. package/dist/channel/observers/observeChannels.d.ts +17 -0
  50. package/dist/channel/observers/observeChannels.d.ts.map +1 -0
  51. package/dist/channel/tests/utils/prepareChannelPayload.test.d.ts +2 -0
  52. package/dist/channel/tests/utils/prepareChannelPayload.test.d.ts.map +1 -0
  53. package/dist/channel/utils/index.d.ts +2 -0
  54. package/dist/channel/utils/index.d.ts.map +1 -0
  55. package/dist/channel/utils/prepareChannelPayload.d.ts +3 -0
  56. package/dist/channel/utils/prepareChannelPayload.d.ts.map +1 -0
  57. package/dist/client/api/connectClient.d.ts +1 -8
  58. package/dist/client/api/connectClient.d.ts.map +1 -1
  59. package/dist/client/api/createClient.d.ts +8 -1
  60. package/dist/client/api/createClient.d.ts.map +1 -1
  61. package/dist/client/api/getFeedSettings.d.ts +16 -0
  62. package/dist/client/api/getFeedSettings.d.ts.map +1 -0
  63. package/dist/client/api/index.d.ts +1 -0
  64. package/dist/client/api/index.d.ts.map +1 -1
  65. package/dist/core/events.d.ts +3 -3
  66. package/dist/core/events.d.ts.map +1 -1
  67. package/dist/core/query/query.d.ts +1 -1
  68. package/dist/core/tests/query/query/runQuery.test.d.ts +2 -0
  69. package/dist/core/tests/query/query/runQuery.test.d.ts.map +1 -0
  70. package/dist/file/api/createVideo.d.ts +2 -1
  71. package/dist/file/api/createVideo.d.ts.map +1 -1
  72. package/dist/follow/api/queryFollowers.d.ts +1 -5
  73. package/dist/follow/api/queryFollowers.d.ts.map +1 -1
  74. package/dist/follow/api/queryFollowings.d.ts +1 -5
  75. package/dist/follow/api/queryFollowings.d.ts.map +1 -1
  76. package/dist/follow/observers/index.d.ts +2 -0
  77. package/dist/follow/observers/index.d.ts.map +1 -1
  78. package/dist/follow/observers/liveFollowers.d.ts +20 -0
  79. package/dist/follow/observers/liveFollowers.d.ts.map +1 -0
  80. package/dist/follow/observers/liveFollowings.d.ts +20 -0
  81. package/dist/follow/observers/liveFollowings.d.ts.map +1 -0
  82. package/dist/index.cjs.js +553 -111
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.esm.js +543 -112
  86. package/dist/index.umd.js +4 -4
  87. package/dist/message/api/queryMessages.d.ts +1 -10
  88. package/dist/message/api/queryMessages.d.ts.map +1 -1
  89. package/dist/message/observers/index.d.ts +1 -0
  90. package/dist/message/observers/index.d.ts.map +1 -1
  91. package/dist/message/observers/liveMessages.d.ts +20 -0
  92. package/dist/message/observers/liveMessages.d.ts.map +1 -0
  93. package/dist/message/observers/observeMessages.d.ts +0 -1
  94. package/dist/message/observers/observeMessages.d.ts.map +1 -1
  95. package/dist/message/observers/tests/liveMessages.test.d.ts +2 -0
  96. package/dist/message/observers/tests/liveMessages.test.d.ts.map +1 -0
  97. package/dist/post/observers/livePosts.d.ts.map +1 -1
  98. package/dist/utils/constants.d.ts +1 -0
  99. package/dist/utils/constants.d.ts.map +1 -1
  100. package/dist/utils/tests/client.d.ts +5 -2
  101. package/dist/utils/tests/client.d.ts.map +1 -1
  102. package/dist/utils/tests/dummy/channel.d.ts +10 -0
  103. package/dist/utils/tests/dummy/channel.d.ts.map +1 -0
  104. package/dist/utils/tests/dummy/index.d.ts +10 -0
  105. package/dist/utils/tests/dummy/index.d.ts.map +1 -0
  106. package/dist/utils/tests/dummy/message.d.ts +8 -0
  107. package/dist/utils/tests/dummy/message.d.ts.map +1 -0
  108. package/dist/utils/tests/{dummy.d.ts → dummy/post.d.ts} +3 -2
  109. package/dist/utils/tests/dummy/post.d.ts.map +1 -0
  110. package/dist/utils/tests/dummy/user.d.ts +2 -0
  111. package/dist/utils/tests/dummy/user.d.ts.map +1 -0
  112. package/dist/utils/tests/index.d.ts +2 -2
  113. package/dist/utils/tests/index.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/src/@types/core/payload.ts +16 -10
  116. package/src/@types/domains/channel.ts +16 -1
  117. package/src/@types/domains/client.ts +17 -0
  118. package/src/@types/domains/content.ts +34 -3
  119. package/src/@types/domains/file.ts +42 -3
  120. package/src/@types/domains/follow.ts +28 -0
  121. package/src/@types/domains/group.ts +1 -0
  122. package/src/@types/domains/message.ts +20 -0
  123. package/src/@types/global.ts +2 -0
  124. package/src/@types/index.ts +3 -2
  125. package/src/channel/api/addChannelMembers.ts +6 -5
  126. package/src/channel/api/addChannelMembersRole.ts +5 -1
  127. package/src/channel/api/banChannelMembers.ts +7 -3
  128. package/src/channel/api/createChannel.ts +6 -2
  129. package/src/channel/api/getChannel.ts +5 -1
  130. package/src/channel/api/getChannels.ts +5 -1
  131. package/src/channel/api/joinChannel.ts +5 -1
  132. package/src/channel/api/leaveChannel.ts +5 -1
  133. package/src/channel/api/queryChannelMembers.ts +16 -12
  134. package/src/channel/api/queryChannels.ts +9 -4
  135. package/src/channel/api/removeChannelMembers.ts +6 -5
  136. package/src/channel/api/removeChannelMembersRole.ts +5 -1
  137. package/src/channel/api/unbanChannelMembers.ts +7 -3
  138. package/src/channel/api/updateChannel.ts +5 -1
  139. package/src/channel/events/index.ts +1 -0
  140. package/src/channel/events/onChannelCreated.ts +6 -2
  141. package/src/channel/events/onChannelDeleted.ts +6 -2
  142. package/src/channel/events/onChannelJoined.ts +6 -2
  143. package/src/channel/events/onChannelLeft.ts +6 -2
  144. package/src/channel/events/onChannelMemberAdded.ts +6 -2
  145. package/src/channel/events/onChannelMemberRemoved.ts +6 -2
  146. package/src/channel/events/onChannelUpdated.ts +6 -2
  147. package/src/channel/observers/index.ts +1 -0
  148. package/src/channel/observers/observeChannel.ts +1 -11
  149. package/src/channel/observers/observeChannels.ts +59 -0
  150. package/src/channel/tests/utils/prepareChannelPayload.test.ts +120 -0
  151. package/src/channel/utils/index.ts +1 -0
  152. package/src/channel/utils/prepareChannelPayload.ts +31 -0
  153. package/src/client/api/connectClient.ts +4 -9
  154. package/src/client/api/createClient.ts +19 -4
  155. package/src/client/api/getFeedSettings.ts +29 -0
  156. package/src/client/api/index.ts +2 -0
  157. package/src/core/events.ts +2 -1
  158. package/src/core/query/query.ts +3 -3
  159. package/src/core/tests/query/query/runQuery.test.ts +182 -0
  160. package/src/file/api/createVideo.ts +6 -0
  161. package/src/follow/api/queryFollowers.ts +3 -5
  162. package/src/follow/api/queryFollowings.ts +3 -5
  163. package/src/follow/api/utils.ts +7 -3
  164. package/src/follow/observers/index.ts +3 -0
  165. package/src/follow/observers/liveFollowers.ts +149 -0
  166. package/src/follow/observers/liveFollowings.ts +149 -0
  167. package/src/index.ts +1 -1
  168. package/src/message/api/queryMessages.ts +3 -10
  169. package/src/message/observers/index.ts +1 -0
  170. package/src/message/observers/liveMessages.ts +141 -0
  171. package/src/message/observers/observeMessages.ts +0 -1
  172. package/src/message/observers/tests/liveMessages.test.ts +133 -0
  173. package/src/post/observers/livePosts.ts +2 -1
  174. package/src/post/tests/api/getPost.test.ts +3 -3
  175. package/src/post/tests/api/queryPosts.test.ts +4 -4
  176. package/src/utils/constants.ts +1 -0
  177. package/src/utils/tests/client.ts +31 -3
  178. package/src/utils/tests/dummy/channel.ts +52 -0
  179. package/src/utils/tests/dummy/index.ts +7 -0
  180. package/src/utils/tests/dummy/message.ts +21 -0
  181. package/src/utils/tests/dummy/post.ts +31 -0
  182. package/src/utils/tests/dummy/user.ts +11 -0
  183. package/src/utils/tests/index.ts +2 -2
  184. package/dist/utils/tests/dummy.d.ts.map +0 -1
  185. package/src/utils/tests/dummy.ts +0 -7
@@ -13,16 +13,7 @@
13
13
  * @async
14
14
  */
15
15
  export declare const queryMessages: {
16
- (query: {
17
- channelId: Amity.Channel['channelId'];
18
- type?: Amity.MessageContentType;
19
- parentId?: Amity.Message['parentId'];
20
- filterByParentId?: boolean;
21
- isDeleted?: boolean;
22
- tags?: Amity.Taggable['tags'];
23
- excludeTags?: Amity.Taggable['tags'];
24
- page?: Amity.Page;
25
- }): Promise<Amity.Cached<Amity.Paged<Amity.Message>>>;
16
+ (query: Amity.QueryMessages): Promise<Amity.Cached<Amity.Paged<Amity.Message>>>;
26
17
  /**
27
18
  * ```js
28
19
  * import { queryMessages } from '@amityco/ts-sdk'
@@ -1 +1 @@
1
- {"version":3,"file":"queryMessages.d.ts","sourceRoot":"","sources":["../../../src/message/api/queryMessages.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa;YAAiB;QACzC,SAAS,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;KACnB,GAAG,QAAQ,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;IA+CrD;;;;;;;;;;;;OAYG;mBAEM,WAAW,oBAAoB,CAAC,CAAC,CAAC,CAAC,GACzC,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS;CAjBtD,CAAC"}
1
+ {"version":3,"file":"queryMessages.d.ts","sourceRoot":"","sources":["../../../src/message/api/queryMessages.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa;YACjB,MAAM,aAAa,GACzB,QAAQ,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC;IA+CpD;;;;;;;;;;;;OAYG;mBAEM,WAAW,oBAAoB,CAAC,CAAC,CAAC,CAAC,GACzC,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS;CAjBtD,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { observeMessage } from './observeMessage';
2
2
  export { observeMessages } from './observeMessages';
3
+ export { liveMessages } from './liveMessages';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/message/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/message/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ```js
3
+ * import { liveMessages } from '@amityco/ts-sdk'
4
+ *
5
+ * let messages = []
6
+ * const unsub = liveMessages({
7
+ * channelId: Amity.Channel['channelId'];
8
+ * }, response => merge(messages, response.data))
9
+ * ```
10
+ *
11
+ * Observe all mutations on a list of {@link Amity.Message} for a given target object
12
+ *
13
+ * @param params for querying memssages from a channel
14
+ * @param callback the function to call when new data are available
15
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
16
+ *
17
+ * @category Messages Live Collection
18
+ */
19
+ export declare const liveMessages: (params: Amity.MessagesLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Message>, config?: Amity.LiveCollectionConfig) => Amity.Unsubscriber;
20
+ //# sourceMappingURL=liveMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveMessages.d.ts","sourceRoot":"","sources":["../../../src/message/observers/liveMessages.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,WACf,MAAM,sBAAsB,YAC1B,MAAM,sBAAsB,CAAC,MAAM,OAAO,CAAC,WAC5C,MAAM,oBAAoB,KAClC,MAAM,YAuGR,CAAC"}
@@ -8,7 +8,6 @@
8
8
  *
9
9
  * Observe all mutations on a list of {@link Amity.Message} for a given {@link Amity.Channel} object
10
10
  *
11
- * @param client the client to observe the message with
12
11
  * @param channelId the ID of the channel where to observe the messages
13
12
  * @param callback the function to call when new data are available
14
13
  * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
@@ -1 +1 @@
1
- {"version":3,"file":"observeMessages.d.ts","sourceRoot":"","sources":["../../../src/message/observers/observeMessages.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,cACf,MAAM,OAAO,CAAC,WAAW,CAAC,YAC3B,MAAM,cAAc,CAC5B,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,EAC7B;IAAC,UAAU;IAAE,UAAU;IAAE,UAAU;CAAC,CACrC,KACA,MAAM,YA8BR,CAAC"}
1
+ {"version":3,"file":"observeMessages.d.ts","sourceRoot":"","sources":["../../../src/message/observers/observeMessages.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,cACf,MAAM,OAAO,CAAC,WAAW,CAAC,YAC3B,MAAM,cAAc,CAC5B,MAAM,QAAQ,CAAC,MAAM,OAAO,CAAC,EAC7B;IAAC,UAAU;IAAE,UAAU;IAAE,UAAU;CAAC,CACrC,KACA,MAAM,YA8BR,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=liveMessages.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveMessages.test.d.ts","sourceRoot":"","sources":["../../../../src/message/observers/tests/liveMessages.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"livePosts.d.ts","sourceRoot":"","sources":["../../../src/post/observers/livePosts.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,WACZ,MAAM,kBAAkB,YACtB,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,WACzC,MAAM,oBAAoB,KAClC,MAAM,YAkHR,CAAC"}
1
+ {"version":3,"file":"livePosts.d.ts","sourceRoot":"","sources":["../../../src/post/observers/livePosts.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,WACZ,MAAM,kBAAkB,YACtB,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,WACzC,MAAM,oBAAoB,KAClC,MAAM,YAkHR,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare const COLLECTION_DEFAULT_PAGINATION_LIMIT = 5;
2
2
  export declare const COLLECTION_DEFAULT_CACHING_POLICY: Amity.QueryPolicy;
3
+ export declare const ENABLE_CACHE_MESSAGE = "For using Live Collection feature you need to enable Cache!";
3
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,WAAiC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,iCAAiC,EAAE,KAAK,CAAC,WAAiC,CAAC;AACxF,eAAO,MAAM,oBAAoB,gEAAgE,CAAC"}
@@ -1,3 +1,6 @@
1
- declare const client: Amity.Client;
2
- export default client;
1
+ export declare const client: Amity.Client;
2
+ export declare const connectClient: () => Promise<void>;
3
+ export declare const disconnectClient: () => Promise<void>;
4
+ declare const _default: {};
5
+ export default _default;
3
6
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/client.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,cAA4B,CAAC;AAEzC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/client.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,cAA4B,CAAC;AAEhD,eAAO,MAAM,aAAa,qBAgBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,qBAE5B,CAAC;;AAEF,wBAAkB"}
@@ -0,0 +1,10 @@
1
+ export declare const channelRaw1: Amity.ChannelRaw;
2
+ export declare const channelRaw2: Amity.ChannelRaw;
3
+ export declare const channel11: Amity.Channel;
4
+ export declare const channel12: Amity.Channel;
5
+ export declare const channelUser1: Amity.Membership<'channel'>;
6
+ export declare const channelUser2: Amity.Membership<'channel'>;
7
+ export declare const channels: {
8
+ page1: string[];
9
+ };
10
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/channel.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,UAK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,UAK/B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,OAI7B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,OAI7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAYpD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAKpD,CAAC;AAEF,eAAO,MAAM,QAAQ;;CAEpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const date: string;
2
+ export declare const rolesAndPermissions: {
3
+ roles: never[];
4
+ permissions: never[];
5
+ };
6
+ export * from './user';
7
+ export * from './post';
8
+ export * from './channel';
9
+ export * from './message';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,QAA2B,CAAC;AAC7C,eAAO,MAAM,mBAAmB;;;CAAiC,CAAC;AAElE,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const message: Amity.Message;
2
+ export declare const messages: {
3
+ channelId: string;
4
+ page1: string[];
5
+ page2: string[];
6
+ page3: string[];
7
+ };
8
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/message.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,OAW3B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC"}
@@ -1,8 +1,9 @@
1
- export declare const userPosts: {
1
+ export declare const post1: Amity.Post;
2
+ export declare const posts: {
2
3
  targetId: string;
3
4
  targetType: Amity.PostTargetType;
4
5
  page1: string[];
5
6
  page2: string[];
6
7
  page3: string[];
7
8
  };
8
- //# sourceMappingURL=dummy.d.ts.map
9
+ //# sourceMappingURL=post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/post.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,IAoBzB,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;CAMjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const user11: Amity.User;
2
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/user.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,IAQ1B,CAAC"}
@@ -1,3 +1,3 @@
1
- export { userPosts } from './dummy';
2
- export { default as client } from './client';
1
+ export * from './dummy';
2
+ export * from './client';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk",
3
- "version": "0.0.1-beta.27",
3
+ "version": "0.0.1-beta.28",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",
@@ -24,6 +24,13 @@ declare global {
24
24
  files: Amity.File<'image'>[];
25
25
  };
26
26
 
27
+ type FeedSettingPayload = {
28
+ feedSettings: {
29
+ contentSettings: Amity.ContentSetting[];
30
+ feedType: Amity.ContentFeedType;
31
+ }[];
32
+ };
33
+
27
34
  // API-FIX: backend should return a payload like { files: Amity.File<T>[] }
28
35
  type CreateFilePayload<T extends Amity.FileType = any> = Amity.File<T>[];
29
36
  type FilePayload<T extends Amity.FileType = any> = Amity.File<T>;
@@ -32,19 +39,18 @@ declare global {
32
39
  roles: Amity.Role[];
33
40
  };
34
41
 
35
- type ChannelPayload<T extends Amity.ChannelType = any> = {
36
- channels: Amity.Channel<T>[];
37
- channelUsers?: Amity.Membership<'channel'>[];
38
- users?: Amity.User[];
39
- files?: Amity.File[];
40
- };
42
+ type ChannelPayload<
43
+ T extends Amity.ChannelType = any,
44
+ U extends Amity.Channel<T> | Amity.ChannelRaw<T> = Amity.ChannelRaw<T>,
45
+ > = {
46
+ channels: U[];
47
+ channelUsers: Amity.Membership<'channel'>[];
48
+ } & Amity.UserPayload;
41
49
 
42
50
  type ChannelMembershipPayload = {
43
- channels: Amity.Channel[];
51
+ channels: Amity.ChannelRaw[];
44
52
  channelUsers: Amity.Membership<'channel'>[];
45
- users?: Amity.User[];
46
- files?: Amity.File[];
47
- };
53
+ } & Amity.UserPayload;
48
54
 
49
55
  type MessagePayload<T extends Amity.MessageContentType = any> = {
50
56
  messages: Amity.Message<T>[];
@@ -4,10 +4,20 @@ declare global {
4
4
  namespace Amity {
5
5
  type ChannelType = 'broadcast' | 'conversation' | 'community' | 'live';
6
6
 
7
+ type ChannelActionType =
8
+ | 'onFetch'
9
+ | 'onCreate'
10
+ | 'onUpdate'
11
+ | 'onDelete'
12
+ | 'onJoin'
13
+ | 'onLeft'
14
+ | 'onMemberAdded'
15
+ | 'onMemberRemoved';
16
+
7
17
  type Channel<T extends ChannelType = any> = {
8
18
  channelId: string;
9
19
  displayName?: string;
10
- avatarFileId?: File<'image'>['fileId'];
20
+ avatarFileId?: Amity.File<'image'>['fileId'];
11
21
  type: T;
12
22
 
13
23
  isDistinct?: boolean;
@@ -27,9 +37,14 @@ declare global {
27
37
  messageCount?: number;
28
38
 
29
39
  lastActivity?: Amity.timestamp;
40
+
41
+ unreadCount: number;
42
+ hasMention: boolean;
30
43
  } & Amity.Metadata &
31
44
  Amity.Taggable &
32
45
  Amity.Timestamps &
33
46
  Amity.SoftDelete;
47
+
48
+ type ChannelRaw<T extends ChannelType = any> = Omit<Channel<T>, 'unreadCount' | 'hasMention'>;
34
49
  }
35
50
  }
@@ -21,6 +21,8 @@ declare global {
21
21
  accessToken?: string;
22
22
 
23
23
  use: () => void;
24
+
25
+ getFeedSettings: () => Promise<Amity.FeedSettings>;
24
26
  };
25
27
 
26
28
  type Device = {
@@ -36,5 +38,20 @@ declare global {
36
38
  accessToken: string;
37
39
  refreshToken: string;
38
40
  };
41
+
42
+ type FeedSettings = {
43
+ [name in Amity.ContentFeedType]?: Amity.ContentSetting[];
44
+ };
45
+
46
+ type ConnectClientParams = {
47
+ userId: Amity.User['userId'];
48
+ displayName?: Amity.User['displayName'];
49
+ authToken?: string;
50
+ deviceId?: Amity.Device['deviceId'];
51
+ };
52
+
53
+ type ConnectClientConfig = {
54
+ disableRTE: boolean;
55
+ };
39
56
  }
40
57
  }
@@ -1,9 +1,16 @@
1
- export {};
1
+ export const ContentFeedType = Object.freeze({
2
+ STORY: 'story',
3
+ CHIP: 'clip',
4
+ CHAT: 'chat',
5
+ POST: 'post',
6
+ });
2
7
 
3
8
  declare global {
4
9
  namespace Amity {
5
10
  type ContentType = 'text' | 'image' | 'file' | 'video' | 'poll' | 'json' | string;
6
11
 
12
+ type ContentFeedType = ValueOf<typeof ContentFeedType>;
13
+
7
14
  type ContentDataText = {
8
15
  text: string;
9
16
  };
@@ -13,11 +20,14 @@ declare global {
13
20
  };
14
21
 
15
22
  type ContentDataImage = {
16
- imageId: Amity.File<'image'>['fileId'];
23
+ fileId: Amity.File<'image'>['fileId'];
17
24
  };
18
25
 
19
26
  type ContentDataVideo = {
20
- videoId: Amity.File<'file'>['fileId'];
27
+ thumbnailFileId: Amity.File<'image'>['fileId'];
28
+ videoFileId: {
29
+ [K in Amity.VideoSize]?: Amity.File<'video'>['fileId'];
30
+ };
21
31
  };
22
32
 
23
33
  type ContentDataPoll = {
@@ -43,5 +53,26 @@ declare global {
43
53
  type Content<T extends ContentType, K extends 'type' | 'dataType' = 'dataType'> = {
44
54
  [S in K]?: T;
45
55
  } & { data: ContentData<T> };
56
+
57
+ type ContentSettingText = {
58
+ contentType: 'text';
59
+ allowed: boolean;
60
+ };
61
+
62
+ type ContentSettingVideo = {
63
+ contentType: 'video';
64
+ allowed: boolean;
65
+ maxDurationSeconds: number;
66
+ transcodeConfig: {
67
+ maxResolution: Amity.VideoResolution;
68
+ minResolution: Amity.VideoResolution;
69
+ };
70
+ };
71
+
72
+ type ContentSetting<T extends ContentType = 'text' | 'video'> = T extends 'text'
73
+ ? ContentSettingText
74
+ : T extends 'video'
75
+ ? ContentSettingVideo
76
+ : never;
46
77
  }
47
78
  }
@@ -1,8 +1,40 @@
1
- export {};
1
+ export const FileType = Object.freeze({
2
+ FILE: 'file',
3
+ IMAGE: 'image',
4
+ VIDEO: 'video',
5
+ });
6
+
7
+ export const VideoResolution = Object.freeze({
8
+ '1080P': '1080p',
9
+ '720P': '720p',
10
+ '480P': '480p',
11
+ '360P': '360p',
12
+ ORIGINAL: 'original',
13
+ });
14
+
15
+ export const VideoTranscodingStatus = Object.freeze({
16
+ UPLOADED: 'uploaded',
17
+ TRANSCODING: 'transcoding',
18
+ TRANSCODED: 'transcoded',
19
+ TRANSCODE_FAILED: 'transcodeFailed',
20
+ });
21
+
22
+ export const VideoSize = Object.freeze({
23
+ LOW: 'low',
24
+ MEDIUM: 'medium',
25
+ HIGH: 'high',
26
+ ORIGINAL: 'original',
27
+ });
2
28
 
3
29
  declare global {
4
30
  namespace Amity {
5
- type FileType = 'file' | 'image' | 'video';
31
+ type FileType = ValueOf<typeof FileType>;
32
+
33
+ type VideoResolution = ValueOf<typeof VideoResolution>;
34
+
35
+ type VideoTranscodingStatus = ValueOf<typeof VideoTranscodingStatus>;
36
+
37
+ type VideoSize = ValueOf<typeof VideoSize>;
6
38
 
7
39
  type FileMetadata = Record<string, never>;
8
40
 
@@ -24,6 +56,12 @@ declare global {
24
56
  ? VideoMetadata
25
57
  : never;
26
58
 
59
+ type VideoFileExtraPayload = {
60
+ feedType: Amity.ContentFeedType;
61
+ status: VideoTranscodingStatus;
62
+ videoUrl?: { [name in VideoResolution]?: string } | null;
63
+ };
64
+
27
65
  type File<T extends FileType = any> = {
28
66
  fileId: string;
29
67
  type: T;
@@ -35,7 +73,8 @@ declare global {
35
73
  mimeType: string;
36
74
  metadata: MetadataFor<T>;
37
75
  };
38
- } & Amity.Timestamps &
76
+ } & (T extends 'video' ? VideoFileExtraPayload : unknown) &
77
+ Amity.Timestamps &
39
78
  Amity.SoftDelete;
40
79
  }
41
80
  }
@@ -2,6 +2,15 @@ export {};
2
2
 
3
3
  declare global {
4
4
  namespace Amity {
5
+ type FollowActionType =
6
+ | 'onRequested'
7
+ | 'onAccepted'
8
+ | 'onDeclined'
9
+ | 'onCanceled'
10
+ | 'onFollowed'
11
+ | 'onUnfollowed'
12
+ | 'onDeleted';
13
+
5
14
  type FollowStatusType = 'all' | 'pending' | 'accepted' | 'none';
6
15
 
7
16
  type FollowStatus = {
@@ -21,5 +30,24 @@ declare global {
21
30
  type FollowInfo = {
22
31
  status?: FollowStatus['status'];
23
32
  } & FollowCount;
33
+
34
+ type QueryFollowers = {
35
+ userId: Amity.User['userId'];
36
+ status?: Exclude<Amity.FollowStatusType, 'none'>;
37
+ page?: Amity.PageRaw;
38
+ };
39
+
40
+ type FollowerLiveCollection = Amity.LiveCollectionParams<Omit<QueryFollowers, 'page'>>;
41
+
42
+ type FollowerLiveCollectionCache = Amity.LiveCollectionCache<
43
+ Amity.FollowInfo['userId'],
44
+ Pick<QueryFollowers, 'page'>
45
+ >;
46
+
47
+ type QueryFollowings = QueryFollowers;
48
+
49
+ type FollowingLiveCollection = FollowerLiveCollection;
50
+
51
+ type FollowingLiveCollectionCache = FollowerLiveCollectionCache;
24
52
  }
25
53
  }
@@ -15,6 +15,7 @@ declare global {
15
15
  channelId: Amity.Channel['channelId'];
16
16
  membership: 'member' | 'none' | 'banned';
17
17
  readToSegment: number;
18
+ lastMentionedSegment: number;
18
19
  }
19
20
  : T extends 'community'
20
21
  ? {
@@ -12,6 +12,8 @@ declare global {
12
12
  ? { fileId: string }
13
13
  : unknown;
14
14
 
15
+ type MessageActionType = 'onCreate' | 'onUpdate' | 'onDelete';
16
+
15
17
  type Message<T extends Amity.MessageContentType = any> = {
16
18
  messageId: string;
17
19
 
@@ -32,5 +34,23 @@ declare global {
32
34
  Amity.Taggable &
33
35
  Amity.Reactable &
34
36
  Amity.Mentionable<'user' | 'channel'>;
37
+
38
+ type QueryMessages = {
39
+ channelId: Amity.Channel['channelId'];
40
+ type?: Amity.MessageContentType;
41
+ parentId?: Amity.Message['parentId'];
42
+ filterByParentId?: boolean;
43
+ isDeleted?: boolean;
44
+ tags?: Amity.Taggable['tags'];
45
+ excludeTags?: Amity.Taggable['tags'];
46
+ page?: Amity.Page;
47
+ };
48
+
49
+ type MessagesLiveCollection = Amity.LiveCollectionParams<Omit<QueryMessages, 'page'>>;
50
+
51
+ type MessageLiveCollectionCache = Amity.LiveCollectionCache<
52
+ Amity.Message['channelId'],
53
+ Pick<QueryMessages, 'page'>
54
+ >;
35
55
  }
36
56
  }
@@ -25,4 +25,6 @@ declare global {
25
25
  interface ObjectConstructor {
26
26
  keys<T>(o: T): ObjectKeys<T>;
27
27
  }
28
+
29
+ type ValueOf<T extends Record<any, any>> = T[keyof T];
28
30
  }
@@ -15,10 +15,8 @@ import './domains/client'; // client definition
15
15
 
16
16
  import './domains/user';
17
17
  import './domains/follow';
18
- import './domains/file';
19
18
 
20
19
  import './domains/partials'; // small model partials (CreatedAt, etc...)
21
- import './domains/content'; // content partial
22
20
  import './domains/reaction';
23
21
 
24
22
  import './domains/group';
@@ -35,3 +33,6 @@ import './domains/stream';
35
33
  import './domains/mention';
36
34
 
37
35
  import './domains/poll';
36
+
37
+ export * from './domains/content';
38
+ export * from './domains/file';
@@ -3,6 +3,8 @@ import { getActiveClient } from '~/client/api';
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
  import { fireEvent } from '~/core/events';
5
5
 
6
+ import { prepareChannelPayload } from '../utils';
7
+
6
8
  /**
7
9
  * ```js
8
10
  * import { addChannelMembers } from '@amityco/ts-sdk'
@@ -25,17 +27,16 @@ export const addChannelMembers = async (
25
27
  const client = getActiveClient();
26
28
  client.log('channel/addChannelMembers', channelId, userIds);
27
29
 
28
- const { data } = await client.http.post<Amity.ChannelMembershipPayload>(
30
+ const { data: payload } = await client.http.post<Amity.ChannelMembershipPayload>(
29
31
  `/api/v3/channels/${encodeURIComponent(channelId)}/users`,
30
32
  { channelId, userIds },
31
33
  );
32
34
 
35
+ const data = prepareChannelPayload(payload);
36
+
33
37
  if (client.cache) ingestInCache(data);
34
38
 
35
- fireEvent('v3.channel.didAddUsers', {
36
- channels: data.channels,
37
- channelUsers: data.channelUsers,
38
- });
39
+ fireEvent('v3.channel.didAddUsers', data);
39
40
 
40
41
  const { channelUsers } = data;
41
42
  return !!channelUsers.find(
@@ -2,6 +2,8 @@ import { getActiveClient } from '~/client/api';
2
2
 
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
+ import { prepareChannelPayload } from '../utils';
6
+
5
7
  /**
6
8
  * ```js
7
9
  * import { addChannelMembersRole } from '@amityco/ts-sdk'
@@ -26,11 +28,13 @@ export const addChannelMembersRole = async (
26
28
  const client = getActiveClient();
27
29
  client.log('channel/addChannelMembersRole', channelId, roleId, userIds);
28
30
 
29
- const { data } = await client.http.post<Amity.ChannelMembershipPayload>(
31
+ const { data: payload } = await client.http.post<Amity.ChannelMembershipPayload>(
30
32
  `/api/v3/channels/${encodeURIComponent(channelId)}/users/roles`,
31
33
  { channelId, role: roleId, userIds },
32
34
  );
33
35
 
36
+ const data = prepareChannelPayload(payload);
37
+
34
38
  if (client.cache) ingestInCache(data);
35
39
 
36
40
  const { channelUsers } = data;
@@ -2,6 +2,8 @@ import { getActiveClient } from '~/client/api/activeClient';
2
2
 
3
3
  import { ingestInCache } from '~/cache/api/ingestInCache';
4
4
 
5
+ import { prepareChannelPayload } from '../utils';
6
+
5
7
  /**
6
8
  * ```js
7
9
  * import { banChannelMembers } from '@amityco/ts-sdk'
@@ -23,17 +25,19 @@ export const banChannelMembers = async (
23
25
  const client = getActiveClient();
24
26
  client.log('channel/banChannelMembers', { userIds, channelId });
25
27
 
26
- const payload = await client.http.put<Amity.ChannelPayload>(
28
+ const { data: payload } = await client.http.put<Amity.ChannelPayload>(
27
29
  `/api/v3/channels/${channelId}/users/ban`,
28
30
  {
29
31
  userIds,
30
32
  },
31
33
  );
32
34
 
35
+ const data = prepareChannelPayload(payload);
36
+
33
37
  const cachedAt = client.cache && Date.now();
34
- if (client.cache) ingestInCache(payload.data, { cachedAt });
38
+ if (client.cache) ingestInCache(data, { cachedAt });
35
39
 
36
- const { channelUsers } = payload.data;
40
+ const { channelUsers } = data;
37
41
  return {
38
42
  data: channelUsers?.filter(user => user.membership === 'banned')!,
39
43
  cachedAt,