@amityco/ts-sdk 7.10.0 → 7.10.1-8b116307.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 (99) hide show
  1. package/.env +26 -26
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/events.d.ts +32 -2
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/events.d.ts.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/events.js.map +1 -1
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/model.d.ts +2 -0
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/model.d.ts.map +1 -1
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/model.js.map +1 -1
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +13 -0
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/event.d.ts +55 -0
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/event.d.ts.map +1 -0
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/event.js +18 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/event.js.map +1 -0
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/events.d.ts +3 -3
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/core/events.d.ts.map +1 -1
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/createEvent.d.ts +16 -0
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/createEvent.d.ts.map +1 -0
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/createEvent.js +38 -0
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/createEvent.js.map +1 -0
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/index.d.ts +2 -0
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/index.d.ts.map +1 -0
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/index.js +2 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/api/index.js.map +1 -0
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/index.d.ts +2 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/index.d.ts.map +1 -0
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/index.js +2 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/index.js.map +1 -0
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/index.d.ts +2 -0
  34. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/index.d.ts.map +1 -0
  35. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/index.js +2 -0
  36. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/index.js.map +1 -0
  37. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/prepareEventPayload.d.ts +2 -0
  38. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/prepareEventPayload.d.ts.map +1 -0
  39. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/prepareEventPayload.js +5 -0
  40. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/eventRepository/utils/prepareEventPayload.js.map +1 -0
  41. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/index.d.ts +1 -0
  42. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/index.d.ts.map +1 -1
  43. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/index.js +1 -0
  44. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/index.js.map +1 -1
  45. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/eventLinkObject.d.ts +2 -0
  46. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/eventLinkObject.d.ts.map +1 -0
  47. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/eventLinkObject.js +28 -0
  48. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/eventLinkObject.js.map +1 -0
  49. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/index.d.ts +1 -0
  50. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/index.d.ts.map +1 -1
  51. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/index.js +2 -0
  52. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/index.js.map +1 -1
  53. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  54. package/dist/@types/core/events.d.ts +32 -2
  55. package/dist/@types/core/events.d.ts.map +1 -1
  56. package/dist/@types/core/model.d.ts +2 -0
  57. package/dist/@types/core/model.d.ts.map +1 -1
  58. package/dist/@types/core/payload.d.ts +13 -0
  59. package/dist/@types/core/payload.d.ts.map +1 -1
  60. package/dist/@types/domains/event.d.ts +55 -0
  61. package/dist/@types/domains/event.d.ts.map +1 -0
  62. package/dist/@types/index.d.ts +1 -0
  63. package/dist/@types/index.d.ts.map +1 -1
  64. package/dist/core/events.d.ts +3 -3
  65. package/dist/core/events.d.ts.map +1 -1
  66. package/dist/eventRepository/api/createEvent.d.ts +16 -0
  67. package/dist/eventRepository/api/createEvent.d.ts.map +1 -0
  68. package/dist/eventRepository/api/index.d.ts +2 -0
  69. package/dist/eventRepository/api/index.d.ts.map +1 -0
  70. package/dist/eventRepository/index.d.ts +2 -0
  71. package/dist/eventRepository/index.d.ts.map +1 -0
  72. package/dist/eventRepository/utils/index.d.ts +2 -0
  73. package/dist/eventRepository/utils/index.d.ts.map +1 -0
  74. package/dist/eventRepository/utils/prepareEventPayload.d.ts +2 -0
  75. package/dist/eventRepository/utils/prepareEventPayload.d.ts.map +1 -0
  76. package/dist/index.cjs.js +138 -51
  77. package/dist/index.d.ts +1 -0
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.esm.js +118 -32
  80. package/dist/index.umd.js +3 -3
  81. package/dist/utils/linkedObject/eventLinkObject.d.ts +2 -0
  82. package/dist/utils/linkedObject/eventLinkObject.d.ts.map +1 -0
  83. package/dist/utils/linkedObject/index.d.ts +1 -0
  84. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  85. package/package.json +1 -1
  86. package/src/@types/core/events.ts +44 -2
  87. package/src/@types/core/model.ts +4 -0
  88. package/src/@types/core/payload.ts +15 -0
  89. package/src/@types/domains/event.ts +81 -0
  90. package/src/@types/index.ts +1 -0
  91. package/src/eventRepository/api/createEvent.ts +45 -0
  92. package/src/eventRepository/api/index.ts +1 -0
  93. package/src/eventRepository/index.ts +1 -0
  94. package/src/eventRepository/utils/index.ts +1 -0
  95. package/src/eventRepository/utils/prepareEventPayload.ts +10 -0
  96. package/src/index.ts +2 -0
  97. package/src/utils/linkedObject/eventLinkObject.ts +26 -0
  98. package/src/utils/linkedObject/index.ts +2 -0
  99. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,2 @@
1
+ export declare const eventLinkedObject: (event: Amity.InternalEvent) => Amity.Event;
2
+ //# sourceMappingURL=eventLinkObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventLinkObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/eventLinkObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,UAAW,MAAM,aAAa,KAAG,WAqB9D,CAAC"}
@@ -16,5 +16,6 @@ export declare const LinkedObject: {
16
16
  invitation: (invitation: Amity.InternalInvitation) => Amity.Invitation;
17
17
  joinRequest: (joinRequest: Amity.InternalJoinRequest) => Amity.JoinRequest;
18
18
  channelMember: (channelMember: Amity.Membership<"channel">) => Amity.Membership<"channel">;
19
+ event: (event: Amity.RawEvent) => Amity.Event;
19
20
  };
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/index.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;CAkBxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/index.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk",
3
- "version": "7.10.0",
3
+ "version": "7.10.1-8b116307.0",
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",
@@ -160,6 +160,24 @@ declare global {
160
160
  'marker.userFeed-updated': Amity.UserFeedUpdatedPayload;
161
161
  };
162
162
 
163
+ type MqttEventEvents = {
164
+ 'event.created': Amity.EventPayload;
165
+ 'event.updated': Amity.EventPayload;
166
+ 'event.deleted': Amity.EventPayload;
167
+ 'event.started': Amity.EventPayload;
168
+ 'event.ended': Amity.EventPayload;
169
+ 'event.cancelled': Amity.EventPayload;
170
+ };
171
+
172
+ type MqttEventRSVPEvents = {
173
+ 'event.rsvp.changed': Amity.EventPayload;
174
+ };
175
+
176
+ type MqttEventNotificationEvents = {
177
+ 'event.reminder': Amity.EventPayload;
178
+ 'event.invitation': Amity.EventPayload;
179
+ };
180
+
163
181
  type MqttRTE = MqttChannelEvents &
164
182
  MqttSubChannelEvents &
165
183
  MqttMessageEvents &
@@ -169,7 +187,10 @@ declare global {
169
187
  MqttUserEvents &
170
188
  MqttFollowEvents &
171
189
  MqttMarkerEvents &
172
- MqttStoryEvents;
190
+ MqttStoryEvents &
191
+ MqttEventEvents &
192
+ MqttEventRSVPEvents &
193
+ MqttEventNotificationEvents;
173
194
 
174
195
  type LocalPostEvents = {
175
196
  'local.post.updated': Amity.PostPayload;
@@ -210,6 +231,24 @@ declare global {
210
231
  'local.follow.requestDeclined': Amity.FollowStatusPayload;
211
232
  };
212
233
 
234
+ type LocalEventEvents = {
235
+ 'local.event.created': Amity.EventPayload;
236
+ 'local.event.updated': Amity.EventPayload;
237
+ 'local.event.deleted': Amity.EventPayload;
238
+ 'local.event.started': Amity.EventPayload;
239
+ 'local.event.ended': Amity.EventPayload;
240
+ 'local.event.cancelled': Amity.EventPayload;
241
+ };
242
+
243
+ type LocalEventRSVPEvents = {
244
+ 'local.event.rsvp.changed': Amity.EventPayload;
245
+ };
246
+
247
+ type LocalEventNotificationEvents = {
248
+ 'local.event.reminder': Amity.EventPayload;
249
+ 'local.event.invitation': Amity.EventPayload;
250
+ };
251
+
213
252
  type LocalEvents = {
214
253
  'local.channel.updated': MakeRequired<Amity.ProcessedChannelPayload, 'channels'>;
215
254
  'local.channel.fetched': Amity.StaticInternalChannel[];
@@ -287,7 +326,10 @@ declare global {
287
326
  } & LocalPostEvents &
288
327
  LocalCommentEvents &
289
328
  LocalCommunityEvents &
290
- LocalFollowEvents;
329
+ LocalFollowEvents &
330
+ LocalEventEvents &
331
+ LocalEventRSVPEvents &
332
+ LocalEventNotificationEvents;
291
333
 
292
334
  type Events = WsEvents & MqttEvents & MqttRTE & LocalEvents;
293
335
  }
@@ -64,6 +64,8 @@ declare global {
64
64
  invitation: Amity.InternalInvitation;
65
65
 
66
66
  joinRequest: Amity.InternalJoinRequest;
67
+
68
+ event: Amity.InternalEvent;
67
69
  };
68
70
 
69
71
  type Model = ValueOf<Models>;
@@ -131,6 +133,8 @@ declare global {
131
133
 
132
134
  invitation: Pick<Amity.InternalInvitation, '_id'>;
133
135
  joinRequest: Pick<Amity.InternalJoinRequest, 'joinRequestId'>;
136
+
137
+ event: Pick<Amity.InternalEvent, 'eventId'>;
134
138
  };
135
139
  }
136
140
  }
@@ -30,6 +30,7 @@ declare global {
30
30
  invitation: Amity.InvitationPayload;
31
31
  myInvitation: Amity.MyInvitationsPayload;
32
32
  joinRequest: Amity.CommunityJoinRequestPayload;
33
+ event: Amity.EventPayload;
33
34
  };
34
35
 
35
36
  type UserPayload = {
@@ -623,5 +624,19 @@ declare global {
623
624
  type StreamViewerUnbanPayload = { list: RawStreamViewerBan[] };
624
625
 
625
626
  type ChannelSetUserMutedPayload = RawChannelSetUserMuted;
627
+
628
+ type EventPayload = {
629
+ events: Amity.RawEvent[];
630
+ users: Amity.RawUser[];
631
+ files: Amity.File[];
632
+ videoStreamings: Amity.RawStream[];
633
+ };
634
+
635
+ type ProcessedEventPayload = {
636
+ events: Amity.InternalEvent[];
637
+ users: Amity.InternalUser[];
638
+ files: Amity.File[];
639
+ videoStreamings: Amity.InternalStream[];
640
+ };
626
641
  }
627
642
  }
@@ -0,0 +1,81 @@
1
+ export {};
2
+
3
+ export enum AmityEventType {
4
+ Virtual = 'virtual',
5
+ InPerson = 'in_person',
6
+ }
7
+
8
+ export enum AmityEventOriginType {
9
+ Community = 'community',
10
+ User = 'user',
11
+ }
12
+
13
+ export enum AmityEventStatus {
14
+ Scheduled = 'scheduled',
15
+ Live = 'live',
16
+ Ended = 'ended',
17
+ Cancelled = 'cancelled',
18
+ }
19
+
20
+ declare global {
21
+ namespace Amity {
22
+ type EventType = AmityEventType;
23
+
24
+ type EventOriginType = AmityEventOriginType;
25
+
26
+ type EventStatus = AmityEventStatus;
27
+
28
+ type RawEvent = {
29
+ eventId: string;
30
+ userId: string;
31
+ publicId: string;
32
+ title: string;
33
+ description: string;
34
+ type: Amity.EventType;
35
+ status: Amity.EventStatus;
36
+ isInviteOnly: boolean;
37
+ startTime: Date;
38
+ endTime?: Date;
39
+ coverImageUrl: string;
40
+ originType: Amity.EventOriginType;
41
+ originId: string;
42
+ communityId?: string;
43
+ livestreamId?: string;
44
+ rsvpCount: number;
45
+ interestedCount: number;
46
+ isLocationVisible: boolean;
47
+ location?: string;
48
+ externalUrl?: string;
49
+ } & Amity.Taggable &
50
+ Amity.Metadata &
51
+ Amity.Timestamps &
52
+ Amity.SoftDelete;
53
+
54
+ type InternalEvent = RawEvent;
55
+
56
+ type Event = Amity.InternalEvent & Amity.EventLinkObject;
57
+
58
+ type EventLinkObject = {
59
+ discussionCommunity?: Amity.Community;
60
+ liveStream?: Amity.Stream;
61
+ creator?: Amity.User;
62
+ };
63
+
64
+ type EventCreatePayload = Pick<
65
+ Amity.Event,
66
+ | 'title'
67
+ | 'description'
68
+ | 'type'
69
+ | 'isInviteOnly'
70
+ | 'startTime'
71
+ | 'endTime'
72
+ | 'originType'
73
+ | 'originId'
74
+ | 'location'
75
+ | 'externalUrl'
76
+ | 'tags'
77
+ > & {
78
+ coverImageFileId?: string;
79
+ };
80
+ }
81
+ }
@@ -47,3 +47,4 @@ export * from './domains/liveReaction';
47
47
  export * from './domains/feed';
48
48
  export * from './domains/hashtag';
49
49
  export * from './domains/user';
50
+ export * from './domains/event';
@@ -0,0 +1,45 @@
1
+ import { fireEvent } from '~/core/events';
2
+ import { prepareEventPayload } from '../utils';
3
+ import { ingestInCache } from '~/cache/api/ingestInCache';
4
+ import { getActiveClient } from '~/client/api/activeClient';
5
+ import { eventLinkedObject } from '~/utils/linkedObject/eventLinkObject';
6
+
7
+ /* begin_public_function
8
+ id: event.create
9
+ */
10
+ /**
11
+ * ```js
12
+ * import { createEvent } from '@amityco/ts-sdk'
13
+ * const created = await createEvent(bundle)
14
+ * ```
15
+ *
16
+ * Creates an {@link Amity.Event}
17
+ *
18
+ * @param bundle The data necessary to create a new {@link Amity.Event}
19
+ * @returns The newly created {@link Amity.Event}
20
+ *
21
+ * @category Event API
22
+ * @async
23
+ */
24
+ export const createEvent = async (
25
+ bundle: Amity.EventCreatePayload,
26
+ ): Promise<Amity.Cached<Amity.Event>> => {
27
+ const client = getActiveClient();
28
+ client.log('event/createEvent', bundle);
29
+
30
+ const { data: payload } = await client.http.post<Amity.EventPayload>('/api/v1/events', bundle);
31
+
32
+ const preparedPayload = prepareEventPayload(payload);
33
+
34
+ const cachedAt = client.cache && Date.now();
35
+
36
+ if (client.cache) ingestInCache(preparedPayload, { cachedAt });
37
+
38
+ fireEvent('event.created', preparedPayload);
39
+
40
+ return {
41
+ data: eventLinkedObject(preparedPayload.events[0]),
42
+ cachedAt,
43
+ };
44
+ };
45
+ /* end_public_function */
@@ -0,0 +1 @@
1
+ export * from './createEvent';
@@ -0,0 +1 @@
1
+ export * from './api';
@@ -0,0 +1 @@
1
+ export * from './prepareEventPayload';
@@ -0,0 +1,10 @@
1
+ import { convertRawUserToInternalUser } from '~/userRepository/utils/convertRawUserToInternalUser';
2
+
3
+ export const prepareEventPayload = (
4
+ rawPayload: Amity.EventPayload,
5
+ ): Amity.ProcessedEventPayload => {
6
+ return {
7
+ ...rawPayload,
8
+ users: rawPayload.users.map(convertRawUserToInternalUser),
9
+ };
10
+ };
package/src/index.ts CHANGED
@@ -57,3 +57,5 @@ export * as InvitationRepository from './invitationRepository';
57
57
  export * as LiveReactionRepository from './liveReactionRepository';
58
58
 
59
59
  export { GET_WATCHER_URLS } from './utils/linkedObject/streamLinkedObject';
60
+
61
+ export * as EventRepository from './eventRepository';
@@ -0,0 +1,26 @@
1
+ import { userLinkedObject } from './userLinkedObject';
2
+ import { pullFromCache } from '~/cache/api/pullFromCache';
3
+ import { communityLinkedObject } from './communityLinkedObject';
4
+
5
+ export const eventLinkedObject = (event: Amity.InternalEvent): Amity.Event => {
6
+ return {
7
+ ...event,
8
+ get creator() {
9
+ const cacheData = pullFromCache<Amity.User>(['user', 'get', event.userId]);
10
+ if (!cacheData?.data) return;
11
+ return userLinkedObject(cacheData.data);
12
+ },
13
+ get discussionCommunity() {
14
+ if (!event.communityId) return;
15
+ const cacheData = pullFromCache<Amity.Community>(['community', 'get', event.communityId]);
16
+ if (!cacheData?.data) return;
17
+ return communityLinkedObject(cacheData.data);
18
+ },
19
+ get liveStream() {
20
+ if (!event.livestreamId) return;
21
+ const cacheData = pullFromCache<Amity.Stream>(['stream', 'get', event.livestreamId]);
22
+ if (!cacheData?.data) return;
23
+ return cacheData.data;
24
+ },
25
+ };
26
+ };
@@ -15,6 +15,7 @@ import { communityLinkedObject } from './communityLinkedObject';
15
15
  import { invitationLinkedObject } from './invitationLinkedObject';
16
16
  import { joinRequestLinkedObject } from './joinRequestLinkedObject';
17
17
  import { channelMemberLinkedObject } from './channelMemberLinkedObject';
18
+ import { eventLinkedObject } from './eventLinkObject';
18
19
 
19
20
  export const LinkedObject = {
20
21
  ad: adLinkedObject,
@@ -34,4 +35,5 @@ export const LinkedObject = {
34
35
  invitation: invitationLinkedObject,
35
36
  joinRequest: joinRequestLinkedObject,
36
37
  channelMember: channelMemberLinkedObject,
38
+ event: eventLinkedObject,
37
39
  };