@amityco/ts-sdk 7.11.1-35f804e0.0 → 7.11.1-38ad45e1.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/transport.d.ts +4 -1
  2. package/dist/@types/core/transport.d.ts.map +1 -1
  3. package/dist/eventRepository/api/deleteEvent.d.ts +16 -0
  4. package/dist/eventRepository/api/deleteEvent.d.ts.map +1 -0
  5. package/dist/eventRepository/api/index.d.ts +1 -0
  6. package/dist/eventRepository/api/index.d.ts.map +1 -1
  7. package/dist/eventRepository/events/index.d.ts +4 -0
  8. package/dist/eventRepository/events/index.d.ts.map +1 -0
  9. package/dist/eventRepository/events/onEventCreated.d.ts +17 -0
  10. package/dist/eventRepository/events/onEventCreated.d.ts.map +1 -0
  11. package/dist/eventRepository/events/onEventDeleted.d.ts +17 -0
  12. package/dist/eventRepository/events/onEventDeleted.d.ts.map +1 -0
  13. package/dist/eventRepository/events/onEventUpdated.d.ts +17 -0
  14. package/dist/eventRepository/events/onEventUpdated.d.ts.map +1 -0
  15. package/dist/eventRepository/index.d.ts +2 -0
  16. package/dist/eventRepository/index.d.ts.map +1 -1
  17. package/dist/eventRepository/internalApi/getEvent.d.ts +32 -0
  18. package/dist/eventRepository/internalApi/getEvent.d.ts.map +1 -0
  19. package/dist/eventRepository/internalApi/index.d.ts +2 -0
  20. package/dist/eventRepository/internalApi/index.d.ts.map +1 -0
  21. package/dist/eventRepository/observers/getEvent.d.ts +21 -0
  22. package/dist/eventRepository/observers/getEvent.d.ts.map +1 -0
  23. package/dist/eventRepository/observers/index.d.ts +2 -0
  24. package/dist/eventRepository/observers/index.d.ts.map +1 -0
  25. package/dist/eventRepository/utils/createEventEventSubscriber.d.ts +2 -0
  26. package/dist/eventRepository/utils/createEventEventSubscriber.d.ts.map +1 -0
  27. package/dist/eventRepository/utils/index.d.ts +1 -0
  28. package/dist/eventRepository/utils/index.d.ts.map +1 -1
  29. package/dist/index.cjs.js +199 -1
  30. package/dist/index.esm.js +199 -1
  31. package/dist/index.umd.js +1 -1
  32. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -46433,6 +46433,26 @@ const prepareEventPayload = (rawPayload) => {
46433
46433
  return Object.assign(Object.assign({}, rawPayload), { users: rawPayload.users.map(convertRawUserToInternalUser) });
46434
46434
  };
46435
46435
 
46436
+ const createEventEventSubscriber = (event, callback) => {
46437
+ const client = getActiveClient();
46438
+ const filter = (payload) => {
46439
+ const unpackedPayload = prepareEventPayload(payload);
46440
+ if (!client.cache) {
46441
+ callback(unpackedPayload.events[0]);
46442
+ }
46443
+ else {
46444
+ ingestInCache(unpackedPayload);
46445
+ const event = pullFromCache([
46446
+ 'event',
46447
+ 'get',
46448
+ unpackedPayload.events[0].eventId,
46449
+ ]);
46450
+ callback(event.data);
46451
+ }
46452
+ };
46453
+ return createEventSubscriber(client, event, event, filter);
46454
+ };
46455
+
46436
46456
  /* begin_public_function
46437
46457
  id: event.create
46438
46458
  */
@@ -46500,10 +46520,188 @@ const updateEvent = async (eventId, bundle) => {
46500
46520
  };
46501
46521
  /* end_public_function */
46502
46522
 
46523
+ /* begin_public_function
46524
+ id: event.get
46525
+ */
46526
+ /**
46527
+ * ```js
46528
+ * import { EventRepository } from '@amityco/ts-sdk'
46529
+ * const event = await EventRepository.getEvent(eventId)
46530
+ * ```
46531
+ *
46532
+ * Fetches a {@link Amity.Event} object
46533
+ *
46534
+ * @param eventId the ID of the {@link Amity.Event} to fetch
46535
+ * @returns the associated {@link Amity.Event} object
46536
+ *
46537
+ * @category Event API
46538
+ * @async
46539
+ */
46540
+ const getEvent$1 = async (eventId) => {
46541
+ const client = getActiveClient();
46542
+ client.log('event/getEvent', eventId);
46543
+ const { data: payload } = await client.http.get(`/api/v3/events/${eventId}`);
46544
+ const data = prepareEventPayload(payload);
46545
+ const cachedAt = client.cache && Date.now();
46546
+ if (client.cache)
46547
+ ingestInCache(data, { cachedAt });
46548
+ return {
46549
+ data: data.events.find(event => event.eventId === eventId),
46550
+ cachedAt,
46551
+ };
46552
+ };
46553
+ /* end_public_function */
46554
+ /**
46555
+ * ```js
46556
+ * import { EventRepository } from '@amityco/ts-sdk'
46557
+ * const event = EventRepository.getEvent.locally(eventId)
46558
+ * ```
46559
+ *
46560
+ * Fetches a {@link Amity.Event} object in cache
46561
+ *
46562
+ * @param eventId the ID of the {@link Amity.Event} to fetch
46563
+ * @returns the associated {@link Amity.Event} object
46564
+ *
46565
+ * @category Event API
46566
+ */
46567
+ getEvent$1.locally = (eventId) => {
46568
+ const client = getActiveClient();
46569
+ client.log('event/getEvent.locally', eventId);
46570
+ if (!client.cache)
46571
+ return;
46572
+ const cache = pullFromCache(['event', 'get', eventId]);
46573
+ if (!cache)
46574
+ return;
46575
+ return {
46576
+ data: cache.data,
46577
+ cachedAt: cache.cachedAt,
46578
+ };
46579
+ };
46580
+
46581
+ /* begin_public_function
46582
+ id: event.delete
46583
+ */
46584
+ /**
46585
+ * ```js
46586
+ * import { EventRepository } from '@amityco/ts-sdk'
46587
+ * const { success } = await EventRepository.deleteEvent(eventId)
46588
+ * ```
46589
+ *
46590
+ * Deletes a {@link Amity.Event}
46591
+ *
46592
+ * @param eventId The {@link Amity.Event} ID to delete
46593
+ * @return A success boolean if the {@link Amity.Event} was deleted
46594
+ *
46595
+ * @category Event API
46596
+ * @async
46597
+ */
46598
+ const deleteEvent = async (eventId) => {
46599
+ const client = getActiveClient();
46600
+ client.log('event/deleteEvent', eventId);
46601
+ const event = await getEvent$1(eventId);
46602
+ const { data } = await client.http.delete(`/api/v3/events/${eventId}`);
46603
+ const deletedEvent = Object.assign(Object.assign({}, event.data), { isDeleted: data.success });
46604
+ upsertInCache(['event', 'get', eventId], deletedEvent);
46605
+ fireEvent('event.deleted', {
46606
+ users: [],
46607
+ files: [],
46608
+ communities: [],
46609
+ videoStreamings: [],
46610
+ events: [deletedEvent],
46611
+ discussionCommunities: [],
46612
+ });
46613
+ };
46614
+ /* end_public_function */
46615
+
46616
+ /**
46617
+ * ```js
46618
+ * import { EventRepository } from '@amityco/ts-sdk'
46619
+ * const dispose = EventRepository.onEventCreated(event => {
46620
+ * // ...
46621
+ * })
46622
+ * ```
46623
+ *
46624
+ * Fired when a {@link Amity.Event} has been created
46625
+ *
46626
+ * @param callback The function to call when the event was fired
46627
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46628
+ *
46629
+ * @category Event Events
46630
+ */
46631
+ const onEventCreated = (callback) => createEventEventSubscriber('event.created', callback);
46632
+
46633
+ /**
46634
+ * ```js
46635
+ * import { EventRepository } from '@amityco/ts-sdk'
46636
+ * const dispose = EventRepository.onEventUpdated(event => {
46637
+ * // ...
46638
+ * })
46639
+ * ```
46640
+ *
46641
+ * Fired when a {@link Amity.Event} has been updated
46642
+ *
46643
+ * @param callback The function to call when the event was fired
46644
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46645
+ *
46646
+ * @category Event Events
46647
+ */
46648
+ const onEventUpdated = (callback) => createEventEventSubscriber('event.updated', callback);
46649
+
46650
+ /**
46651
+ * ```js
46652
+ * import { EventRepository } from '@amityco/ts-sdk'
46653
+ * const dispose = EventRepository.onEventDeleted(event => {
46654
+ * // ...
46655
+ * })
46656
+ * ```
46657
+ *
46658
+ * Fired when a {@link Amity.Event} has been deleted
46659
+ *
46660
+ * @param callback The function to call when the event was fired
46661
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46662
+ *
46663
+ * @category Event Events
46664
+ */
46665
+ const onEventDeleted = (callback) => createEventEventSubscriber('event.deleted', callback);
46666
+
46667
+ /* begin_public_function
46668
+ id: event.get
46669
+ */
46670
+ /**
46671
+ * ```js
46672
+ * import { EventRepository } from '@amityco/ts-sdk';
46673
+ *
46674
+ * let event;
46675
+ *
46676
+ * const unsubscribe = EventRepository.getEvent(eventId, response => {
46677
+ * event = response.data;
46678
+ * });
46679
+ * ```
46680
+ *
46681
+ * Observe all mutation on a given {@link Amity.Event}
46682
+ *
46683
+ * @param eventId the ID of the event to observe
46684
+ * @param callback the function to call when new snapshot of event are available
46685
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the event
46686
+ *
46687
+ * @category Event Live Object
46688
+ */
46689
+ const getEvent = (eventId, callback) => {
46690
+ return liveObject(eventId, callback, 'eventId', getEvent$1, [onEventCreated, onEventUpdated, onEventDeleted], {
46691
+ callbackDataSelector: (data) => (data ? eventLinkedObject(data) : data),
46692
+ });
46693
+ };
46694
+ /* end_public_function */
46695
+
46503
46696
  var index = /*#__PURE__*/Object.freeze({
46504
46697
  __proto__: null,
46505
46698
  createEvent: createEvent,
46506
- updateEvent: updateEvent
46699
+ updateEvent: updateEvent,
46700
+ deleteEvent: deleteEvent,
46701
+ onEventCreated: onEventCreated,
46702
+ onEventUpdated: onEventUpdated,
46703
+ onEventDeleted: onEventDeleted,
46704
+ getEvent: getEvent
46507
46705
  });
46508
46706
 
46509
46707
  export { API_REGIONS, index$4 as AdRepository, AmityEventOriginType, AmityEventStatus, AmityEventType, index$c as CategoryRepository, index$g as ChannelRepository, index$p as Client, index$b as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$d as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index as EventRepository, FeedDataTypeEnum, index$a as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$m as FileRepository, FileType, GET_WATCHER_URLS, index$2 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$1 as LiveReactionRepository, index$6 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$k as MessageRepository, index$7 as PollRepository, PostContentType, index$9 as PostRepository, PostStructureType, index$l as ReactionRepository, index$5 as StoryRepository, index$8 as StreamRepository, index$j as SubChannelRepository, SubscriptionLevels, index$n as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$3 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };