@bprotsyk/aso-core 2.1.57 → 2.1.59
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.
|
@@ -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
|
-
|
|
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
|
-
|
|
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,
|
|
244
|
+
uniqueness_type: originalCampaign.uniqueness_type,
|
|
243
245
|
};
|
|
244
246
|
const newCampaign = await createCampaign(payload);
|
|
245
247
|
for (const stream of originalStreams) {
|
package/lib/panel/user.d.ts
CHANGED
package/lib/panel/user.js
CHANGED
|
@@ -13,6 +13,7 @@ var PanelUserAccessScope;
|
|
|
13
13
|
PanelUserAccessScope[PanelUserAccessScope["OFFERWALL_RO"] = 6] = "OFFERWALL_RO";
|
|
14
14
|
PanelUserAccessScope[PanelUserAccessScope["OFFERWALL_RW"] = 7] = "OFFERWALL_RW";
|
|
15
15
|
PanelUserAccessScope[PanelUserAccessScope["ASO_LOGS"] = 8] = "ASO_LOGS";
|
|
16
|
+
PanelUserAccessScope[PanelUserAccessScope["MANAGER"] = 9] = "MANAGER";
|
|
16
17
|
})(PanelUserAccessScope = exports.PanelUserAccessScope || (exports.PanelUserAccessScope = {}));
|
|
17
18
|
exports.PanelUserSchema = new mongoose_1.Schema({
|
|
18
19
|
username: {
|
package/package.json
CHANGED
package/src/app/app.ts
CHANGED
|
@@ -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 =
|
|
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
|
|
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
|
|
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
|
-
|
|
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,
|
|
305
|
-
state: originalCampaign.state,
|
|
306
|
-
cost_type: originalCampaign.cost_type,
|
|
307
|
-
cost_value: originalCampaign.cost_value,
|
|
308
|
-
cost_currency: originalCampaign.cost_currency,
|
|
309
|
-
uniqueness_period: originalCampaign.uniqueness_period,
|
|
310
|
-
cookies_ttl: originalCampaign.cookies_ttl,
|
|
311
|
-
notes: originalCampaign.notes,
|
|
312
|
-
collect_clicks: originalCampaign.collect_clicks,
|
|
313
|
-
uniqueness_type: originalCampaign.uniqueness_type,
|
|
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
|
|
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
|
}
|