@amityco/ts-sdk-react-native 7.25.1-144f8feb.0 → 7.26.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 (32) hide show
  1. package/dist/@types/core/payload.d.ts +1 -0
  2. package/dist/@types/core/payload.d.ts.map +1 -1
  3. package/dist/@types/domains/content.d.ts +6 -1
  4. package/dist/@types/domains/content.d.ts.map +1 -1
  5. package/dist/@types/domains/file.d.ts +2 -11
  6. package/dist/@types/domains/file.d.ts.map +1 -1
  7. package/dist/@types/domains/post.d.ts +3 -0
  8. package/dist/@types/domains/post.d.ts.map +1 -1
  9. package/dist/fileRepository/api/getFile.d.ts.map +1 -1
  10. package/dist/fileRepository/api/uploadImage.d.ts.map +1 -1
  11. package/dist/fileRepository/api/uploadVideo.d.ts.map +1 -1
  12. package/dist/index.cjs.js +112 -26
  13. package/dist/index.esm.js +112 -26
  14. package/dist/index.umd.js +1 -1
  15. package/dist/messagePreview/utils/getSubChannelMessagePreviewWithUser.d.ts +1 -1
  16. package/dist/postRepository/api/createEventPost.d.ts +36 -0
  17. package/dist/postRepository/api/createEventPost.d.ts.map +1 -0
  18. package/dist/postRepository/api/index.d.ts +1 -0
  19. package/dist/postRepository/api/index.d.ts.map +1 -1
  20. package/dist/postRepository/api/tests/integration/setup.d.ts +1 -0
  21. package/dist/postRepository/api/tests/integration/setup.d.ts.map +1 -1
  22. package/dist/utils/linkedObject/index.d.ts +0 -1
  23. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  24. package/dist/utils/linkedObject/postLinkedObject.d.ts.map +1 -1
  25. package/dist/utils/postTypePredicate.d.ts +1 -0
  26. package/dist/utils/postTypePredicate.d.ts.map +1 -1
  27. package/dist/utils/tests/dummy/comment.d.ts +1 -1
  28. package/dist/utils/tests/dummy/file.d.ts.map +1 -1
  29. package/dist/utils/tests/dummy/post.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/utils/linkedObject/fileLinkedObject.d.ts +0 -2
  32. package/dist/utils/linkedObject/fileLinkedObject.d.ts.map +0 -1
package/dist/index.esm.js CHANGED
@@ -148,6 +148,7 @@ const PostContentType = Object.freeze({
148
148
  CLIP: 'clip',
149
149
  AUDIO: 'audio',
150
150
  ROOM: 'room',
151
+ EVENT: 'event',
151
152
  });
152
153
  const PostStructureType = Object.freeze({
153
154
  TEXT: 'text',
@@ -156,6 +157,7 @@ const PostStructureType = Object.freeze({
156
157
  FILE: 'file',
157
158
  AUDIO: 'audio',
158
159
  MIXED: 'mixed',
160
+ EVENT: 'event',
159
161
  });
160
162
 
161
163
  var InvitationTypeEnum;
@@ -308,8 +310,8 @@ var NotificationRolesFilterTypeEnum;
308
310
 
309
311
  function getVersion() {
310
312
  try {
311
- // the string ''v7.25.0-esm'' should be replaced by actual value by @rollup/plugin-replace
312
- return 'v7.25.0-esm';
313
+ // the string ''v7.26.0-esm'' should be replaced by actual value by @rollup/plugin-replace
314
+ return 'v7.26.0-esm';
313
315
  }
314
316
  catch (error) {
315
317
  return '__dev__';
@@ -12510,6 +12512,9 @@ function isAmityRoomPost(post) {
12510
12512
  'roomId' in post.data &&
12511
12513
  post.dataType === 'room');
12512
12514
  }
12515
+ function isAmityEventPost(post) {
12516
+ return post.dataType === 'event' || post.structureType === 'event';
12517
+ }
12513
12518
 
12514
12519
  /**
12515
12520
  * ```js
@@ -12621,7 +12626,7 @@ const getWatchSessionStorage = () => {
12621
12626
  return storageInstance;
12622
12627
  };
12623
12628
 
12624
- 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-----";
12629
+ 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-----";
12625
12630
  /*
12626
12631
  * The crypto algorithm used for importing key and signing string
12627
12632
  */
@@ -13049,21 +13054,6 @@ const productTagLinkedObject = (productTag) => {
13049
13054
  return Object.assign(Object.assign({}, productTag), { product: internalProduct ? productLinkedObject(internalProduct) : undefined });
13050
13055
  };
13051
13056
 
13052
- const fileLinkedObject = (file) => {
13053
- var _a, _b, _c;
13054
- if (!file)
13055
- return file;
13056
- if (file.type === 'video') {
13057
- const video = (_b = (_a = file.attributes) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.video;
13058
- return Object.assign(Object.assign({}, file), { getWidth: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.width) !== null && _a !== void 0 ? _a : 0; }, getHeight: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.height) !== null && _a !== void 0 ? _a : 0; }, getRotation: () => { var _a; return (_a = video === null || video === void 0 ? void 0 : video.rotation) !== null && _a !== void 0 ? _a : 0; } });
13059
- }
13060
- if (file.type === 'image') {
13061
- const metadata = (_c = file.attributes) === null || _c === void 0 ? void 0 : _c.metadata;
13062
- return Object.assign(Object.assign({}, file), { getWidth: () => { var _a; return (_a = metadata === null || metadata === void 0 ? void 0 : metadata.width) !== null && _a !== void 0 ? _a : 0; }, getHeight: () => { var _a; return (_a = metadata === null || metadata === void 0 ? void 0 : metadata.height) !== null && _a !== void 0 ? _a : 0; } });
13063
- }
13064
- return file;
13065
- };
13066
-
13067
13057
  const postLinkedObject = (post) => {
13068
13058
  return shallowClone(post, {
13069
13059
  childrenPosts: post.children
@@ -13121,19 +13111,19 @@ const postLinkedObject = (post) => {
13121
13111
  getImageInfo() {
13122
13112
  var _a, _b;
13123
13113
  return isAmityImagePost(post)
13124
- ? fileLinkedObject((_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)
13114
+ ? (_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
13125
13115
  : undefined;
13126
13116
  },
13127
13117
  getVideoInfo() {
13128
13118
  var _a, _b, _c;
13129
13119
  return isAmityVideoPost(post)
13130
- ? fileLinkedObject((_c = pullFromCache(['file', 'get', (_b = (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.videoFileId) === null || _b === void 0 ? void 0 : _b.original])) === null || _c === void 0 ? void 0 : _c.data)
13120
+ ? (_c = pullFromCache(['file', 'get', (_b = (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.videoFileId) === null || _b === void 0 ? void 0 : _b.original])) === null || _c === void 0 ? void 0 : _c.data
13131
13121
  : undefined;
13132
13122
  },
13133
13123
  getVideoThumbnailInfo() {
13134
13124
  var _a, _b;
13135
13125
  return isAmityVideoPost(post)
13136
- ? fileLinkedObject((_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.thumbnailFileId])) === null || _b === void 0 ? void 0 : _b.data)
13126
+ ? (_b = pullFromCache(['file', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.thumbnailFileId])) === null || _b === void 0 ? void 0 : _b.data
13137
13127
  : undefined;
13138
13128
  },
13139
13129
  getFileInfo() {
@@ -13183,6 +13173,57 @@ const postLinkedObject = (post) => {
13183
13173
  const room = (_b = pullFromCache(['room', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.roomId])) === null || _b === void 0 ? void 0 : _b.data;
13184
13174
  return room ? roomLinkedObject(room) : undefined;
13185
13175
  },
13176
+ getEventInfo() {
13177
+ var _a, _b;
13178
+ if (!isAmityEventPost(post))
13179
+ return;
13180
+ const readEventId = (data) => {
13181
+ if (data && typeof data === 'object' && 'eventId' in data) {
13182
+ const value = data.eventId;
13183
+ return typeof value === 'string' ? value : undefined;
13184
+ }
13185
+ return undefined;
13186
+ };
13187
+ const parentEventId = readEventId(post.data);
13188
+ const eventId = parentEventId !== null && parentEventId !== void 0 ? parentEventId : (_a = post.children) === null || _a === void 0 ? void 0 : _a.map(childId => { var _a; return (_a = pullFromCache(['post', 'get', childId])) === null || _a === void 0 ? void 0 : _a.data; }).map(child => readEventId(child === null || child === void 0 ? void 0 : child.data)).find(Boolean);
13189
+ if (!eventId)
13190
+ return;
13191
+ const event = (_b = pullFromCache(['event', 'get', eventId])) === null || _b === void 0 ? void 0 : _b.data;
13192
+ if (!event)
13193
+ return;
13194
+ // Inlined event linked-object construction. Calling eventLinkedObject()
13195
+ // here would create a static import cycle (eventLinkObject already
13196
+ // imports postLinkedObject for its `event.post` getter). Snapshot
13197
+ // consumers get the raw event fields plus the getters they need for the
13198
+ // in-post event card (creator, targetCommunity, coverImage, room). The
13199
+ // full linked-object surface — including RSVP methods and `event.post` —
13200
+ // is available via EventRepository.getEvent(eventId).
13201
+ return Object.assign(Object.assign({}, event), { get creator() {
13202
+ const cacheData = pullFromCache(['user', 'get', event.userId]);
13203
+ if (!(cacheData === null || cacheData === void 0 ? void 0 : cacheData.data))
13204
+ return undefined;
13205
+ return userLinkedObject(cacheData.data);
13206
+ },
13207
+ get targetCommunity() {
13208
+ var _a;
13209
+ if (!event.originId)
13210
+ return undefined;
13211
+ const cacheData = (_a = pullFromCache([
13212
+ 'community',
13213
+ 'get',
13214
+ event.originId,
13215
+ ])) === null || _a === void 0 ? void 0 : _a.data;
13216
+ if (!cacheData)
13217
+ return undefined;
13218
+ return communityLinkedObject(cacheData);
13219
+ },
13220
+ get coverImage() {
13221
+ var _a;
13222
+ if (!event.coverImageFileId)
13223
+ return undefined;
13224
+ return (_a = pullFromCache(['file', 'get', event.coverImageFileId])) === null || _a === void 0 ? void 0 : _a.data;
13225
+ } });
13226
+ },
13186
13227
  });
13187
13228
  };
13188
13229
 
@@ -14073,7 +14114,6 @@ const eventLinkedObject = (event) => {
14073
14114
  };
14074
14115
 
14075
14116
  const LinkedObject = {
14076
- file: fileLinkedObject,
14077
14117
  ad: adLinkedObject,
14078
14118
  comment: commentLinkedObject,
14079
14119
  post: postLinkedObject,
@@ -15421,7 +15461,7 @@ const getFile = async (fileId) => {
15421
15461
  if (client.cache)
15422
15462
  ingestInCache({ files: [data] }, { cachedAt });
15423
15463
  return {
15424
- data: fileLinkedObject(data),
15464
+ data,
15425
15465
  cachedAt,
15426
15466
  };
15427
15467
  };
@@ -15448,7 +15488,7 @@ getFile.locally = (fileId) => {
15448
15488
  if (!cached)
15449
15489
  return;
15450
15490
  return {
15451
- data: fileLinkedObject(cached.data),
15491
+ data: cached.data,
15452
15492
  cachedAt: cached.cachedAt,
15453
15493
  };
15454
15494
  };
@@ -15585,7 +15625,7 @@ const uploadVideo = async (formData, feedType, onProgress) => {
15585
15625
  if (client.cache)
15586
15626
  ingestInCache({ files: data }, { cachedAt });
15587
15627
  return {
15588
- data: data.map(file => fileLinkedObject(file)),
15628
+ data,
15589
15629
  cachedAt,
15590
15630
  };
15591
15631
  };
@@ -15646,7 +15686,7 @@ const uploadImage = async (formData, onProgress, altText) => {
15646
15686
  if (client.cache)
15647
15687
  ingestInCache({ files: data }, { cachedAt });
15648
15688
  return {
15649
- data: data.map(file => fileLinkedObject(file)),
15689
+ data,
15650
15690
  cachedAt,
15651
15691
  };
15652
15692
  };
@@ -28497,6 +28537,51 @@ const createRoomPost = async (bundle) => {
28497
28537
  };
28498
28538
  /* end_public_function */
28499
28539
 
28540
+ /* begin_public_function
28541
+ id: post.create.event_post
28542
+ */
28543
+ /**
28544
+ * ```js
28545
+ * import { PostRepository } from '@amityco/ts-sdk'
28546
+ * const created = await PostRepository.createEventPost({
28547
+ * targetType: 'community',
28548
+ * targetId: 'communityId',
28549
+ * data: { eventId: 'eventId123', title: 'Summer Meetup', text: 'Come say hi' }
28550
+ * })
28551
+ * ```
28552
+ *
28553
+ * Creates an event {@link Amity.Post} — a post whose content is an event.
28554
+ * The parent post carries the author's caption; the referenced event is
28555
+ * resolved via `post.getEventInfo()`.
28556
+ *
28557
+ * `data.eventId` is REQUIRED; `title` and `text` are OPTIONAL — both blank is
28558
+ * valid and yields a bare event card.
28559
+ *
28560
+ * Media attachments and product tags are rejected by the backend with 400.
28561
+ *
28562
+ * @param bundle The data necessary to create a new event {@link Amity.Post}
28563
+ * @returns The newly created {@link Amity.Post}
28564
+ *
28565
+ * @category Post API
28566
+ * @async
28567
+ */
28568
+ const createEventPost = async (bundle) => {
28569
+ const client = getActiveClient();
28570
+ client.log('post/createEventPost', bundle);
28571
+ const { data: payload } = await client.http.post('/api/v4/posts', Object.assign(Object.assign({}, bundle), { dataType: 'event' }));
28572
+ fireEvent('post.created', payload);
28573
+ const data = preparePostPayload(payload);
28574
+ const cachedAt = client.cache && Date.now();
28575
+ if (client.cache)
28576
+ ingestInCache(data, { cachedAt });
28577
+ const { posts } = data;
28578
+ return {
28579
+ data: LinkedObject.post(posts[0]),
28580
+ cachedAt,
28581
+ };
28582
+ };
28583
+ /* end_public_function */
28584
+
28500
28585
  /* begin_public_function
28501
28586
  id: post.pin_product
28502
28587
  */
@@ -31228,6 +31313,7 @@ var index$b = /*#__PURE__*/Object.freeze({
31228
31313
  createAudioPost: createAudioPost,
31229
31314
  createMixedMediaPost: createMixedMediaPost,
31230
31315
  createRoomPost: createRoomPost,
31316
+ createEventPost: createEventPost,
31231
31317
  pinProduct: pinProduct,
31232
31318
  unpinProduct: unpinProduct,
31233
31319
  updateProductTags: updateProductTags,