@bprotsyk/aso-core 2.1.48 → 2.1.49
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,32 @@ 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
|
+
if (campaigns.length == 0)
|
|
203
|
+
throw Error("Campaign cloning falied");
|
|
204
|
+
let clonedCampaign = campaigns[0];
|
|
205
|
+
let allDomains = await exports.KeitaroService.getDomains(true);
|
|
206
|
+
if (!allDomains) {
|
|
207
|
+
throw Error(`Failed to get all domains list`);
|
|
208
|
+
}
|
|
209
|
+
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
210
|
+
let payload = {
|
|
211
|
+
name: name,
|
|
212
|
+
traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
213
|
+
domain_id: domain.id,
|
|
214
|
+
parameters: (0, keitaro_utils_1.prepareOWCampaignParameters)(app)
|
|
215
|
+
};
|
|
216
|
+
const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
|
|
217
217
|
return campaign;
|
|
218
218
|
}
|
|
219
219
|
catch (error) {
|
|
220
|
-
// Розширене логування помилки
|
|
221
220
|
console.error('Campaign creation failed. Details:', {
|
|
222
|
-
payload: campaignPayload,
|
|
223
221
|
errorStatus: error.response?.status,
|
|
224
222
|
errorData: error.response?.data,
|
|
225
223
|
errorMessage: error.message
|
package/package.json
CHANGED
|
@@ -238,42 +238,44 @@ 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
|
+
|
|
250
|
+
if (campaigns.length == 0) throw Error("Campaign cloning falied")
|
|
251
|
+
|
|
252
|
+
let clonedCampaign: IKeitaroCampaign = campaigns[0]
|
|
253
|
+
|
|
249
254
|
let allDomains = await KeitaroService.getDomains(true)
|
|
250
|
-
if (!allDomains
|
|
251
|
-
throw Error(`Failed to get
|
|
255
|
+
if (!allDomains) {
|
|
256
|
+
throw Error(`Failed to get all domains list`)
|
|
252
257
|
}
|
|
258
|
+
|
|
253
259
|
const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
|
|
254
260
|
|
|
255
|
-
|
|
256
|
-
let campaignPayload: Partial<IKeitaroCampaign> = {
|
|
261
|
+
let payload: Partial<IKeitaroCampaign> = {
|
|
257
262
|
name: name,
|
|
258
263
|
traffic_source_id: TRAFFIC_SOURCE_ID_FLASH_AI,
|
|
259
264
|
domain_id: domain.id,
|
|
260
265
|
parameters: prepareOWCampaignParameters(app)
|
|
261
266
|
}
|
|
262
267
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
// Розширене логування помилки
|
|
269
|
-
console.error('Campaign creation failed. Details:', {
|
|
270
|
-
payload: campaignPayload,
|
|
268
|
+
const { data: campaign } = await keitaroApi.put(`/campaigns/${clonedCampaign.id}`, payload)
|
|
269
|
+
|
|
270
|
+
return campaign
|
|
271
|
+
} catch (error: any) {
|
|
272
|
+
console.error('Campaign creation failed. Details:', {
|
|
271
273
|
errorStatus: error.response?.status,
|
|
272
274
|
errorData: error.response?.data,
|
|
273
275
|
errorMessage: error.message
|
|
274
276
|
})
|
|
275
277
|
throw error
|
|
276
|
-
|
|
278
|
+
}
|
|
277
279
|
}
|
|
278
280
|
|
|
279
281
|
async function cloneDCampaign(app: IApp): Promise<IKeitaroCampaign> {
|