@amityco/ts-sdk 7.6.0 → 7.6.1-1a687cb5.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 (49) hide show
  1. package/.env +26 -26
  2. package/dist/@types/core/payload.d.ts +1 -1
  3. package/dist/@types/core/payload.d.ts.map +1 -1
  4. package/dist/@types/domains/content.d.ts +8 -2
  5. package/dist/@types/domains/content.d.ts.map +1 -1
  6. package/dist/@types/domains/feed.d.ts +2 -1
  7. package/dist/@types/domains/feed.d.ts.map +1 -1
  8. package/dist/@types/domains/file.d.ts +3 -1
  9. package/dist/@types/domains/file.d.ts.map +1 -1
  10. package/dist/@types/domains/post.d.ts +3 -0
  11. package/dist/@types/domains/post.d.ts.map +1 -1
  12. package/dist/communityRepository/api/getCommunity.d.ts +1 -1
  13. package/dist/communityRepository/api/getCommunity.d.ts.map +1 -1
  14. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts +1 -1
  15. package/dist/feedRepository/api/getCustomRankingGlobalFeed.d.ts.map +1 -1
  16. package/dist/feedRepository/api/queryGlobalFeed.d.ts.map +1 -1
  17. package/dist/fileRepository/api/index.d.ts +1 -0
  18. package/dist/fileRepository/api/index.d.ts.map +1 -1
  19. package/dist/fileRepository/api/uploadClip.d.ts +17 -0
  20. package/dist/fileRepository/api/uploadClip.d.ts.map +1 -0
  21. package/dist/index.cjs.js +115 -12
  22. package/dist/index.esm.js +115 -12
  23. package/dist/index.umd.js +2 -2
  24. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
  25. package/dist/postRepository/api/createClipPost.d.ts +32 -0
  26. package/dist/postRepository/api/createClipPost.d.ts.map +1 -0
  27. package/dist/postRepository/api/index.d.ts +1 -0
  28. package/dist/postRepository/api/index.d.ts.map +1 -1
  29. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  30. package/dist/utils/postTypePredicate.d.ts +1 -0
  31. package/dist/utils/postTypePredicate.d.ts.map +1 -1
  32. package/dist/utils/tests/dummy/comment.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/src/@types/core/payload.ts +1 -1
  35. package/src/@types/domains/content.ts +10 -0
  36. package/src/@types/domains/feed.ts +2 -1
  37. package/src/@types/domains/file.ts +5 -0
  38. package/src/@types/domains/post.ts +4 -0
  39. package/src/communityRepository/api/getCommunity.ts +0 -9
  40. package/src/feedRepository/api/getCustomRankingGlobalFeed.ts +1 -1
  41. package/src/feedRepository/api/queryGlobalFeed.ts +3 -1
  42. package/src/fileRepository/api/index.ts +1 -0
  43. package/src/fileRepository/api/uploadClip.ts +71 -0
  44. package/src/postRepository/api/createClipPost.ts +62 -0
  45. package/src/postRepository/api/index.ts +2 -0
  46. package/src/postRepository/api/queryPosts.ts +1 -1
  47. package/src/postRepository/observers/getPosts/PostPaginationController.ts +1 -1
  48. package/src/utils/linkedObject/postLinkedObject.ts +12 -1
  49. package/src/utils/postTypePredicate.ts +10 -0
package/dist/index.esm.js CHANGED
@@ -19,6 +19,7 @@ const FileType = Object.freeze({
19
19
  FILE: 'file',
20
20
  IMAGE: 'image',
21
21
  VIDEO: 'video',
22
+ CLIP: 'clip',
22
23
  });
23
24
  const VideoResolution = Object.freeze({
24
25
  '1080P': '1080p',
@@ -102,6 +103,7 @@ const PostContentType = Object.freeze({
102
103
  VIDEO: 'video',
103
104
  LIVESTREAM: 'liveStream',
104
105
  POLL: 'poll',
106
+ CLIP: 'clip',
105
107
  });
106
108
 
107
109
  var InvitationTypeEnum;
@@ -22784,6 +22786,13 @@ function isAmityVideoPost(post) {
22784
22786
  'videoFileId' in post.data &&
22785
22787
  'thumbnailFileId' in post.data &&
22786
22788
  post.dataType === 'video');
22789
+ }
22790
+ function isAmityClipPost(post) {
22791
+ return !!(post.data &&
22792
+ typeof post.data !== 'string' &&
22793
+ 'fileId' in post.data &&
22794
+ 'thumbnailFileId' in post.data &&
22795
+ post.dataType === 'clip');
22787
22796
  }
22788
22797
 
22789
22798
  const postLinkedObject = (post) => {
@@ -22838,6 +22847,12 @@ const postLinkedObject = (post) => {
22838
22847
  return isAmityFilePost(post)
22839
22848
  ? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.fileId])) === null || _b === void 0 ? void 0 : _b.data
22840
22849
  : undefined;
22850
+ },
22851
+ getClipInfo() {
22852
+ var _a, _b;
22853
+ return isAmityClipPost(post)
22854
+ ? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.fileId])) === null || _b === void 0 ? void 0 : _b.data
22855
+ : undefined;
22841
22856
  } });
22842
22857
  };
22843
22858
 
@@ -30006,6 +30021,57 @@ const updateAltText = async (fileId, altText) => {
30006
30021
  };
30007
30022
  /* end_public_function */
30008
30023
 
30024
+ /* begin_public_function
30025
+ id: file.upload.clip
30026
+ */
30027
+ /**
30028
+ * ```js
30029
+ * import { FileRepository } from '@amityco/ts-sdk'
30030
+ * const created = await FileRepository.uploadClip(formData)
30031
+ * ```
30032
+ *
30033
+ * Creates an {@link Amity.File}
30034
+ *
30035
+ * @param formData The data necessary to create a new {@link Amity.File}
30036
+ * @param onProgress The callback to track the upload progress
30037
+ * @returns The newly created {@link Amity.File}
30038
+ *
30039
+ * @category File API
30040
+ * @async
30041
+ */
30042
+ const uploadClip = async (formData, feedType, onProgress) => {
30043
+ const client = getActiveClient();
30044
+ client.log('file/uploadClip', formData);
30045
+ const file = formData.get('files');
30046
+ if (!file)
30047
+ throw new Error('The formData object must have a `files` key.');
30048
+ const accessType = GlobalFileAccessType$1.getInstance().getFileAccessType();
30049
+ formData.append('accessType', accessType);
30050
+ formData.append('preferredFilename', file.name);
30051
+ if (feedType) {
30052
+ formData.append('feedType', feedType);
30053
+ }
30054
+ const headers = 'getHeaders' in formData
30055
+ ? formData.getHeaders()
30056
+ : { 'content-type': 'multipart/form-data' };
30057
+ const { data } = await client.upload.post('/api/v4/clips', formData, {
30058
+ headers,
30059
+ onUploadProgress({ loaded, total = 100 }) {
30060
+ onProgress && onProgress(Math.round((loaded * 100) / total));
30061
+ },
30062
+ });
30063
+ // API-FIX: payload should be serialized properly
30064
+ // const { files } = data
30065
+ const cachedAt = client.cache && Date.now();
30066
+ if (client.cache)
30067
+ ingestInCache({ files: data }, { cachedAt });
30068
+ return {
30069
+ data,
30070
+ cachedAt,
30071
+ };
30072
+ };
30073
+ /* end_public_function */
30074
+
30009
30075
  var index$k = /*#__PURE__*/Object.freeze({
30010
30076
  __proto__: null,
30011
30077
  getFile: getFile,
@@ -30014,7 +30080,8 @@ var index$k = /*#__PURE__*/Object.freeze({
30014
30080
  fileUrlWithSize: fileUrlWithSize,
30015
30081
  uploadVideo: uploadVideo,
30016
30082
  uploadImage: uploadImage,
30017
- updateAltText: updateAltText
30083
+ updateAltText: updateAltText,
30084
+ uploadClip: uploadClip
30018
30085
  });
30019
30086
 
30020
30087
  /**
@@ -35882,16 +35949,11 @@ const updateCommunity = async (communityId, patch) => {
35882
35949
  * @category Community API
35883
35950
  * @async
35884
35951
  */
35885
- const getCommunity$1 = async (communityId, type, includeDiscoverablePrivateCommunity) => {
35952
+ const getCommunity$1 = async (communityId) => {
35886
35953
  const client = getActiveClient();
35887
35954
  client.log('community/getCommunity', communityId);
35888
35955
  // API-FIX: endpoint should not be /list, parameters should be querystring.
35889
- const { data: payload } = await client.http.get(`/api/v3/communities/${communityId}`, {
35890
- params: {
35891
- type: 'communityJoinRequest',
35892
- includeDiscoverablePrivateCommunity: includeDiscoverablePrivateCommunity !== null && includeDiscoverablePrivateCommunity !== void 0 ? includeDiscoverablePrivateCommunity : true,
35893
- },
35894
- });
35956
+ const { data: payload } = await client.http.get(`/api/v3/communities/${communityId}`);
35895
35957
  const data = prepareCommunityPayload(payload);
35896
35958
  const cachedAt = client.cache && Date.now();
35897
35959
  if (client.cache) {
@@ -38615,14 +38677,14 @@ var index$a = /*#__PURE__*/Object.freeze({
38615
38677
  const queryGlobalFeed = async (query) => {
38616
38678
  const client = getActiveClient();
38617
38679
  client.log('feed/queryGlobalFeed', query);
38618
- const _a = query !== null && query !== void 0 ? query : {}, { queryToken } = _a, params = __rest(_a, ["queryToken"]);
38680
+ const _a = query !== null && query !== void 0 ? query : {}, { queryToken, dataTypes, resolveParent } = _a, params = __rest(_a, ["queryToken", "dataTypes", "resolveParent"]);
38619
38681
  const options = (() => {
38620
38682
  if (queryToken)
38621
38683
  return { token: queryToken };
38622
38684
  return undefined;
38623
38685
  })();
38624
38686
  const { data: queryPayload } = await client.http.get(`/api/v4/me/global-feeds`, {
38625
- params: Object.assign(Object.assign({}, params), { options }),
38687
+ params: Object.assign(Object.assign({}, params), { dataTypes, resolveParent: resolveParent !== null && resolveParent !== void 0 ? resolveParent : true, options }),
38626
38688
  });
38627
38689
  const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
38628
38690
  const data = prepareMembershipPayload(payload, 'communityUsers');
@@ -39208,6 +39270,46 @@ const isPostFlaggedByMe = async (postId) => {
39208
39270
  };
39209
39271
  /* end_public_function */
39210
39272
 
39273
+ /* begin_public_function
39274
+ id: post.create.clip_post
39275
+ */
39276
+ /**
39277
+ * ```js
39278
+ * import { PostRepository } from '@amityco/ts-sdk'
39279
+ * const created = await PostRepository.createClipPost({
39280
+ * targetType: 'user',
39281
+ * targetId: 'foobar',
39282
+ * dataType: 'clip',
39283
+ * data: { text: 'hello world' },
39284
+ * attachments: [{ type: 'clip', fileId: 'fileId123', displayMode: 'fill', isMuted: false }]
39285
+ * }))
39286
+ * ```
39287
+ *
39288
+ * Creates an {@link Amity.Post}
39289
+ *
39290
+ * @param bundle The data necessary to create a new {@link Amity.Post}
39291
+ * @returns The newly created {@link Amity.Post}
39292
+ *
39293
+ * @category Post API
39294
+ * @async
39295
+ */
39296
+ const createClipPost = async (bundle) => {
39297
+ const client = getActiveClient();
39298
+ client.log('post/createPost', bundle);
39299
+ const { data: payload } = await client.http.post('/api/v4/posts', bundle);
39300
+ fireEvent('post.created', payload);
39301
+ const data = prepareMembershipPayload(payload, 'communityUsers');
39302
+ const cachedAt = client.cache && Date.now();
39303
+ if (client.cache)
39304
+ ingestInCache(data, { cachedAt });
39305
+ const { posts } = data;
39306
+ return {
39307
+ data: LinkedObject.post(posts[0]),
39308
+ cachedAt,
39309
+ };
39310
+ };
39311
+ /* end_public_function */
39312
+
39211
39313
  /* begin_public_function
39212
39314
  id: comment.get_by_ids
39213
39315
  */
@@ -40296,7 +40398,7 @@ class PostPaginationController extends PaginationController {
40296
40398
  type: params.sortBy || queryParams.limit ? 'pagination' : undefined,
40297
40399
  };
40298
40400
  const options = token ? Object.assign(Object.assign({}, baseOptions), { token }) : Object.assign(Object.assign({}, baseOptions), { limit });
40299
- const { data: queryResponse } = await this.http.get(`/api/v4/posts`, {
40401
+ const { data: queryResponse } = await this.http.get(`/api/v5/posts`, {
40300
40402
  params: Object.assign(Object.assign({}, params), { isDeleted: inferIsDeleted(includeDeleted),
40301
40403
  /*
40302
40404
  * when creating post like image, file, video BE will create 2 posts
@@ -41108,6 +41210,7 @@ var index$7 = /*#__PURE__*/Object.freeze({
41108
41210
  flagPost: flagPost,
41109
41211
  unflagPost: unflagPost,
41110
41212
  isPostFlaggedByMe: isPostFlaggedByMe,
41213
+ createClipPost: createClipPost,
41111
41214
  onPostCreated: onPostCreated,
41112
41215
  onPostUpdated: onPostUpdated,
41113
41216
  onPostDeleted: onPostDeleted,
@@ -41927,7 +42030,7 @@ var index$5 = /*#__PURE__*/Object.freeze({
41927
42030
  getPoll: getPoll
41928
42031
  });
41929
42032
 
41930
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
42033
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
41931
42034
  /*
41932
42035
  * The crypto algorithm used for importing key and signing string
41933
42036
  */