@bprotsyk/aso-core 1.2.197 → 1.2.199
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/lib/flash/flash-app.d.ts +1 -0
- package/lib/flash/flash-app.js +1 -0
- package/lib/network/keitaro/keitaro-service.d.ts +2 -0
- package/lib/network/keitaro/keitaro-service.js +25 -1
- package/lib/utils/keitaro-utils.d.ts +1 -0
- package/lib/utils/keitaro-utils.js +20 -1
- package/package.json +1 -1
- package/src/flash/flash-app.ts +1 -0
- package/src/network/keitaro/keitaro-service.ts +33 -1
- package/src/utils/keitaro-utils.ts +23 -0
package/lib/flash/flash-app.d.ts
CHANGED
package/lib/flash/flash-app.js
CHANGED
|
@@ -11,6 +11,7 @@ var IntegrationVersion;
|
|
|
11
11
|
IntegrationVersion["OFFER_STUB"] = "OFFER_STUB";
|
|
12
12
|
IntegrationVersion["DIRECT"] = "DIRECT";
|
|
13
13
|
IntegrationVersion["WEB"] = "WEB";
|
|
14
|
+
IntegrationVersion["WEB_DIRECT"] = "WEB_DIRECT";
|
|
14
15
|
IntegrationVersion["BANNER"] = "BANNER";
|
|
15
16
|
})(IntegrationVersion = exports.IntegrationVersion || (exports.IntegrationVersion = {}));
|
|
16
17
|
var PlugType;
|
|
@@ -15,6 +15,7 @@ declare function createCampaign(campaignData: Partial<IKeitaroCampaign>): Promis
|
|
|
15
15
|
declare function getCampaignById(id: number): Promise<IKeitaroCampaign>;
|
|
16
16
|
export declare function upsertStreamToCampaign(campaign: IKeitaroCampaign, stream: Partial<IKeitaroStream>): Promise<void>;
|
|
17
17
|
declare function cloneOWCampaign(app: IFlashApp): Promise<IKeitaroCampaign>;
|
|
18
|
+
declare function cloneDCampaign(app: IFlashApp): Promise<IKeitaroCampaign>;
|
|
18
19
|
declare function changeCampaignsGroup(fromId: number, toId: number, exceptForCampaignIds: number[]): Promise<void>;
|
|
19
20
|
declare function getDomains(onlyActive?: boolean): Promise<IKeitaroDomain[]>;
|
|
20
21
|
declare function getProfitForTimeRange(from: number, to: number): Promise<number>;
|
|
@@ -36,5 +37,6 @@ export declare const KeitaroService: {
|
|
|
36
37
|
changeCampaignsGroup: typeof changeCampaignsGroup;
|
|
37
38
|
getProfitForTimeRange: typeof getProfitForTimeRange;
|
|
38
39
|
getProfitForTodayAndYesterday: typeof getProfitForTodayAndYesterday;
|
|
40
|
+
cloneDCampaign: typeof cloneDCampaign;
|
|
39
41
|
};
|
|
40
42
|
export {};
|
|
@@ -186,6 +186,30 @@ async function cloneOWCampaign(app) {
|
|
|
186
186
|
const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
|
|
187
187
|
return campaign;
|
|
188
188
|
}
|
|
189
|
+
async function cloneDCampaign(app) {
|
|
190
|
+
let name = `D #${app.id} (${app.bundle})`;
|
|
191
|
+
let allCampaigns = await getAllCampaigns();
|
|
192
|
+
let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`D #${app.id}`));
|
|
193
|
+
if (matchingCampaign.length > 0)
|
|
194
|
+
return matchingCampaign[0];
|
|
195
|
+
const { data: campaigns } = await http_1.default.post(`/campaigns/2693/clone`);
|
|
196
|
+
if (campaigns.length == 0)
|
|
197
|
+
throw Error("Campaign cloning falied");
|
|
198
|
+
let clonedCampaign = campaigns[0];
|
|
199
|
+
let allDomains = await exports.KeitaroService.getDomains(true);
|
|
200
|
+
if (!allDomains) {
|
|
201
|
+
throw Error(`Failed to get all domains list`);
|
|
202
|
+
}
|
|
203
|
+
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
204
|
+
let payload = {
|
|
205
|
+
name: name,
|
|
206
|
+
traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
207
|
+
domain_id: domain.id,
|
|
208
|
+
group_id: 93,
|
|
209
|
+
};
|
|
210
|
+
const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
|
|
211
|
+
return campaign;
|
|
212
|
+
}
|
|
189
213
|
async function changeCampaignsGroup(fromId, toId, exceptForCampaignIds) {
|
|
190
214
|
let campaigns = await getAllCampaigns();
|
|
191
215
|
const matchingCampaigns = campaigns.filter(campaign => campaign.group_id == fromId && !exceptForCampaignIds.includes(campaign.id));
|
|
@@ -222,5 +246,5 @@ async function getProfitForTodayAndYesterday() {
|
|
|
222
246
|
}
|
|
223
247
|
exports.KeitaroService = {
|
|
224
248
|
getStreamsByCampaignId, updateCampaign, getAllCampaigns, getAllOffers, cloneStreams, addOfferToKeitaro, getOfferByKeitaroId, getDomains, createCampaign, getCampaignById, upsertStreamToCampaign, cloneOWCampaign,
|
|
225
|
-
updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday
|
|
249
|
+
updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday, cloneDCampaign
|
|
226
250
|
};
|
|
@@ -11,4 +11,5 @@ export declare function createFlashCampaigns(app: IFlashApp): Promise<{
|
|
|
11
11
|
tracking: IKeitaroCampaign;
|
|
12
12
|
redirect: IKeitaroCampaign;
|
|
13
13
|
}>;
|
|
14
|
+
export declare function createDirectCampaign(app: IFlashApp): Promise<IKeitaroCampaign>;
|
|
14
15
|
export declare function createOWCampaign(app: IFlashApp): Promise<IKeitaroCampaign>;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createOWCampaign = exports.createFlashCampaigns = exports.createOWStreamPartialPayload = exports.prepareOWCampaignParameters = exports.createOrFindFlashRedirectCampaign = exports.removeGeosFromAllRedirectCampaigns = exports.addGeosToAllRedirectCampaigns = exports.TRAFFIC_SOURCE_ID_FLASH_AI = void 0;
|
|
6
|
+
exports.createOWCampaign = exports.createDirectCampaign = exports.createFlashCampaigns = exports.createOWStreamPartialPayload = exports.prepareOWCampaignParameters = exports.createOrFindFlashRedirectCampaign = exports.removeGeosFromAllRedirectCampaigns = exports.addGeosToAllRedirectCampaigns = exports.TRAFFIC_SOURCE_ID_FLASH_AI = void 0;
|
|
7
7
|
const keitaro_service_1 = require("../network/keitaro/keitaro-service");
|
|
8
8
|
const sleep_promise_1 = __importDefault(require("sleep-promise"));
|
|
9
9
|
const FLASH_REDIRECT_GROUP_ID = 82;
|
|
@@ -298,6 +298,18 @@ function createBPStreamPartialPayload(app) {
|
|
|
298
298
|
}],
|
|
299
299
|
};
|
|
300
300
|
}
|
|
301
|
+
function createDefenceMainStreamPartialPayload(app) {
|
|
302
|
+
return {
|
|
303
|
+
name: "ALL",
|
|
304
|
+
type: "regular",
|
|
305
|
+
action_type: "http",
|
|
306
|
+
action_payload: app.sourceUrl,
|
|
307
|
+
schema: "redirect",
|
|
308
|
+
filter_or: false,
|
|
309
|
+
collect_clicks: true,
|
|
310
|
+
weight: 100,
|
|
311
|
+
};
|
|
312
|
+
}
|
|
301
313
|
function createOWStreamPartialPayload(app) {
|
|
302
314
|
return {
|
|
303
315
|
name: `OW`,
|
|
@@ -335,6 +347,13 @@ async function createFlashCampaigns(app) {
|
|
|
335
347
|
};
|
|
336
348
|
}
|
|
337
349
|
exports.createFlashCampaigns = createFlashCampaigns;
|
|
350
|
+
async function createDirectCampaign(app) {
|
|
351
|
+
let campaign = await keitaro_service_1.KeitaroService.cloneDCampaign(app);
|
|
352
|
+
let stream = createDefenceMainStreamPartialPayload(app);
|
|
353
|
+
await keitaro_service_1.KeitaroService.upsertStreamToCampaign(campaign, stream);
|
|
354
|
+
return campaign;
|
|
355
|
+
}
|
|
356
|
+
exports.createDirectCampaign = createDirectCampaign;
|
|
338
357
|
async function createOWCampaign(app) {
|
|
339
358
|
let owCampaign = await keitaro_service_1.KeitaroService.cloneOWCampaign(app);
|
|
340
359
|
return owCampaign;
|
package/package.json
CHANGED
package/src/flash/flash-app.ts
CHANGED
|
@@ -224,6 +224,38 @@ async function cloneOWCampaign(app: IFlashApp): Promise<IKeitaroCampaign> {
|
|
|
224
224
|
return campaign
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
async function cloneDCampaign(app: IFlashApp): Promise<IKeitaroCampaign> {
|
|
228
|
+
let name = `D #${app.id} (${app.bundle})`
|
|
229
|
+
|
|
230
|
+
let allCampaigns = await getAllCampaigns()
|
|
231
|
+
let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`D #${app.id}`))
|
|
232
|
+
if (matchingCampaign.length > 0) return matchingCampaign[0]
|
|
233
|
+
|
|
234
|
+
const { data: campaigns } = await keitaroApi.post(`/campaigns/2693/clone`);
|
|
235
|
+
|
|
236
|
+
if (campaigns.length == 0) throw Error("Campaign cloning falied")
|
|
237
|
+
|
|
238
|
+
let clonedCampaign: IKeitaroCampaign = campaigns[0]
|
|
239
|
+
|
|
240
|
+
let allDomains = await KeitaroService.getDomains(true)
|
|
241
|
+
if (!allDomains) {
|
|
242
|
+
throw Error(`Failed to get all domains list`)
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
246
|
+
|
|
247
|
+
let payload: Partial<IKeitaroCampaign> = {
|
|
248
|
+
name: name,
|
|
249
|
+
traffic_source_id: TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
250
|
+
domain_id: domain.id,
|
|
251
|
+
group_id: 93,
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const { data: campaign } = await keitaroApi.put(`/campaigns/${clonedCampaign.id}`, payload)
|
|
255
|
+
|
|
256
|
+
return campaign
|
|
257
|
+
}
|
|
258
|
+
|
|
227
259
|
async function changeCampaignsGroup(fromId: number, toId: number, exceptForCampaignIds: number[]) {
|
|
228
260
|
let campaigns = await getAllCampaigns()
|
|
229
261
|
const matchingCampaigns = campaigns.filter(campaign => campaign.group_id == fromId && !exceptForCampaignIds.includes(campaign.id))
|
|
@@ -268,5 +300,5 @@ async function getProfitForTodayAndYesterday(): Promise<any> {
|
|
|
268
300
|
|
|
269
301
|
export const KeitaroService = {
|
|
270
302
|
getStreamsByCampaignId, updateCampaign, getAllCampaigns, getAllOffers, cloneStreams, addOfferToKeitaro, getOfferByKeitaroId, getDomains, createCampaign, getCampaignById, upsertStreamToCampaign, cloneOWCampaign,
|
|
271
|
-
updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday
|
|
303
|
+
updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday, cloneDCampaign
|
|
272
304
|
}
|
|
@@ -324,6 +324,19 @@ function createBPStreamPartialPayload(app: IFlashApp): Partial<IKeitaroStream> {
|
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
+
function createDefenceMainStreamPartialPayload(app: IFlashApp): Partial<IKeitaroStream> {
|
|
328
|
+
return {
|
|
329
|
+
name: "ALL",
|
|
330
|
+
type: "regular",
|
|
331
|
+
action_type: "http",
|
|
332
|
+
action_payload: app.sourceUrl,
|
|
333
|
+
schema: "redirect",
|
|
334
|
+
filter_or: false,
|
|
335
|
+
collect_clicks: true,
|
|
336
|
+
weight: 100,
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
327
340
|
export function createOWStreamPartialPayload(app: IFlashApp): Partial<IKeitaroStream> {
|
|
328
341
|
return {
|
|
329
342
|
name: `OW`,
|
|
@@ -365,6 +378,16 @@ export async function createFlashCampaigns(app: IFlashApp) {
|
|
|
365
378
|
}
|
|
366
379
|
}
|
|
367
380
|
|
|
381
|
+
export async function createDirectCampaign(app: IFlashApp) {
|
|
382
|
+
let campaign = await KeitaroService.cloneDCampaign(app)
|
|
383
|
+
|
|
384
|
+
let stream = createDefenceMainStreamPartialPayload(app)
|
|
385
|
+
|
|
386
|
+
await KeitaroService.upsertStreamToCampaign(campaign, stream)
|
|
387
|
+
|
|
388
|
+
return campaign
|
|
389
|
+
}
|
|
390
|
+
|
|
368
391
|
export async function createOWCampaign(app: IFlashApp) {
|
|
369
392
|
let owCampaign = await KeitaroService.cloneOWCampaign(app)
|
|
370
393
|
|