@bprotsyk/aso-core 2.1.56 → 2.1.58

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/app/app.d.ts CHANGED
@@ -54,6 +54,7 @@ export interface IPlatformParams {
54
54
  enabled: boolean;
55
55
  geo: string[];
56
56
  customCampaignData?: IAppKeitaroData;
57
+ trackingUrl?: string;
57
58
  adjustParams?: {
58
59
  appId: string;
59
60
  eventIds: IAdjustEventIds;
@@ -202,11 +202,13 @@ async function cloneOWCampaign(app, platform) {
202
202
  };
203
203
  let allCampaigns = await getAllCampaigns();
204
204
  let matchingCampaign = [];
205
- if (platform) {
206
- matchingCampaign = allCampaigns.filter((c) => c.name === `#${app.id} [◈] (${platformName})`);
205
+ if (platform && platform !== app_1.EPlatform.GENERAL) {
206
+ // Шукаємо кампанію з платформою
207
+ matchingCampaign = allCampaigns.filter((c) => c.name.includes(`#${app.id}`) && c.name.includes(`(${platformName})`));
207
208
  }
208
209
  else {
209
- matchingCampaign = allCampaigns.filter((c) => c.name === `#${app.id} [◈]`);
210
+ // Шукаємо кампанію без платформи або з суфіксом
211
+ matchingCampaign = allCampaigns.filter((c) => c.name.includes(`#${app.id}`) && !c.name.includes('('));
210
212
  }
211
213
  if (matchingCampaign.length > 0)
212
214
  return matchingCampaign[0];
@@ -239,7 +241,7 @@ async function cloneOWCampaign(app, platform) {
239
241
  cookies_ttl: originalCampaign.cookies_ttl,
240
242
  notes: originalCampaign.notes,
241
243
  collect_clicks: originalCampaign.collect_clicks,
242
- uniqueness_type: originalCampaign.uniqueness_type, // тип унікальності (IP і user-agent)
244
+ uniqueness_type: originalCampaign.uniqueness_type,
243
245
  };
244
246
  const newCampaign = await createCampaign(payload);
245
247
  for (const stream of originalStreams) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bprotsyk/aso-core",
3
- "version": "2.1.56",
3
+ "version": "2.1.58",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "scripts": {
package/src/app/app.ts CHANGED
@@ -87,6 +87,7 @@ export interface IPlatformParams {
87
87
  enabled: boolean,
88
88
  geo: string[],
89
89
  customCampaignData?: IAppKeitaroData,
90
+ trackingUrl?: string,
90
91
  adjustParams?: {
91
92
  appId: string,
92
93
  eventIds: IAdjustEventIds,
@@ -240,7 +240,7 @@ export async function upsertStreamToCampaign(campaign: IKeitaroCampaign, stream:
240
240
  async function cloneOWCampaign(app: IApp, platform?: EPlatform): Promise<IKeitaroCampaign | any> {
241
241
  let name = `#${app.id} [◈]`
242
242
  let platformName = platform ? getPlatformName(platform) : null;
243
- const platformCampaignName = `#${app.id} [◈] (${platformName})`
243
+ const platformCampaignName = `#${app.id} [◈] (${platformName})`;
244
244
  const generateAlias = () => {
245
245
  const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
246
246
  return Array.from(
@@ -249,46 +249,37 @@ async function cloneOWCampaign(app: IApp, platform?: EPlatform): Promise<IKeitar
249
249
  ).join('');
250
250
  };
251
251
 
252
- let allCampaigns = await getAllCampaigns()
252
+ let allCampaigns = await getAllCampaigns();
253
253
 
254
254
  let matchingCampaign: IKeitaroCampaign[] = [];
255
255
 
256
- if (platform) {
256
+ if (platform && platform !== EPlatform.GENERAL) {
257
+ // Шукаємо кампанію з платформою
257
258
  matchingCampaign = allCampaigns.filter((c) =>
258
- c.name === `#${app.id} [◈] (${platformName})`
259
- )
259
+ c.name.includes(`#${app.id}`) && c.name.includes(`(${platformName})`)
260
+ );
260
261
  } else {
262
+ // Шукаємо кампанію без платформи або з суфіксом
261
263
  matchingCampaign = allCampaigns.filter((c) =>
262
- c.name === `#${app.id} [◈]`
263
- )
264
+ c.name.includes(`#${app.id}`) && !c.name.includes('(')
265
+ );
264
266
  }
265
267
 
268
+ if (matchingCampaign.length > 0) return matchingCampaign[0];
266
269
 
270
+ const originalCampaign: IKeitaroCampaign = await getCampaignById(2673);
271
+ const maxPosition = Math.max(...allCampaigns.map(c => c.position || 0));
272
+ const originalStreams = await getStreamsByCampaignId(2673);
267
273
 
268
- if (matchingCampaign.length > 0) return matchingCampaign[0]
269
-
270
- const originalCampaign : IKeitaroCampaign = await getCampaignById(2673)
271
- const maxPosition = Math.max(...allCampaigns.map(c => c.position || 0));
272
- const originalStreams = await getStreamsByCampaignId(2673)
273
-
274
-
275
-
276
-
277
-
278
-
279
- let allDomains = await KeitaroService.getDomains(true)
274
+ let allDomains = await KeitaroService.getDomains(true);
280
275
  if (!allDomains) {
281
- throw Error(`Failed to get all domains list`)
276
+ throw Error(`Failed to get all domains list`);
282
277
  }
283
278
 
284
279
  const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
285
280
  const maxGroupId = Math.max(...allCampaigns.map(c => c.group_id || 0));
286
281
 
287
-
288
- let alias = generateAlias()
289
-
290
-
291
-
282
+ let alias = generateAlias();
292
283
 
293
284
  let payload: Partial<IKeitaroCampaign> = {
294
285
  // Унікальні поля
@@ -301,24 +292,19 @@ async function cloneOWCampaign(app: IApp, platform?: EPlatform): Promise<IKeitar
301
292
  parameters: prepareOWCampaignParameters(app),
302
293
 
303
294
  // Неунікальні поля з оригінальної кампанії
304
- type: originalCampaign.type, // тип (position)
305
- state: originalCampaign.state, // стан (active)
306
- cost_type: originalCampaign.cost_type, // тип оплати (CPS)
307
- cost_value: originalCampaign.cost_value, // вартість
308
- cost_currency: originalCampaign.cost_currency, // валюта (USD)
309
- uniqueness_period: originalCampaign.uniqueness_period, // період унікальності (8760 годин)
310
- cookies_ttl: originalCampaign.cookies_ttl, // термін дії cookies
311
- notes: originalCampaign.notes, // нотатки
312
- collect_clicks: originalCampaign.collect_clicks, // збір кліків
313
- uniqueness_type: originalCampaign.uniqueness_type, // тип унікальності (IP і user-agent)
314
- }
315
-
316
-
317
-
318
-
319
-
295
+ type: originalCampaign.type,
296
+ state: originalCampaign.state,
297
+ cost_type: originalCampaign.cost_type,
298
+ cost_value: originalCampaign.cost_value,
299
+ cost_currency: originalCampaign.cost_currency,
300
+ uniqueness_period: originalCampaign.uniqueness_period,
301
+ cookies_ttl: originalCampaign.cookies_ttl,
302
+ notes: originalCampaign.notes,
303
+ collect_clicks: originalCampaign.collect_clicks,
304
+ uniqueness_type: originalCampaign.uniqueness_type,
305
+ };
320
306
 
321
- const newCampaign : IKeitaroCampaign = await createCampaign(payload)
307
+ const newCampaign: IKeitaroCampaign = await createCampaign(payload);
322
308
 
323
309
  for (const stream of originalStreams) {
324
310
  await keitaroApi.post('streams', {
@@ -347,12 +333,6 @@ async function cloneOWCampaign(app: IApp, platform?: EPlatform): Promise<IKeitar
347
333
  });
348
334
 
349
335
  const updatedCampaign = await getCampaignById(newCampaign.id);
350
-
351
-
352
-
353
-
354
-
355
-
356
336
 
357
337
  return updatedCampaign;
358
338
  }