@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
- const campaign = await createCampaign(campaignPayload);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bprotsyk/aso-core",
3
- "version": "2.1.48",
3
+ "version": "2.1.50",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "scripts": {
@@ -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 || allDomains.length === 0) {
251
- throw Error(`Failed to get active domains`)
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
- try {
265
- const campaign = await createCampaign(campaignPayload)
266
- return campaign
267
- } catch (error: any) {
268
- // Розширене логування помилки
269
- console.error('Campaign creation failed. Details:', {
270
- payload: campaignPayload,
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> {