@bprotsyk/aso-core 2.1.48 → 2.1.50
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.
|
@@ -192,34 +192,38 @@ async function upsertStreamToCampaign(campaign, stream) {
|
|
|
192
192
|
}
|
|
193
193
|
exports.upsertStreamToCampaign = upsertStreamToCampaign;
|
|
194
194
|
async function cloneOWCampaign(app) {
|
|
195
|
-
let name = `#${app.id} [◈]`;
|
|
196
|
-
// Спочатку перевіряємо існуючі кампанії
|
|
197
|
-
let allCampaigns = await getAllCampaigns();
|
|
198
|
-
let matchingCampaign = allCampaigns.filter((c) => new RegExp(`#${app.id}.*◈`).test(c.name));
|
|
199
|
-
if (matchingCampaign.length > 0)
|
|
200
|
-
return matchingCampaign[0];
|
|
201
|
-
// Отримуємо домени перед клонуванням
|
|
202
|
-
let allDomains = await exports.KeitaroService.getDomains(true);
|
|
203
|
-
if (!allDomains || allDomains.length === 0) {
|
|
204
|
-
throw Error(`Failed to get active domains`);
|
|
205
|
-
}
|
|
206
|
-
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
207
|
-
// Створюємо базові параметри для нової кампанії
|
|
208
|
-
let campaignPayload = {
|
|
209
|
-
name: name,
|
|
210
|
-
traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
211
|
-
domain_id: domain.id,
|
|
212
|
-
parameters: (0, keitaro_utils_1.prepareOWCampaignParameters)(app)
|
|
213
|
-
};
|
|
214
|
-
// Спробуємо створити нову кампанію замість клонування
|
|
215
195
|
try {
|
|
216
|
-
|
|
196
|
+
let name = `#${app.id} [◈]`;
|
|
197
|
+
let allCampaigns = await getAllCampaigns();
|
|
198
|
+
let matchingCampaign = allCampaigns.filter((c) => new RegExp(`#${app.id}.*◈`).test(c.name));
|
|
199
|
+
if (matchingCampaign.length > 0)
|
|
200
|
+
return matchingCampaign[0];
|
|
201
|
+
const { data: campaigns } = await http_1.default.post(`/campaigns/2673/clone`, {
|
|
202
|
+
name: name,
|
|
203
|
+
});
|
|
204
|
+
if (campaigns.length == 0)
|
|
205
|
+
throw Error("Campaign cloning falied");
|
|
206
|
+
let clonedCampaign = campaigns[0];
|
|
207
|
+
let allDomains = await exports.KeitaroService.getDomains(true);
|
|
208
|
+
if (!allDomains) {
|
|
209
|
+
throw Error(`Failed to get all domains list`);
|
|
210
|
+
}
|
|
211
|
+
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
212
|
+
let payload = {
|
|
213
|
+
name: name,
|
|
214
|
+
traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
215
|
+
domain_id: domain.id,
|
|
216
|
+
parameters: (0, keitaro_utils_1.prepareOWCampaignParameters)(app)
|
|
217
|
+
};
|
|
218
|
+
const { data: campaign } = await http_1.default.post(`/campaigns/2673/clone`, {}, {
|
|
219
|
+
headers: {
|
|
220
|
+
'Content-Type': 'application/json'
|
|
221
|
+
}
|
|
222
|
+
});
|
|
217
223
|
return campaign;
|
|
218
224
|
}
|
|
219
225
|
catch (error) {
|
|
220
|
-
// Розширене логування помилки
|
|
221
226
|
console.error('Campaign creation failed. Details:', {
|
|
222
|
-
payload: campaignPayload,
|
|
223
227
|
errorStatus: error.response?.status,
|
|
224
228
|
errorData: error.response?.data,
|
|
225
229
|
errorMessage: error.message
|
package/package.json
CHANGED
|
@@ -238,42 +238,49 @@ export async function upsertStreamToCampaign(campaign: IKeitaroCampaign, stream:
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
async function cloneOWCampaign(app: IApp): Promise<IKeitaroCampaign> {
|
|
241
|
+
try{
|
|
241
242
|
let name = `#${app.id} [◈]`
|
|
242
243
|
|
|
243
|
-
// Спочатку перевіряємо існуючі кампанії
|
|
244
244
|
let allCampaigns = await getAllCampaigns()
|
|
245
245
|
let matchingCampaign = allCampaigns.filter((c) => new RegExp(`#${app.id}.*◈`).test(c.name))
|
|
246
246
|
if (matchingCampaign.length > 0) return matchingCampaign[0]
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
const { data: campaigns } = await keitaroApi.post(`/campaigns/2673/clone`, {
|
|
249
|
+
name: name,
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
if (campaigns.length == 0) throw Error("Campaign cloning falied")
|
|
253
|
+
|
|
254
|
+
let clonedCampaign: IKeitaroCampaign = campaigns[0]
|
|
255
|
+
|
|
249
256
|
let allDomains = await KeitaroService.getDomains(true)
|
|
250
|
-
if (!allDomains
|
|
251
|
-
throw Error(`Failed to get
|
|
257
|
+
if (!allDomains) {
|
|
258
|
+
throw Error(`Failed to get all domains list`)
|
|
252
259
|
}
|
|
260
|
+
|
|
253
261
|
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
254
262
|
|
|
255
|
-
|
|
256
|
-
let campaignPayload: Partial<IKeitaroCampaign> = {
|
|
263
|
+
let payload: Partial<IKeitaroCampaign> = {
|
|
257
264
|
name: name,
|
|
258
265
|
traffic_source_id: TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
259
266
|
domain_id: domain.id,
|
|
260
267
|
parameters: prepareOWCampaignParameters(app)
|
|
261
268
|
}
|
|
262
269
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
270
|
+
const { data: campaign } = await keitaroApi.post(`/campaigns/2673/clone`, {}, {
|
|
271
|
+
headers: {
|
|
272
|
+
'Content-Type': 'application/json'
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
return campaign
|
|
276
|
+
} catch (error: any) {
|
|
277
|
+
console.error('Campaign creation failed. Details:', {
|
|
271
278
|
errorStatus: error.response?.status,
|
|
272
279
|
errorData: error.response?.data,
|
|
273
280
|
errorMessage: error.message
|
|
274
281
|
})
|
|
275
282
|
throw error
|
|
276
|
-
|
|
283
|
+
}
|
|
277
284
|
}
|
|
278
285
|
|
|
279
286
|
async function cloneDCampaign(app: IApp): Promise<IKeitaroCampaign> {
|