@amityco/ts-sdk 7.11.1-6441c7e7.0 → 7.11.1-6905f391.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 (37) hide show
  1. package/dist/@types/core/transport.d.ts +3 -0
  2. package/dist/@types/core/transport.d.ts.map +1 -1
  3. package/dist/@types/domains/event.d.ts +8 -6
  4. package/dist/@types/domains/event.d.ts.map +1 -1
  5. package/dist/eventRepository/api/createEvent.d.ts +2 -2
  6. package/dist/eventRepository/api/deleteEvent.d.ts +15 -0
  7. package/dist/eventRepository/api/deleteEvent.d.ts.map +1 -0
  8. package/dist/eventRepository/api/index.d.ts +2 -0
  9. package/dist/eventRepository/api/index.d.ts.map +1 -1
  10. package/dist/eventRepository/api/updateEvent.d.ts +17 -0
  11. package/dist/eventRepository/api/updateEvent.d.ts.map +1 -0
  12. package/dist/eventRepository/events/index.d.ts +4 -0
  13. package/dist/eventRepository/events/index.d.ts.map +1 -0
  14. package/dist/eventRepository/events/onEventCreated.d.ts +17 -0
  15. package/dist/eventRepository/events/onEventCreated.d.ts.map +1 -0
  16. package/dist/eventRepository/events/onEventDeleted.d.ts +17 -0
  17. package/dist/eventRepository/events/onEventDeleted.d.ts.map +1 -0
  18. package/dist/eventRepository/events/onEventUpdated.d.ts +17 -0
  19. package/dist/eventRepository/events/onEventUpdated.d.ts.map +1 -0
  20. package/dist/eventRepository/index.d.ts +2 -0
  21. package/dist/eventRepository/index.d.ts.map +1 -1
  22. package/dist/eventRepository/internalApi/getEvent.d.ts +32 -0
  23. package/dist/eventRepository/internalApi/getEvent.d.ts.map +1 -0
  24. package/dist/eventRepository/internalApi/index.d.ts +2 -0
  25. package/dist/eventRepository/internalApi/index.d.ts.map +1 -0
  26. package/dist/eventRepository/observers/getEvent.d.ts +21 -0
  27. package/dist/eventRepository/observers/getEvent.d.ts.map +1 -0
  28. package/dist/eventRepository/observers/index.d.ts +2 -0
  29. package/dist/eventRepository/observers/index.d.ts.map +1 -0
  30. package/dist/eventRepository/utils/createEventEventSubscriber.d.ts +2 -0
  31. package/dist/eventRepository/utils/createEventEventSubscriber.d.ts.map +1 -0
  32. package/dist/eventRepository/utils/index.d.ts +1 -0
  33. package/dist/eventRepository/utils/index.d.ts.map +1 -1
  34. package/dist/index.cjs.js +236 -4
  35. package/dist/index.esm.js +236 -4
  36. package/dist/index.umd.js +1 -1
  37. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -46433,13 +46433,33 @@ 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
  */
46439
46459
  /**
46440
46460
  * ```js
46441
- * import { createEvent } from '@amityco/ts-sdk'
46442
- * const created = await createEvent(bundle)
46461
+ * import { EventRepository } from '@amityco/ts-sdk'
46462
+ * const response = await EventRepository.createEvent(bundle)
46443
46463
  * ```
46444
46464
  *
46445
46465
  * Creates an {@link Amity.Event}
@@ -46454,11 +46474,11 @@ const createEvent = async (bundle) => {
46454
46474
  const client = getActiveClient();
46455
46475
  client.log('event/createEvent', bundle);
46456
46476
  const { data: payload } = await client.http.post('/api/v1/events', bundle);
46477
+ fireEvent('event.created', payload);
46457
46478
  const preparedPayload = prepareEventPayload(payload);
46458
46479
  const cachedAt = client.cache && Date.now();
46459
46480
  if (client.cache)
46460
46481
  ingestInCache(preparedPayload, { cachedAt });
46461
- fireEvent('event.created', preparedPayload);
46462
46482
  return {
46463
46483
  data: eventLinkedObject(preparedPayload.events[0]),
46464
46484
  cachedAt,
@@ -46466,9 +46486,221 @@ const createEvent = async (bundle) => {
46466
46486
  };
46467
46487
  /* end_public_function */
46468
46488
 
46489
+ /* begin_public_function
46490
+ id: event.update
46491
+ */
46492
+ /**
46493
+ * ```js
46494
+ * import { EventRepository } from '@amityco/ts-sdk'
46495
+ * const response = await EventRepository.updateEvent(eventId, bundle)
46496
+ * ```
46497
+ *
46498
+ * Updates an {@link Amity.Event}
46499
+ *
46500
+ * @param eventId The ID of the {@link Amity.Event} to edit
46501
+ * @param bundle The data necessary to update an existing {@link Amity.Event}
46502
+ * @returns the updated {@link Amity.Event}
46503
+ *
46504
+ * @category Event API
46505
+ * @async
46506
+ */
46507
+ const updateEvent = async (eventId, bundle) => {
46508
+ const client = getActiveClient();
46509
+ client.log('event/updateEvent', eventId, bundle);
46510
+ const { data: payload } = await client.http.put(`/api/v1/events/${eventId}`, bundle);
46511
+ fireEvent('event.updated', payload);
46512
+ const preparedPayload = prepareEventPayload(payload);
46513
+ const cachedAt = client.cache && Date.now();
46514
+ if (client.cache)
46515
+ ingestInCache(preparedPayload, { cachedAt });
46516
+ return {
46517
+ data: eventLinkedObject(preparedPayload.events.find(event => event.eventId === eventId)),
46518
+ cachedAt,
46519
+ };
46520
+ };
46521
+ /* end_public_function */
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
+ *
46594
+ * @category Event API
46595
+ * @async
46596
+ */
46597
+ const deleteEvent = async (eventId) => {
46598
+ const client = getActiveClient();
46599
+ client.log('event/deleteEvent', eventId);
46600
+ const event = await getEvent$1(eventId);
46601
+ await client.http.delete(`/api/v3/events/${eventId}`);
46602
+ const deletedEvent = Object.assign(Object.assign({}, event.data), { isDeleted: true });
46603
+ upsertInCache(['event', 'get', eventId], deletedEvent);
46604
+ fireEvent('event.deleted', {
46605
+ users: [],
46606
+ files: [],
46607
+ communities: [],
46608
+ videoStreamings: [],
46609
+ events: [deletedEvent],
46610
+ discussionCommunities: [],
46611
+ });
46612
+ };
46613
+ /* end_public_function */
46614
+
46615
+ /**
46616
+ * ```js
46617
+ * import { EventRepository } from '@amityco/ts-sdk'
46618
+ * const dispose = EventRepository.onEventCreated(event => {
46619
+ * // ...
46620
+ * })
46621
+ * ```
46622
+ *
46623
+ * Fired when a {@link Amity.Event} has been created
46624
+ *
46625
+ * @param callback The function to call when the event was fired
46626
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46627
+ *
46628
+ * @category Event Events
46629
+ */
46630
+ const onEventCreated = (callback) => createEventEventSubscriber('event.created', callback);
46631
+
46632
+ /**
46633
+ * ```js
46634
+ * import { EventRepository } from '@amityco/ts-sdk'
46635
+ * const dispose = EventRepository.onEventUpdated(event => {
46636
+ * // ...
46637
+ * })
46638
+ * ```
46639
+ *
46640
+ * Fired when a {@link Amity.Event} has been updated
46641
+ *
46642
+ * @param callback The function to call when the event was fired
46643
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46644
+ *
46645
+ * @category Event Events
46646
+ */
46647
+ const onEventUpdated = (callback) => createEventEventSubscriber('event.updated', callback);
46648
+
46649
+ /**
46650
+ * ```js
46651
+ * import { EventRepository } from '@amityco/ts-sdk'
46652
+ * const dispose = EventRepository.onEventDeleted(event => {
46653
+ * // ...
46654
+ * })
46655
+ * ```
46656
+ *
46657
+ * Fired when a {@link Amity.Event} has been deleted
46658
+ *
46659
+ * @param callback The function to call when the event was fired
46660
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
46661
+ *
46662
+ * @category Event Events
46663
+ */
46664
+ const onEventDeleted = (callback) => createEventEventSubscriber('event.deleted', callback);
46665
+
46666
+ /* begin_public_function
46667
+ id: event.get
46668
+ */
46669
+ /**
46670
+ * ```js
46671
+ * import { EventRepository } from '@amityco/ts-sdk';
46672
+ *
46673
+ * let event;
46674
+ *
46675
+ * const unsubscribe = EventRepository.getEvent(eventId, response => {
46676
+ * event = response.data;
46677
+ * });
46678
+ * ```
46679
+ *
46680
+ * Observe all mutation on a given {@link Amity.Event}
46681
+ *
46682
+ * @param eventId the ID of the event to observe
46683
+ * @param callback the function to call when new snapshot of event are available
46684
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the event
46685
+ *
46686
+ * @category Event Live Object
46687
+ */
46688
+ const getEvent = (eventId, callback) => {
46689
+ return liveObject(eventId, callback, 'eventId', getEvent$1, [onEventCreated, onEventUpdated, onEventDeleted], {
46690
+ callbackDataSelector: (data) => (data ? eventLinkedObject(data) : data),
46691
+ });
46692
+ };
46693
+ /* end_public_function */
46694
+
46469
46695
  var index = /*#__PURE__*/Object.freeze({
46470
46696
  __proto__: null,
46471
- createEvent: createEvent
46697
+ createEvent: createEvent,
46698
+ updateEvent: updateEvent,
46699
+ deleteEvent: deleteEvent,
46700
+ onEventCreated: onEventCreated,
46701
+ onEventUpdated: onEventUpdated,
46702
+ onEventDeleted: onEventDeleted,
46703
+ getEvent: getEvent
46472
46704
  });
46473
46705
 
46474
46706
  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 };