@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.
- package/dist/@types/core/model.d.ts +0 -4
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +0 -6
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/analytics.d.ts +1 -3
- package/dist/@types/domains/analytics.d.ts.map +1 -1
- package/dist/@types/index.d.ts +0 -2
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/analytic/service/analytic/AnalyticsEngine.d.ts +0 -2
- package/dist/analytic/service/analytic/AnalyticsEngine.d.ts.map +1 -1
- package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts +0 -3
- package/dist/analytic/service/analytic/AnalyticsEventCapturer.d.ts.map +1 -1
- package/dist/client/api/getToken.d.ts +1 -1
- package/dist/client/api/getToken.d.ts.map +1 -1
- package/dist/core/model/idResolvers.d.ts.map +1 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/index.cjs.js +51 -152
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +36 -136
- package/dist/index.umd.js +2 -2
- package/dist/utils/linkedObject/index.d.ts +0 -1
- package/dist/utils/linkedObject/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/model.ts +0 -6
- package/src/@types/core/payload.ts +0 -7
- package/src/@types/domains/analytics.ts +0 -2
- package/src/@types/index.ts +0 -2
- package/src/analytic/service/analytic/AnalyticsEngine.ts +0 -18
- package/src/analytic/service/analytic/AnalyticsEventCapturer.ts +8 -49
- package/src/client/api/getToken.ts +1 -1
- package/src/client/api/login.ts +1 -1
- package/src/core/model/idResolvers.ts +0 -3
- package/src/core/model/index.ts +0 -2
- package/src/index.ts +0 -3
- package/src/utils/linkedObject/index.ts +0 -2
- package/dist/@types/domains/ad.d.ts +0 -74
- package/dist/@types/domains/ad.d.ts.map +0 -1
- package/dist/adRepository/api/getNetworkAds.d.ts +0 -2
- package/dist/adRepository/api/getNetworkAds.d.ts.map +0 -1
- package/dist/adRepository/api/index.d.ts +0 -2
- package/dist/adRepository/api/index.d.ts.map +0 -1
- package/dist/adRepository/index.d.ts +0 -2
- package/dist/adRepository/index.d.ts.map +0 -1
- package/dist/utils/linkedObject/adLinkedObject.d.ts +0 -2
- package/dist/utils/linkedObject/adLinkedObject.d.ts.map +0 -1
- package/src/@types/domains/ad.ts +0 -88
- package/src/adRepository/api/getNetworkAds.ts +0 -24
- package/src/adRepository/api/index.ts +0 -1
- package/src/adRepository/index.ts +0 -1
- package/src/utils/linkedObject/adLinkedObject.ts +0 -50
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/index.ts"],"names":[],"mappings":"
|
|
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
package/src/@types/core/model.ts
CHANGED
|
@@ -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 = {
|
package/src/@types/index.ts
CHANGED
|
@@ -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
|
-
|
|
52
|
-
itemId:
|
|
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
|
-
|
|
75
|
-
contentId:
|
|
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[
|
|
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
|
|
19
|
+
displayName: Amity.InternalUser['displayName'];
|
|
20
20
|
authToken?: string;
|
|
21
21
|
deviceId: Amity.Device['deviceId'];
|
|
22
22
|
}) => {
|
package/src/client/api/login.ts
CHANGED
|
@@ -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
|
/**
|
package/src/core/model/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -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 +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 +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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adRepository/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
|
|
@@ -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"}
|
package/src/@types/domains/ad.ts
DELETED
|
@@ -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
|
-
};
|