@amityco/ts-sdk-react-native 6.25.2-343f6e2.0 → 6.25.2-843ba7e.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 (51) hide show
  1. package/dist/@types/core/model.d.ts +0 -4
  2. package/dist/@types/core/model.d.ts.map +1 -1
  3. package/dist/@types/core/payload.d.ts +0 -6
  4. package/dist/@types/core/payload.d.ts.map +1 -1
  5. package/dist/@types/domains/analytics.d.ts +1 -3
  6. package/dist/@types/domains/analytics.d.ts.map +1 -1
  7. package/dist/@types/index.d.ts +0 -2
  8. package/dist/@types/index.d.ts.map +1 -1
  9. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +0 -2
  10. package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -1
  11. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +0 -3
  12. package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -1
  13. package/dist/client/api/getToken.d.ts +1 -1
  14. package/dist/client/api/getToken.d.ts.map +1 -1
  15. package/dist/core/model/idResolvers.d.ts.map +1 -1
  16. package/dist/core/model/index.d.ts.map +1 -1
  17. package/dist/index.cjs.js +51 -152
  18. package/dist/index.d.ts +0 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.esm.js +36 -136
  21. package/dist/index.umd.js +2 -2
  22. package/dist/utils/linkedObject/index.d.ts +0 -1
  23. package/dist/utils/linkedObject/index.d.ts.map +1 -1
  24. package/package.json +1 -1
  25. package/src/@types/core/model.ts +0 -6
  26. package/src/@types/core/payload.ts +0 -7
  27. package/src/@types/domains/analytics.ts +0 -2
  28. package/src/@types/index.ts +0 -2
  29. package/src/analytic/service/analytic/AnalyticsEngine.ts +0 -18
  30. package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +8 -49
  31. package/src/client/api/getToken.ts +1 -1
  32. package/src/client/api/login.ts +1 -1
  33. package/src/core/model/idResolvers.ts +0 -3
  34. package/src/core/model/index.ts +0 -2
  35. package/src/index.ts +0 -3
  36. package/src/utils/linkedObject/index.ts +0 -2
  37. package/dist/@types/domains/ad.d.ts +0 -74
  38. package/dist/@types/domains/ad.d.ts.map +0 -1
  39. package/dist/adRepository/api/getNetworkAds.d.ts +0 -2
  40. package/dist/adRepository/api/getNetworkAds.d.ts.map +0 -1
  41. package/dist/adRepository/api/index.d.ts +0 -2
  42. package/dist/adRepository/api/index.d.ts.map +0 -1
  43. package/dist/adRepository/index.d.ts +0 -2
  44. package/dist/adRepository/index.d.ts.map +0 -1
  45. package/dist/utils/linkedObject/adLinkedObject.d.ts +0 -2
  46. package/dist/utils/linkedObject/adLinkedObject.d.ts.map +0 -1
  47. package/src/@types/domains/ad.ts +0 -88
  48. package/src/adRepository/api/getNetworkAds.ts +0 -24
  49. package/src/adRepository/api/index.ts +0 -1
  50. package/src/adRepository/index.ts +0 -1
  51. package/src/utils/linkedObject/adLinkedObject.ts +0 -50
@@ -1,5 +1,4 @@
1
1
  export declare const LinkedObject: {
2
- ad: (ad: Amity.RawAd) => Amity.Ad;
3
2
  comment: (comment: Amity.InternalComment<any>) => Amity.Comment<any>;
4
3
  post: (post: Amity.InternalPost<any>) => Amity.Post<any>;
5
4
  user: (user: Amity.InternalUser) => Amity.User;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY;;;;;;;;;;;CAWxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk-react-native",
3
- "version": "6.25.2-343f6e2.0",
3
+ "version": "6.25.2-843ba7e.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",
@@ -49,9 +49,6 @@ declare global {
49
49
  followCount: Amity.FollowCount;
50
50
 
51
51
  feed: Amity.Feed;
52
-
53
- ad: Pick<Amity.Ad, 'adId'>;
54
- advertiser: Pick<Amity.AdvertiserItem, 'advertiserId'>;
55
52
  };
56
53
 
57
54
  type Model = ValueOf<Models>;
@@ -105,9 +102,6 @@ declare global {
105
102
  followCount: Pick<Amity.FollowInfo, 'userId' | 'followerCount'>;
106
103
 
107
104
  feed: Pick<Amity.Feed, 'targetId' | 'feedId'>;
108
-
109
- ad: Pick<Amity.Ad, 'adId'>;
110
- advertiser: Pick<Amity.AdvertiserItem, 'advertiserId'>;
111
105
  };
112
106
  }
113
107
  }
@@ -34,13 +34,6 @@ declare global {
34
34
  }[];
35
35
  };
36
36
 
37
- type AdPayload = {
38
- ads: Amity.RawAd[];
39
- advertisers: Amity.RawAdvertiser[];
40
- files: Amity.File[];
41
- settings: Amity.AdsSettings;
42
- };
43
-
44
37
  // API-FIX: backend should return a payload like { files: Amity.File<T>[] }
45
38
  type CreateFilePayload<T extends Amity.FileType = any> = Amity.File<T>[];
46
39
  type FilePayload<T extends Amity.FileType = any> = Amity.File<T>;
@@ -10,7 +10,6 @@ declare global {
10
10
  const enum AnalyticEventContentType {
11
11
  Post = 'post',
12
12
  Story = 'story',
13
- Ad = 'ad',
14
13
  }
15
14
 
16
15
  type AnalyticEventModel = {
@@ -18,7 +17,6 @@ declare global {
18
17
  contentType: AnalyticEventContentType;
19
18
  activityType: AnalyticEventActivityType;
20
19
  timestamp: Amity.timestamp;
21
- metadata?: Record<string, string>;
22
20
  };
23
21
 
24
22
  type AnalyticPostData = {
@@ -35,5 +35,3 @@ export * from './domains/content';
35
35
  export * from './domains/file';
36
36
  export * from './domains/message';
37
37
  export * from './domains/post';
38
- export * from './domains/story';
39
- export * from './domains/ad';
@@ -33,24 +33,6 @@ class AnalyticsEngine {
33
33
  }
34
34
  }
35
35
 
36
- markAdAsViewed(ad: Amity.RawAd, placement: Amity.AdPlacement) {
37
- if (
38
- this._client.sessionState === Amity.SessionStates.ESTABLISHED ||
39
- this._client.sessionState === Amity.SessionStates.TOKEN_EXPIRED
40
- ) {
41
- this._eventCapturer.markAdAsViewed(ad, placement);
42
- }
43
- }
44
-
45
- markAdAsClicked(ad: Amity.RawAd, placement: Amity.AdPlacement) {
46
- if (
47
- this._client.sessionState === Amity.SessionStates.ESTABLISHED ||
48
- this._client.sessionState === Amity.SessionStates.TOKEN_EXPIRED
49
- ) {
50
- this._eventCapturer.markAdAsClicked(ad, placement);
51
- }
52
- }
53
-
54
36
  markStoryAsClicked(story: Amity.InternalStory) {
55
37
  if (
56
38
  this._client.sessionState === Amity.SessionStates.ESTABLISHED ||
@@ -48,13 +48,8 @@ export class AnalyticsEventCapturer {
48
48
  return true;
49
49
  }
50
50
 
51
- markAs(
52
- itemId: string,
53
- contentType: Amity.AnalyticEventContentType,
54
- activityType: Amity.AnalyticEventActivityType,
55
- metadata: Record<string, string> | undefined = undefined,
56
- ) {
57
- if (!this.isAbleToEnqueue({ itemId, expireTime: this._expireTime })) return;
51
+ markPostAsViewed(postId: Amity.InternalPost['postId']) {
52
+ if (!this.isAbleToEnqueue({ itemId: postId, expireTime: this._expireTime })) return;
58
53
 
59
54
  const now = new Date();
60
55
 
@@ -71,25 +66,15 @@ export class AnalyticsEventCapturer {
71
66
  currentData.event.shift();
72
67
  }
73
68
 
74
- const analyticItem: Amity.AnalyticEventModel = {
75
- contentId: itemId,
76
- contentType,
77
- activityType,
69
+ currentData.event.push({
70
+ contentId: postId,
71
+ contentType: Amity.AnalyticEventContentType.Post,
72
+ activityType: Amity.AnalyticEventActivityType.View,
78
73
  timestamp: now.toISOString(),
79
- };
80
-
81
- if (metadata) {
82
- analyticItem.metadata = metadata;
83
- }
84
-
85
- currentData.event.push(analyticItem);
74
+ });
86
75
 
87
76
  upsertInCache(ANALYTIC_CACHE_KEY, currentData);
88
- this._recentViewed[itemId] = now;
89
- }
90
-
91
- markPostAsViewed(postId: Amity.InternalPost['postId']) {
92
- this.markAs(postId, Amity.AnalyticEventContentType.Post, Amity.AnalyticEventActivityType.View);
77
+ this._recentViewed[postId] = now;
93
78
  }
94
79
 
95
80
  markStory(story: Amity.InternalStory, activityType: Amity.AnalyticEventActivityType) {
@@ -178,30 +163,4 @@ export class AnalyticsEventCapturer {
178
163
  markStoryAsClicked(story: Amity.InternalStory) {
179
164
  this.markStory(story, Amity.AnalyticEventActivityType.Click);
180
165
  }
181
-
182
- markAdAsViewed(ad: Amity.RawAd, placement: Amity.AdPlacement) {
183
- const metadata = {
184
- placement,
185
- };
186
-
187
- this.markAs(
188
- `${ad.adId}.${Amity.AnalyticEventActivityType.View}.${placement}`,
189
- Amity.AnalyticEventContentType.Ad,
190
- Amity.AnalyticEventActivityType.View,
191
- metadata,
192
- );
193
- }
194
-
195
- markAdAsClicked(ad: Amity.RawAd, placement: Amity.AdPlacement) {
196
- const metadata = {
197
- placement,
198
- };
199
-
200
- this.markAs(
201
- `${ad.adId}.${Amity.AnalyticEventActivityType.View}.${placement}`,
202
- Amity.AnalyticEventContentType.Ad,
203
- Amity.AnalyticEventActivityType.Click,
204
- metadata,
205
- );
206
- }
207
166
  }
@@ -16,7 +16,7 @@ import { getDeviceInfo } from '~/core/device';
16
16
  */
17
17
  export const getToken = async (params: {
18
18
  userId: Amity.InternalUser['userId'];
19
- displayName?: Amity.InternalUser['displayName'];
19
+ displayName: Amity.InternalUser['displayName'];
20
20
  authToken?: string;
21
21
  deviceId: Amity.Device['deviceId'];
22
22
  }) => {
@@ -93,7 +93,7 @@ export const login = async (
93
93
  try {
94
94
  const { users } = await setClientToken({
95
95
  ...params,
96
- displayName: params?.displayName,
96
+ displayName: params?.displayName || params.userId,
97
97
  deviceId: params?.deviceId || defaultDeviceId,
98
98
  });
99
99
 
@@ -53,9 +53,6 @@ const idResolvers: Resolvers = {
53
53
  feed: ({ targetId, feedId }) => `${targetId}#${feedId}`,
54
54
  story: ({ referenceId }) => referenceId!,
55
55
  storyTarget: ({ targetId }) => targetId,
56
-
57
- ad: ({ adId }) => adId,
58
- advertiser: ({ advertiserId }) => advertiserId,
59
56
  };
60
57
 
61
58
  /**
@@ -47,8 +47,6 @@ export const PAYLOAD2MODEL: Record<string, Amity.Domain> = {
47
47
  followCounts: 'followCount',
48
48
 
49
49
  feeds: 'feed',
50
- ads: 'ad',
51
- advertisers: 'advertiser',
52
50
  };
53
51
 
54
52
  /** hidden */
package/src/index.ts CHANGED
@@ -44,8 +44,5 @@ export * as LiveStreamPlayer from './liveStreamPlayer';
44
44
 
45
45
  export * as StoryRepository from './storyRepository';
46
46
 
47
- // Premium Ads
48
- export * as AdRepository from './adRepository';
49
-
50
47
  // // external apis
51
48
  export * from './external/api';
@@ -8,10 +8,8 @@ import { messageLinkedObject } from './messageLinkedObject';
8
8
  import { storyTargetLinkedObject } from './storyTargetLinkedObject';
9
9
  import { reactorLinkedObject } from './reactorLinkedObject';
10
10
  import { channelLinkedObject } from './channelLinkedObject';
11
- import { adLinkedObject } from './adLinkedObject';
12
11
 
13
12
  export const LinkedObject = {
14
- ad: adLinkedObject,
15
13
  comment: commentLinkedObject,
16
14
  post: postLinkedObject,
17
15
  user: userLinkedObject,
@@ -1,74 +0,0 @@
1
- export {};
2
- declare global {
3
- namespace Amity {
4
- const enum AdPlacement {
5
- FEED = "feed",
6
- STORY = "story",
7
- COMMENT = "comment",
8
- CHATLIST = "chatlist",
9
- CHAT = "chat"
10
- }
11
- const enum SettingDisplayType {
12
- Fixed = "fixed",
13
- TimeWindow = "time-window"
14
- }
15
- type AdTarget = {
16
- communityIds: Amity.Community['communityId'][];
17
- };
18
- type RawAd = {
19
- adId: string;
20
- advertiserId: string;
21
- name: string;
22
- placements: AdPlacement[];
23
- headline: string;
24
- description: string;
25
- body: string;
26
- image1_1: string;
27
- image9_16: string;
28
- callToAction: string;
29
- callToActionUrl: string;
30
- targets: Amity.AdTarget;
31
- startAt: Amity.timestamp;
32
- endAt: Amity.timestamp;
33
- createdAt: Amity.timestamp;
34
- updatedAt: Amity.timestamp;
35
- };
36
- type RawAdvertiser = {
37
- advertiserId: string;
38
- name: string;
39
- companyName: string;
40
- avatarFileId: string;
41
- adsCount: number;
42
- createdAt: Amity.timestamp;
43
- updatedAt: Amity.timestamp;
44
- };
45
- type AdFrequency = {
46
- type: Amity.SettingDisplayType;
47
- value: number;
48
- };
49
- type FrequencySettings = {
50
- feed?: Amity.AdFrequency;
51
- story?: Amity.AdFrequency;
52
- comment?: Amity.AdFrequency;
53
- };
54
- type AdsSettings = {
55
- enabled: boolean;
56
- maxActiveAds: number;
57
- frequency: Amity.FrequencySettings;
58
- updatedAt: Amity.timestamp;
59
- };
60
- type Advertiser = RawAdvertiser & {
61
- avatar?: Amity.File<'image'>;
62
- };
63
- type Ad = Omit<RawAd, 'image1_1' | 'image9_16'> & {
64
- advertiser?: Amity.Advertiser;
65
- image1_1?: Amity.File<'image'>;
66
- image9_16?: Amity.File<'image'>;
67
- };
68
- type NetworkAds = {
69
- ads: Amity.Ad[];
70
- settings: Amity.AdsSettings;
71
- };
72
- }
73
- }
74
- //# sourceMappingURL=ad.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ad.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/ad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,WAAW;YACpB,IAAI,SAAS;YACb,KAAK,UAAU;YACf,OAAO,YAAY;YACnB,QAAQ,aAAa;YACrB,IAAI,SAAS;SACd;QAED,WAAW,kBAAkB;YAC3B,KAAK,UAAU;YACf,UAAU,gBAAgB;SAC3B;QAED,KAAK,QAAQ,GAAG;YACd,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;SAChD,CAAC;QAEF,KAAK,KAAK,GAAG;YACX,IAAI,EAAE,MAAM,CAAC;YACb,YAAY,EAAE,MAAM,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC;YACb,UAAU,EAAE,WAAW,EAAE,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM,CAAC;YACxB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;YACxB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;YACvB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC5B,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,YAAY,EAAE,MAAM,CAAC;YACrB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC5B,CAAC;QAEF,KAAK,WAAW,GAAG;YACjB,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC;YAC/B,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QAEF,KAAK,iBAAiB,GAAG;YACvB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;YACzB,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;YAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;SAC7B,CAAC;QAEF,KAAK,WAAW,GAAG;YACjB,OAAO,EAAE,OAAO,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC5B,CAAC;QAEF,KAAK,UAAU,GAAG,aAAa,GAAG;YAChC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B,CAAC;QAEF,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;YAChD,UAAU,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;YAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAKjC,CAAC;QAEF,KAAK,UAAU,GAAG;YAChB,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YAChB,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;SAC7B,CAAC;KACH;CACF"}
@@ -1,2 +0,0 @@
1
- export declare const getNetworkAds: () => Promise<Amity.NetworkAds>;
2
- //# sourceMappingURL=getNetworkAds.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNetworkAds.d.ts","sourceRoot":"","sources":["../../../src/adRepository/api/getNetworkAds.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,QAAa,QAAQ,MAAM,UAAU,CAS9D,CAAC"}
@@ -1,2 +0,0 @@
1
- export { getNetworkAds } from './getNetworkAds';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adRepository/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './api';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const adLinkedObject: (ad: Amity.RawAd) => Amity.Ad;
2
- //# sourceMappingURL=adLinkedObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/adLinkedObject.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,OAAQ,MAAM,KAAK,KAAG,MAAM,EA8CtD,CAAC"}
@@ -1,88 +0,0 @@
1
- export {};
2
-
3
- declare global {
4
- namespace Amity {
5
- const enum AdPlacement {
6
- FEED = 'feed',
7
- STORY = 'story',
8
- COMMENT = 'comment',
9
- CHATLIST = 'chatlist',
10
- CHAT = 'chat',
11
- }
12
-
13
- const enum SettingDisplayType {
14
- Fixed = 'fixed',
15
- TimeWindow = 'time-window',
16
- }
17
-
18
- type AdTarget = {
19
- communityIds: Amity.Community['communityId'][];
20
- };
21
-
22
- type RawAd = {
23
- adId: string;
24
- advertiserId: string;
25
- name: string;
26
- placements: AdPlacement[];
27
- headline: string;
28
- description: string;
29
- body: string;
30
- image1_1: string;
31
- image9_16: string;
32
- callToAction: string;
33
- callToActionUrl: string;
34
- targets: Amity.AdTarget;
35
- startAt: Amity.timestamp;
36
- endAt: Amity.timestamp;
37
- createdAt: Amity.timestamp;
38
- updatedAt: Amity.timestamp;
39
- };
40
-
41
- type RawAdvertiser = {
42
- advertiserId: string;
43
- name: string;
44
- companyName: string;
45
- avatarFileId: string;
46
- adsCount: number;
47
- createdAt: Amity.timestamp;
48
- updatedAt: Amity.timestamp;
49
- };
50
-
51
- type AdFrequency = {
52
- type: Amity.SettingDisplayType;
53
- value: number;
54
- };
55
-
56
- type FrequencySettings = {
57
- feed?: Amity.AdFrequency;
58
- story?: Amity.AdFrequency;
59
- comment?: Amity.AdFrequency;
60
- };
61
-
62
- type AdsSettings = {
63
- enabled: boolean;
64
- maxActiveAds: number;
65
- frequency: Amity.FrequencySettings;
66
- updatedAt: Amity.timestamp;
67
- };
68
-
69
- type Advertiser = RawAdvertiser & {
70
- avatar?: Amity.File<'image'>;
71
- };
72
-
73
- type Ad = Omit<RawAd, 'image1_1' | 'image9_16'> & {
74
- advertiser?: Amity.Advertiser;
75
- image1_1?: Amity.File<'image'>;
76
- image9_16?: Amity.File<'image'>;
77
- // analytics: {
78
- // markAsSeen: (placement: Amity.AdPlacement) => void;
79
- // markLinkAsClicked: (placement: Amity.AdPlacement) => void;
80
- // };
81
- };
82
-
83
- type NetworkAds = {
84
- ads: Amity.Ad[];
85
- settings: Amity.AdsSettings;
86
- };
87
- }
88
- }
@@ -1,24 +0,0 @@
1
- import { getActiveClient } from '~/client';
2
- import { ingestInCache } from '~/cache/api/ingestInCache';
3
- import { pushToCache } from '~/cache/api';
4
- import { LinkedObject } from '~/utils/linkedObject';
5
-
6
- const convertToNetworkAds = (data: Amity.AdPayload): Amity.NetworkAds => {
7
- const { ads, settings } = data;
8
-
9
- return {
10
- ads: ads.map(LinkedObject.ad),
11
- settings,
12
- };
13
- };
14
-
15
- export const getNetworkAds = async (): Promise<Amity.NetworkAds> => {
16
- const client = getActiveClient();
17
-
18
- const { data } = await client.http.get<Amity.AdPayload>('/api/v1/ads/me');
19
- const { settings, ...rest } = data;
20
- ingestInCache(rest as Omit<Amity.AdPayload, 'settings'>);
21
- pushToCache(['ad', 'setting'], settings);
22
-
23
- return convertToNetworkAds(data);
24
- };
@@ -1 +0,0 @@
1
- export { getNetworkAds } from './getNetworkAds';
@@ -1 +0,0 @@
1
- export * from './api';
@@ -1,50 +0,0 @@
1
- import { pullFromCache } from '~/cache/api';
2
- // import AnalyticsEngine from '~/analytic/service/analytic/AnalyticsEngine';
3
-
4
- export const adLinkedObject = (ad: Amity.RawAd): Amity.Ad => {
5
- // const analyticsEngineInstance = AnalyticsEngine.getInstance();
6
- const { image9_16: image916, image1_1: image11, ...restAds } = ad;
7
- return {
8
- ...restAds,
9
- // analytics: {
10
- // markAsSeen: (placement: Amity.AdPlacement) => {
11
- // analyticsEngineInstance.markAdAsViewed(ad, placement);
12
- // },
13
- // markLinkAsClicked: (placement: Amity.AdPlacement) => {
14
- // analyticsEngineInstance.markAdAsClicked(ad, placement);
15
- // },
16
- // },
17
- get advertiser(): Amity.Advertiser | undefined {
18
- const advertiserData = pullFromCache<Amity.RawAdvertiser>([
19
- 'advertiser',
20
- 'get',
21
- ad.advertiserId,
22
- ])?.data;
23
-
24
- if (!advertiserData) return;
25
-
26
- const avatarFile = pullFromCache<Amity.File<'image'>>([
27
- 'file',
28
- 'get',
29
- advertiserData.avatarFileId,
30
- ])?.data;
31
-
32
- return {
33
- ...advertiserData,
34
- avatar: avatarFile,
35
- };
36
- },
37
-
38
- get image1_1(): Amity.File<'image'> | undefined {
39
- const cacheData = pullFromCache<Amity.File<'image'>>(['file', 'get', image11]);
40
- if (!cacheData) return undefined;
41
- return cacheData.data || undefined;
42
- },
43
-
44
- get image9_16(): Amity.File<'image'> | undefined {
45
- const cacheData = pullFromCache<Amity.File<'image'>>(['file', 'get', image916]);
46
- if (!cacheData) return undefined;
47
- return cacheData.data || undefined;
48
- },
49
- };
50
- };