@bprotsyk/aso-core 1.2.233 → 1.2.235

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.
Files changed (327) hide show
  1. package/README.md +1 -1
  2. package/docs/assets/highlight.css +22 -22
  3. package/docs/assets/main.js +58 -58
  4. package/docs/assets/style.css +1279 -1279
  5. package/docs/enums/PanelUserAccessScope.html +126 -126
  6. package/docs/functions/ASO_v0.toDefault.html +80 -80
  7. package/docs/functions/ASO_v1.toDefault.html +80 -80
  8. package/docs/functions/ASO_v2.toDefault.html +78 -78
  9. package/docs/functions/ASO_v3.toDefault.html +77 -77
  10. package/docs/functions/ASO_v4.toDefault.html +75 -75
  11. package/docs/functions/ASO_v5.toDefault.html +76 -76
  12. package/docs/functions/ColoredText.html +92 -92
  13. package/docs/functions/ShapeDiv.html +109 -109
  14. package/docs/index.html +82 -82
  15. package/docs/interfaces/ASOConfigFetch.IUsageLogEntry.html +1413 -1413
  16. package/docs/interfaces/ASOConfigFetch.IUsageLogRequest.html +103 -103
  17. package/docs/interfaces/ASOConfigFetch.IUsageLogResponse.html +108 -108
  18. package/docs/interfaces/ASO_v0.IAuthorizationActionMapping.html +145 -145
  19. package/docs/interfaces/ASO_v0.IColoredSpan.html +89 -89
  20. package/docs/interfaces/ASO_v0.IColoredSpanMapping.html +89 -89
  21. package/docs/interfaces/ASO_v0.IColoredString.html +89 -89
  22. package/docs/interfaces/ASO_v0.IColoredStringMapping.html +89 -89
  23. package/docs/interfaces/ASO_v0.IConfig.html +556 -556
  24. package/docs/interfaces/ASO_v0.IConfigMapping.html +229 -229
  25. package/docs/interfaces/ASO_v0.ILocalization.html +516 -516
  26. package/docs/interfaces/ASO_v0.ILocalizationMap.html +77 -77
  27. package/docs/interfaces/ASO_v0.ILocalizationMapping.html +502 -502
  28. package/docs/interfaces/ASO_v0.IOfferResult.html +103 -103
  29. package/docs/interfaces/ASO_v0.IOfferResultEmoji.html +82 -82
  30. package/docs/interfaces/ASO_v0.IOfferResultMapping.html +117 -117
  31. package/docs/interfaces/ASO_v0.IOfferSectionMapping.html +108 -108
  32. package/docs/interfaces/ASO_v0.IOffersSection.html +96 -96
  33. package/docs/interfaces/ASO_v0.ISectionPalette.html +152 -152
  34. package/docs/interfaces/ASO_v0.ISectionPaletteMapping.html +152 -152
  35. package/docs/interfaces/ASO_v1.IAuthorizationActionMapping.html +145 -145
  36. package/docs/interfaces/ASO_v1.IColoredSpan.html +89 -89
  37. package/docs/interfaces/ASO_v1.IColoredSpanMapping.html +89 -89
  38. package/docs/interfaces/ASO_v1.IColoredString.html +89 -89
  39. package/docs/interfaces/ASO_v1.IColoredStringMapping.html +89 -89
  40. package/docs/interfaces/ASO_v1.IConfig.html +549 -549
  41. package/docs/interfaces/ASO_v1.IConfigMapping.html +229 -229
  42. package/docs/interfaces/ASO_v1.ILocalization.html +481 -481
  43. package/docs/interfaces/ASO_v1.ILocalizationMap.html +77 -77
  44. package/docs/interfaces/ASO_v1.ILocalizationMapping.html +481 -481
  45. package/docs/interfaces/ASO_v1.IOfferResult.html +103 -103
  46. package/docs/interfaces/ASO_v1.IOfferResultEmoji.html +82 -82
  47. package/docs/interfaces/ASO_v1.IOfferResultMapping.html +117 -117
  48. package/docs/interfaces/ASO_v1.IOfferSectionMapping.html +108 -108
  49. package/docs/interfaces/ASO_v1.IOffersSection.html +101 -101
  50. package/docs/interfaces/ASO_v1.ISectionPalette.html +152 -152
  51. package/docs/interfaces/ASO_v1.ISectionPaletteMapping.html +152 -152
  52. package/docs/interfaces/ASO_v2.IAuthorizationActionMapping.html +138 -138
  53. package/docs/interfaces/ASO_v2.IColoredSpanMapping.html +89 -89
  54. package/docs/interfaces/ASO_v2.IColoredString.html +89 -89
  55. package/docs/interfaces/ASO_v2.IColoredStringMapping.html +89 -89
  56. package/docs/interfaces/ASO_v2.IConfig.html +493 -493
  57. package/docs/interfaces/ASO_v2.IConfigMapping.html +201 -201
  58. package/docs/interfaces/ASO_v2.ILocalization.html +474 -474
  59. package/docs/interfaces/ASO_v2.ILocalizationMap.html +75 -75
  60. package/docs/interfaces/ASO_v2.ILocalizationMapping.html +362 -362
  61. package/docs/interfaces/ASO_v2.IOfferResult.html +110 -110
  62. package/docs/interfaces/ASO_v2.IOfferResultMapping.html +117 -117
  63. package/docs/interfaces/ASO_v2.IOfferSectionMapping.html +108 -108
  64. package/docs/interfaces/ASO_v2.IOffersSection.html +101 -101
  65. package/docs/interfaces/ASO_v2.ISectionPalette.html +152 -152
  66. package/docs/interfaces/ASO_v2.ISectionPaletteMapping.html +152 -152
  67. package/docs/interfaces/ASO_v3.IAuthorizationActionMapping.html +138 -138
  68. package/docs/interfaces/ASO_v3.IColoredSpanMapping.html +89 -89
  69. package/docs/interfaces/ASO_v3.IColoredString.html +89 -89
  70. package/docs/interfaces/ASO_v3.IColoredStringMapping.html +89 -89
  71. package/docs/interfaces/ASO_v3.IConfig.html +514 -514
  72. package/docs/interfaces/ASO_v3.IConfigMapping.html +208 -208
  73. package/docs/interfaces/ASO_v3.ILocalization.html +446 -446
  74. package/docs/interfaces/ASO_v3.ILocalizationMap.html +74 -74
  75. package/docs/interfaces/ASO_v3.ILocalizationMapping.html +341 -341
  76. package/docs/interfaces/ASO_v3.IOfferResultMapping.html +117 -117
  77. package/docs/interfaces/ASO_v3.IOfferSectionMapping.html +108 -108
  78. package/docs/interfaces/ASO_v3.IOffersSection.html +101 -101
  79. package/docs/interfaces/ASO_v3.ISectionPalette.html +152 -152
  80. package/docs/interfaces/ASO_v3.ISectionPaletteMapping.html +152 -152
  81. package/docs/interfaces/ASO_v4.IAuthorizationActionMapping.html +138 -138
  82. package/docs/interfaces/ASO_v4.IColoredSpanMapping.html +89 -89
  83. package/docs/interfaces/ASO_v4.IColoredString.html +89 -89
  84. package/docs/interfaces/ASO_v4.IColoredStringMapping.html +89 -89
  85. package/docs/interfaces/ASO_v4.IConfig.html +514 -514
  86. package/docs/interfaces/ASO_v4.IConfigMapping.html +131 -131
  87. package/docs/interfaces/ASO_v4.ILocalization.html +369 -369
  88. package/docs/interfaces/ASO_v4.ILocalizationMap.html +72 -72
  89. package/docs/interfaces/ASO_v4.ILocalizationMapping.html +257 -257
  90. package/docs/interfaces/ASO_v4.IOfferResultMapping.html +117 -117
  91. package/docs/interfaces/ASO_v4.IOfferSectionMapping.html +89 -89
  92. package/docs/interfaces/ASO_v4.LocalizedString.html +82 -82
  93. package/docs/interfaces/ASO_v5.IAuthorizationActionMapping.html +138 -138
  94. package/docs/interfaces/ASO_v5.IColoredSpan.html +89 -89
  95. package/docs/interfaces/ASO_v5.IColoredSpanMapping.html +89 -89
  96. package/docs/interfaces/ASO_v5.IColoredString.html +89 -89
  97. package/docs/interfaces/ASO_v5.IColoredStringMapping.html +89 -89
  98. package/docs/interfaces/ASO_v5.IConfig.html +542 -542
  99. package/docs/interfaces/ASO_v5.IConfigMapping.html +159 -159
  100. package/docs/interfaces/ASO_v5.ILocalization.html +411 -411
  101. package/docs/interfaces/ASO_v5.ILocalizationMap.html +73 -73
  102. package/docs/interfaces/ASO_v5.ILocalizationMapping.html +299 -299
  103. package/docs/interfaces/ASO_v5.IOfferResultMapping.html +117 -117
  104. package/docs/interfaces/ASO_v5.IOfferSectionMapping.html +89 -89
  105. package/docs/interfaces/ASO_v5.LocalizedString.html +82 -82
  106. package/docs/interfaces/IAsoConfigResponse.html +81 -81
  107. package/docs/interfaces/IAsoCustomizedOffer.html +116 -116
  108. package/docs/interfaces/IAsoDefaultConfig.html +443 -443
  109. package/docs/interfaces/IAsoOfferResponse.html +81 -81
  110. package/docs/interfaces/IAsoSection.html +88 -88
  111. package/docs/interfaces/IAsoSingleOffer.html +88 -88
  112. package/docs/interfaces/IAuthToken.html +102 -102
  113. package/docs/interfaces/IColoredTextProps.html +74 -74
  114. package/docs/interfaces/IFlashApp.html +144 -144
  115. package/docs/interfaces/IFlashAppListItem.html +88 -88
  116. package/docs/interfaces/IGradient.html +95 -95
  117. package/docs/interfaces/IOffer.html +137 -137
  118. package/docs/interfaces/IOfferWallAuthConfig.html +130 -130
  119. package/docs/interfaces/IOfferWallAuthLocalization.html +102 -102
  120. package/docs/interfaces/IOfferWallAuthSubmitRequest.html +74 -74
  121. package/docs/interfaces/IOfferWallAuthSubmitResponse.html +74 -74
  122. package/docs/interfaces/IOfferWallHomeDialogData.html +95 -95
  123. package/docs/interfaces/IOfferWallOffer.html +109 -109
  124. package/docs/interfaces/IOfferWallResponse.html +81 -81
  125. package/docs/interfaces/IOfferWallSection.html +88 -88
  126. package/docs/interfaces/IPanelUser.html +1405 -1405
  127. package/docs/interfaces/IPush.html +95 -95
  128. package/docs/interfaces/IShape.html +102 -102
  129. package/docs/interfaces/IStroke.html +81 -81
  130. package/docs/interfaces/IUpsertFlashAppRequest.html +214 -214
  131. package/docs/interfaces/IUpsertFlashAppResponse.html +81 -81
  132. package/docs/modules/ASOConfigFetch.html +63 -63
  133. package/docs/modules/ASO_v0.html +96 -96
  134. package/docs/modules/ASO_v1.html +96 -96
  135. package/docs/modules/ASO_v2.html +92 -92
  136. package/docs/modules/ASO_v3.html +90 -90
  137. package/docs/modules/ASO_v4.html +86 -86
  138. package/docs/modules/ASO_v5.html +88 -88
  139. package/docs/modules.html +133 -133
  140. package/docs/variables/FlashAppSchema.html +83 -83
  141. package/docs/variables/PanelUserSchema.html +83 -83
  142. package/lib/app/app-integration.d.ts +53 -53
  143. package/lib/app/app-integration.js +63 -63
  144. package/lib/app/app-list-item.d.ts +5 -5
  145. package/lib/app/app-list-item.js +2 -2
  146. package/lib/app/app-type.d.ts +4 -4
  147. package/lib/app/app-type.js +8 -8
  148. package/lib/app/app.d.ts +178 -177
  149. package/lib/app/app.js +216 -216
  150. package/lib/general/cloudflare-domain.d.ts +42 -42
  151. package/lib/general/cloudflare-domain.js +12 -12
  152. package/lib/general/colored-text.d.ts +7 -7
  153. package/lib/general/colored-text.js +28 -28
  154. package/lib/general/domain.d.ts +92 -92
  155. package/lib/general/domain.js +38 -38
  156. package/lib/general/namecheap-domain.d.ts +80 -79
  157. package/lib/general/namecheap-domain.js +14 -14
  158. package/lib/general/push.d.ts +6 -6
  159. package/lib/general/push.js +2 -2
  160. package/lib/general/queue.d.ts +2 -2
  161. package/lib/general/queue.js +1 -1
  162. package/lib/general/shape.d.ts +18 -18
  163. package/lib/general/shape.js +33 -33
  164. package/lib/index.d.ts +25 -25
  165. package/lib/index.js +42 -42
  166. package/lib/keitaro/keitaro-campaign.d.ts +31 -31
  167. package/lib/keitaro/keitaro-campaign.js +5 -5
  168. package/lib/keitaro/keitaro-domain.d.ts +6 -6
  169. package/lib/keitaro/keitaro-domain.js +2 -2
  170. package/lib/keitaro/keitaro-offer.d.ts +7 -7
  171. package/lib/keitaro/keitaro-offer.js +2 -2
  172. package/lib/keitaro/keitaro-stream.d.ts +20 -20
  173. package/lib/keitaro/keitaro-stream.js +2 -2
  174. package/lib/models/cloudflare-domain.d.ts +42 -42
  175. package/lib/models/cloudflare-domain.js +12 -12
  176. package/lib/models/domain.d.ts +92 -92
  177. package/lib/models/domain.js +38 -38
  178. package/lib/models/namecheap-domain.d.ts +80 -80
  179. package/lib/models/namecheap-domain.js +14 -14
  180. package/lib/network/keitaro/http.d.ts +2 -2
  181. package/lib/network/keitaro/http.js +9 -9
  182. package/lib/network/keitaro/keitaro-service.d.ts +50 -50
  183. package/lib/network/keitaro/keitaro-service.js +257 -257
  184. package/lib/offers/list.d.ts +37 -37
  185. package/lib/offers/list.js +12 -12
  186. package/lib/offers/offer.d.ts +91 -91
  187. package/lib/offers/offer.js +42 -42
  188. package/lib/offers/offerwall/offerwall-home-dialog-data.d.ts +6 -6
  189. package/lib/offers/offerwall/offerwall-home-dialog-data.js +2 -2
  190. package/lib/offers/offerwall/offerwall-offer.d.ts +12 -12
  191. package/lib/offers/offerwall/offerwall-offer.js +2 -2
  192. package/lib/offers/offerwall/offerwall-response.d.ts +6 -6
  193. package/lib/offers/offerwall/offerwall-response.js +2 -2
  194. package/lib/offers/offerwall/offerwall-section.d.ts +6 -6
  195. package/lib/offers/offerwall/offerwall-section.js +2 -2
  196. package/lib/offers/section.d.ts +47 -47
  197. package/lib/offers/section.js +20 -20
  198. package/lib/panel/auth.d.ts +8 -8
  199. package/lib/panel/auth.js +2 -2
  200. package/lib/panel/flash/create-flash-app-request.d.ts +28 -28
  201. package/lib/panel/flash/create-flash-app-request.js +2 -2
  202. package/lib/panel/flash/upsert-flash-app-request.d.ts +27 -27
  203. package/lib/panel/flash/upsert-flash-app-request.js +2 -2
  204. package/lib/panel/user.d.ts +46 -46
  205. package/lib/panel/user.js +28 -28
  206. package/lib/shared/colored-text.d.ts +7 -7
  207. package/lib/shared/colored-text.js +28 -28
  208. package/lib/shared/offer.d.ts +12 -12
  209. package/lib/shared/offer.js +2 -2
  210. package/lib/shared/push.d.ts +6 -6
  211. package/lib/shared/push.js +2 -2
  212. package/lib/shared/queue.d.ts +1 -1
  213. package/lib/shared/queue.js +2 -2
  214. package/lib/shared/shape.d.ts +18 -18
  215. package/lib/shared/shape.js +36 -36
  216. package/lib/shared/single-offer.d.ts +5 -5
  217. package/lib/shared/single-offer.js +2 -2
  218. package/lib/utils/app-gathering-utils.d.ts +15 -15
  219. package/lib/utils/app-gathering-utils.js +2 -2
  220. package/lib/utils/general.d.ts +11 -11
  221. package/lib/utils/general.js +40 -40
  222. package/lib/utils/huawei/converter.d.ts +2 -2
  223. package/lib/utils/huawei/converter.js +53 -53
  224. package/lib/utils/keitaro-utils.d.ts +15 -15
  225. package/lib/utils/keitaro-utils.js +541 -541
  226. package/lib/utils/server-util.d.ts +19 -19
  227. package/lib/utils/server-util.js +115 -115
  228. package/package.json +46 -46
  229. package/src/app/app-integration.ts +66 -66
  230. package/src/app/app-list-item.ts +4 -4
  231. package/src/app/app-type.ts +3 -3
  232. package/src/app/app.ts +353 -353
  233. package/src/general/cloudflare-domain.ts +44 -44
  234. package/src/general/domain.ts +75 -75
  235. package/src/general/namecheap-domain.ts +56 -56
  236. package/src/general/push.ts +5 -5
  237. package/src/general/queue.ts +4 -4
  238. package/src/general/shape.tsx +55 -55
  239. package/src/index.ts +31 -31
  240. package/src/keitaro/keitaro-campaign.ts +35 -35
  241. package/src/keitaro/keitaro-domain.ts +5 -5
  242. package/src/keitaro/keitaro-offer.ts +6 -6
  243. package/src/keitaro/keitaro-stream.ts +19 -19
  244. package/src/network/keitaro/http.ts +8 -8
  245. package/src/network/keitaro/keitaro-service.ts +322 -322
  246. package/src/offers/list.ts +19 -19
  247. package/src/offers/offer.ts +80 -80
  248. package/src/offers/offerwall/offerwall-home-dialog-data.ts +6 -6
  249. package/src/offers/offerwall/offerwall-offer.ts +12 -12
  250. package/src/offers/offerwall/offerwall-response.ts +7 -7
  251. package/src/offers/offerwall/offerwall-section.ts +7 -7
  252. package/src/offers/section.ts +29 -29
  253. package/src/panel/auth.ts +8 -8
  254. package/src/panel/flash/upsert-flash-app-request.ts +37 -37
  255. package/src/panel/user.ts +38 -38
  256. package/src/utils/data.csv +65 -65
  257. package/src/utils/general.ts +36 -36
  258. package/src/utils/huawei/converter.ts +55 -55
  259. package/src/utils/keitaro-utils.ts +626 -626
  260. package/src/utils/map-apps.json +4747 -4747
  261. package/src/utils/server-util.ts +123 -123
  262. package/src/utils/update-postbacks.js +27 -27
  263. package/tsconfig.json +16 -16
  264. package/lib/aso/config/aso-config-v0.d.ts +0 -333
  265. package/lib/aso/config/aso-config-v0.js +0 -59
  266. package/lib/aso/config/aso-config-v1.d.ts +0 -330
  267. package/lib/aso/config/aso-config-v1.js +0 -58
  268. package/lib/aso/config/aso-config-v2.d.ts +0 -297
  269. package/lib/aso/config/aso-config-v2.js +0 -57
  270. package/lib/aso/config/aso-config-v3.d.ts +0 -294
  271. package/lib/aso/config/aso-config-v3.js +0 -58
  272. package/lib/aso/config/aso-config-v4.d.ts +0 -208
  273. package/lib/aso/config/aso-config-v4.js +0 -58
  274. package/lib/aso/config/aso-config-v5.d.ts +0 -227
  275. package/lib/aso/config/aso-config-v5.js +0 -58
  276. package/lib/aso/config/aso-default-config.d.ts +0 -57
  277. package/lib/aso/config/aso-default-config.js +0 -2
  278. package/lib/aso/config/aso-single-response.d.ts +0 -5
  279. package/lib/aso/config/aso-single-response.js +0 -2
  280. package/lib/aso/offer/aso-customized-offer.d.ts +0 -11
  281. package/lib/aso/offer/aso-customized-offer.js +0 -2
  282. package/lib/aso/offer/aso-offer-response.d.ts +0 -6
  283. package/lib/aso/offer/aso-offer-response.js +0 -2
  284. package/lib/aso/offer/aso-offer-section.d.ts +0 -6
  285. package/lib/aso/offer/aso-offer-section.js +0 -2
  286. package/lib/aso/offer/aso-single-offer.d.ts +0 -5
  287. package/lib/aso/offer/aso-single-offer.js +0 -2
  288. package/lib/aso/offer/config/aso-config-v0.d.ts +0 -271
  289. package/lib/aso/offer/config/aso-config-v0.js +0 -57
  290. package/lib/aso/offer/config/aso-config-v1.d.ts +0 -263
  291. package/lib/aso/offer/config/aso-config-v1.js +0 -57
  292. package/lib/aso/offer/config/aso-config-v2.d.ts +0 -230
  293. package/lib/aso/offer/config/aso-config-v2.js +0 -55
  294. package/lib/aso/offer/config/aso-config-v3.d.ts +0 -227
  295. package/lib/aso/offer/config/aso-config-v3.js +0 -56
  296. package/lib/aso/offer/config/aso-config-v4.d.ts +0 -205
  297. package/lib/aso/offer/config/aso-config-v4.js +0 -56
  298. package/lib/aso/offer/config/aso-default-config.d.ts +0 -56
  299. package/lib/aso/offer/config/aso-default-config.js +0 -2
  300. package/lib/aso/offer/config/aso-single-response.d.ts +0 -5
  301. package/lib/aso/offer/config/aso-single-response.js +0 -2
  302. package/lib/aso/offerwall/auth/offerwall-auth-config.d.ts +0 -14
  303. package/lib/aso/offerwall/auth/offerwall-auth-config.js +0 -2
  304. package/lib/aso/offerwall/auth/offerwall-auth-localization.d.ts +0 -8
  305. package/lib/aso/offerwall/auth/offerwall-auth-localization.js +0 -2
  306. package/lib/aso/offerwall/auth/offerwall-auth-submit-request.d.ts +0 -3
  307. package/lib/aso/offerwall/auth/offerwall-auth-submit-request.js +0 -2
  308. package/lib/aso/offerwall/auth/offerwall-auth-submit-response.d.ts +0 -3
  309. package/lib/aso/offerwall/auth/offerwall-auth-submit-response.js +0 -2
  310. package/lib/aso/offerwall/offerwall-home-dialog-data.d.ts +0 -6
  311. package/lib/aso/offerwall/offerwall-home-dialog-data.js +0 -2
  312. package/lib/aso/offerwall/offerwall-offer.d.ts +0 -8
  313. package/lib/aso/offerwall/offerwall-offer.js +0 -2
  314. package/lib/aso/offerwall/offerwall-response.d.ts +0 -6
  315. package/lib/aso/offerwall/offerwall-response.js +0 -2
  316. package/lib/aso/offerwall/offerwall-section.d.ts +0 -6
  317. package/lib/aso/offerwall/offerwall-section.js +0 -2
  318. package/lib/aso/usage-logs/aso-config-fetch-entry.d.ts +0 -28
  319. package/lib/aso/usage-logs/aso-config-fetch-entry.js +0 -2
  320. package/lib/flash/flash-app-integration.d.ts +0 -53
  321. package/lib/flash/flash-app-integration.js +0 -63
  322. package/lib/flash/flash-app-list-item.d.ts +0 -5
  323. package/lib/flash/flash-app-list-item.js +0 -2
  324. package/lib/flash/flash-app-type.d.ts +0 -4
  325. package/lib/flash/flash-app-type.js +0 -8
  326. package/lib/flash/flash-app.d.ts +0 -169
  327. package/lib/flash/flash-app.js +0 -215
@@ -1,257 +1,257 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeitaroService = exports.upsertStreamToCampaign = void 0;
4
- const http_1 = require("./http");
5
- const keitaro_utils_1 = require("../../utils/keitaro-utils");
6
- const general_1 = require("../../utils/general");
7
- async function getStreamsByCampaignId(campaignId) {
8
- const { data: streams } = await http_1.default.get(`campaigns/${campaignId}/streams`);
9
- return streams;
10
- }
11
- async function getAllCampaigns() {
12
- const { data: campaigns } = await http_1.default.get('campaigns');
13
- return campaigns;
14
- }
15
- async function cloneStreams(originalCampaignId, streamPositionsToClone, campaignRegExp) {
16
- // Get the original campaign's streams
17
- const originalStreams = await getStreamsByCampaignId(originalCampaignId);
18
- // Filter the original streams by the given stream positions to clone
19
- const streamsToClone = originalStreams.filter(stream => streamPositionsToClone.includes(stream.position));
20
- // Get a list of all campaigns
21
- const allCampaigns = await getAllCampaigns();
22
- // Filter the campaigns by the given RegExp
23
- const matchingCampaigns = allCampaigns.filter(campaign => campaignRegExp.exec(campaign.name) && campaign.id != originalCampaignId);
24
- // console.log(matchingCampaigns)
25
- // For each matching campaign, clone the streams
26
- for (const matchingCampaign of matchingCampaigns) {
27
- for (const streamToClone of streamsToClone) {
28
- await http_1.default.post('streams', {
29
- name: streamToClone.name,
30
- campaign_id: matchingCampaign.id,
31
- schema: streamToClone.schema,
32
- type: streamToClone.type,
33
- action_type: streamToClone.action_type,
34
- weight: 100,
35
- offers: streamToClone.offers.map((offer) => {
36
- return {
37
- offer_id: offer.offer_id,
38
- share: 100
39
- };
40
- }),
41
- filters: streamToClone.filters.map((filter) => {
42
- return {
43
- name: filter.name,
44
- mode: filter.mode,
45
- payload: filter.payload
46
- };
47
- }),
48
- });
49
- }
50
- }
51
- }
52
- async function updateCampaign(id, payload) {
53
- await http_1.default.put(`campaigns/${id}`, payload);
54
- }
55
- async function createStreamForMatchingCampaigns(streamPartialPayload, offerId, campaignRegExp, onlyInGroup) {
56
- // Get a list of all campaigns
57
- const allCampaigns = await getAllCampaigns();
58
- // Filter the campaigns by the given RegExp
59
- const matchingCampaigns = allCampaigns.filter(campaign => (onlyInGroup ? campaign.group_id == onlyInGroup : true) && campaignRegExp.exec(campaign.name));
60
- // console.log(matchingCampaigns)
61
- // For each matching campaign, clone the streams
62
- for (const matchingCampaign of matchingCampaigns) {
63
- let streams = await getStreamsByCampaignId(matchingCampaign.id);
64
- let identicalStream = streams.find((stream) => stream.name.includes(offerId));
65
- if (identicalStream) {
66
- await http_1.default.put(`streams/${identicalStream.id}`, {
67
- campaign_id: matchingCampaign.id,
68
- ...streamPartialPayload
69
- });
70
- }
71
- else {
72
- await http_1.default.post('streams', {
73
- campaign_id: matchingCampaign.id,
74
- ...streamPartialPayload
75
- });
76
- }
77
- }
78
- }
79
- async function getAllOffers() {
80
- const { data: offers } = await http_1.default.get('offers');
81
- return offers;
82
- }
83
- async function findKeitaroOffers(filter) {
84
- let offers = await getAllOffers();
85
- if (filter.caption)
86
- offers = offers.filter((o) => o.name.includes(filter.caption));
87
- if (filter.keitaroId)
88
- offers = offers.filter((o) => o.id == filter.keitaroId);
89
- if (filter.name)
90
- offers = offers.filter((o) => o.name.includes(filter.name));
91
- return offers;
92
- }
93
- async function getOfferByKeitaroId(id) {
94
- const { data: offer } = await http_1.default.get(`offers/${id}`);
95
- return offer;
96
- }
97
- async function updateOffer(offer) {
98
- const { data: o } = await http_1.default.put(`offers/${offer.id}`, offer);
99
- return o;
100
- }
101
- function createStreamPartialPayload(keitaroOfferId, offerName, offerId, offerGeo) {
102
- return {
103
- name: `${offerName} ${offerGeo} (${offerId})`,
104
- schema: "landings",
105
- type: "regular",
106
- action_type: "http",
107
- weight: 100,
108
- offers: [{
109
- offer_id: keitaroOfferId,
110
- share: 100,
111
- state: "active"
112
- }],
113
- filters: [{
114
- name: "sub_id_15",
115
- mode: "accept",
116
- payload: [offerId]
117
- }],
118
- };
119
- }
120
- async function addOfferToKeitaro(offer, affiliateId, link, campaignGroupId, groupId) {
121
- // TODO look if offer already exists by offer.name
122
- let allOffers = await getAllOffers();
123
- let identicalOffer = allOffers.find((o) => { return o.name.includes(offer.name); });
124
- let keitaroOfferId;
125
- if (identicalOffer) {
126
- keitaroOfferId = identicalOffer.id;
127
- }
128
- else {
129
- let offerPayload = {
130
- name: `${offer.caption} ${offer.geo} (${offer.name})`,
131
- group_id: groupId || 1,
132
- action_payload: link,
133
- affiliate_network_id: affiliateId,
134
- country: [offer.geo],
135
- action_type: "http",
136
- offer_type: "external",
137
- payout_auto: true,
138
- payout_upsell: true,
139
- };
140
- const { data: keitaroOffer } = await http_1.default.post(`offers`, offerPayload);
141
- keitaroOfferId = keitaroOffer.id;
142
- }
143
- let streamPartialPayload = createStreamPartialPayload(keitaroOfferId, offer.caption, offer.name, offer.geo);
144
- await createStreamForMatchingCampaigns(streamPartialPayload, offer.name, /^(FA #|A #)/, campaignGroupId);
145
- }
146
- async function createCampaign(campaignData) {
147
- let { data: campaign } = await http_1.default.post(`/campaigns`, campaignData);
148
- return campaign;
149
- }
150
- async function getCampaignById(id) {
151
- const { data: campaign } = await http_1.default.get(`/campaigns/${id}`);
152
- return campaign;
153
- }
154
- async function upsertStreamToCampaign(campaign, stream) {
155
- let streams = await getStreamsByCampaignId(campaign.id);
156
- let identicalStream = streams.find((s) => stream.name == s.name);
157
- if (identicalStream) {
158
- console.log(`Found identical! Name: ${stream.name}`);
159
- await http_1.default.put(`streams/${identicalStream.id}`, {
160
- campaign_id: campaign.id,
161
- ...stream
162
- });
163
- }
164
- else {
165
- await http_1.default.post('streams', {
166
- campaign_id: campaign.id,
167
- ...stream
168
- });
169
- }
170
- }
171
- exports.upsertStreamToCampaign = upsertStreamToCampaign;
172
- async function cloneOWCampaign(app) {
173
- let name = `FA #${app.id} (${app.bundle})`;
174
- let allCampaigns = await getAllCampaigns();
175
- let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`FA #${app.id}`));
176
- if (matchingCampaign.length > 0)
177
- return matchingCampaign[0];
178
- const { data: campaigns } = await http_1.default.post(`/campaigns/2687/clone`);
179
- if (campaigns.length == 0)
180
- throw Error("Campaign cloning falied");
181
- let clonedCampaign = campaigns[0];
182
- let allDomains = await exports.KeitaroService.getDomains(true);
183
- if (!allDomains) {
184
- throw Error(`Failed to get all domains list`);
185
- }
186
- const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
187
- let payload = {
188
- name: name,
189
- traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
190
- domain_id: domain.id,
191
- parameters: (0, keitaro_utils_1.prepareOWCampaignParameters)(app)
192
- };
193
- const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
194
- return campaign;
195
- }
196
- async function cloneDCampaign(app) {
197
- let name = `D #${app.id} (${app.bundle})`;
198
- let allCampaigns = await getAllCampaigns();
199
- let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`D #${app.id}`));
200
- if (matchingCampaign.length > 0)
201
- return matchingCampaign[0];
202
- const { data: campaigns } = await http_1.default.post(`/campaigns/2693/clone`);
203
- if (campaigns.length == 0)
204
- throw Error("Campaign cloning falied");
205
- let clonedCampaign = campaigns[0];
206
- let allDomains = await exports.KeitaroService.getDomains(true);
207
- if (!allDomains) {
208
- throw Error(`Failed to get all domains list`);
209
- }
210
- const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
211
- let payload = {
212
- name: name,
213
- traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
214
- domain_id: domain.id,
215
- group_id: 93,
216
- };
217
- const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
218
- return campaign;
219
- }
220
- async function changeCampaignsGroup(fromId, toId, exceptForCampaignIds) {
221
- let campaigns = await getAllCampaigns();
222
- const matchingCampaigns = campaigns.filter(campaign => campaign.group_id == fromId && !exceptForCampaignIds.includes(campaign.id));
223
- for (let campaign of matchingCampaigns) {
224
- await updateCampaign(campaign.id, { group_id: toId });
225
- }
226
- }
227
- // Domain
228
- async function getDomains(onlyActive) {
229
- const { data: domains } = await http_1.default.get(`/domains`);
230
- return onlyActive ? domains.filter((d) => d.network_status == "active") : domains;
231
- }
232
- async function getProfitForTimeRange(from, to) {
233
- let fromString = (0, general_1.convertMillisToDate)(from);
234
- let toString = (0, general_1.convertMillisToDate)(to);
235
- let { data: data } = await http_1.default.post(`/report/build`, {
236
- range: {
237
- from: fromString,
238
- to: toString,
239
- timezone: 'Europe/Kyiv'
240
- },
241
- metrics: ['profit']
242
- });
243
- return data.rows[0].profit;
244
- }
245
- async function getProfitForTodayAndYesterday() {
246
- let timestamps = (0, general_1.getTimestampsForTodayAndYesterday)();
247
- let today = await exports.KeitaroService.getProfitForTimeRange(timestamps.today.start, timestamps.today.end);
248
- let yesterday = await exports.KeitaroService.getProfitForTimeRange(timestamps.yesterday.start, timestamps.yesterday.end);
249
- return {
250
- today: today,
251
- yesterday: yesterday
252
- };
253
- }
254
- exports.KeitaroService = {
255
- getStreamsByCampaignId, updateCampaign, getAllCampaigns, getAllOffers, cloneStreams, addOfferToKeitaro, getOfferByKeitaroId, getDomains, createCampaign, getCampaignById, upsertStreamToCampaign, cloneOWCampaign,
256
- updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday, cloneDCampaign, findKeitaroOffers
257
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeitaroService = exports.upsertStreamToCampaign = void 0;
4
+ const http_1 = require("./http");
5
+ const keitaro_utils_1 = require("../../utils/keitaro-utils");
6
+ const general_1 = require("../../utils/general");
7
+ async function getStreamsByCampaignId(campaignId) {
8
+ const { data: streams } = await http_1.default.get(`campaigns/${campaignId}/streams`);
9
+ return streams;
10
+ }
11
+ async function getAllCampaigns() {
12
+ const { data: campaigns } = await http_1.default.get('campaigns');
13
+ return campaigns;
14
+ }
15
+ async function cloneStreams(originalCampaignId, streamPositionsToClone, campaignRegExp) {
16
+ // Get the original campaign's streams
17
+ const originalStreams = await getStreamsByCampaignId(originalCampaignId);
18
+ // Filter the original streams by the given stream positions to clone
19
+ const streamsToClone = originalStreams.filter(stream => streamPositionsToClone.includes(stream.position));
20
+ // Get a list of all campaigns
21
+ const allCampaigns = await getAllCampaigns();
22
+ // Filter the campaigns by the given RegExp
23
+ const matchingCampaigns = allCampaigns.filter(campaign => campaignRegExp.exec(campaign.name) && campaign.id != originalCampaignId);
24
+ // console.log(matchingCampaigns)
25
+ // For each matching campaign, clone the streams
26
+ for (const matchingCampaign of matchingCampaigns) {
27
+ for (const streamToClone of streamsToClone) {
28
+ await http_1.default.post('streams', {
29
+ name: streamToClone.name,
30
+ campaign_id: matchingCampaign.id,
31
+ schema: streamToClone.schema,
32
+ type: streamToClone.type,
33
+ action_type: streamToClone.action_type,
34
+ weight: 100,
35
+ offers: streamToClone.offers.map((offer) => {
36
+ return {
37
+ offer_id: offer.offer_id,
38
+ share: 100
39
+ };
40
+ }),
41
+ filters: streamToClone.filters.map((filter) => {
42
+ return {
43
+ name: filter.name,
44
+ mode: filter.mode,
45
+ payload: filter.payload
46
+ };
47
+ }),
48
+ });
49
+ }
50
+ }
51
+ }
52
+ async function updateCampaign(id, payload) {
53
+ await http_1.default.put(`campaigns/${id}`, payload);
54
+ }
55
+ async function createStreamForMatchingCampaigns(streamPartialPayload, offerId, campaignRegExp, onlyInGroup) {
56
+ // Get a list of all campaigns
57
+ const allCampaigns = await getAllCampaigns();
58
+ // Filter the campaigns by the given RegExp
59
+ const matchingCampaigns = allCampaigns.filter(campaign => (onlyInGroup ? campaign.group_id == onlyInGroup : true) && campaignRegExp.exec(campaign.name));
60
+ // console.log(matchingCampaigns)
61
+ // For each matching campaign, clone the streams
62
+ for (const matchingCampaign of matchingCampaigns) {
63
+ let streams = await getStreamsByCampaignId(matchingCampaign.id);
64
+ let identicalStream = streams.find((stream) => stream.name.includes(offerId));
65
+ if (identicalStream) {
66
+ await http_1.default.put(`streams/${identicalStream.id}`, {
67
+ campaign_id: matchingCampaign.id,
68
+ ...streamPartialPayload
69
+ });
70
+ }
71
+ else {
72
+ await http_1.default.post('streams', {
73
+ campaign_id: matchingCampaign.id,
74
+ ...streamPartialPayload
75
+ });
76
+ }
77
+ }
78
+ }
79
+ async function getAllOffers() {
80
+ const { data: offers } = await http_1.default.get('offers');
81
+ return offers;
82
+ }
83
+ async function findKeitaroOffers(filter) {
84
+ let offers = await getAllOffers();
85
+ if (filter.caption)
86
+ offers = offers.filter((o) => o.name.includes(filter.caption));
87
+ if (filter.keitaroId)
88
+ offers = offers.filter((o) => o.id == filter.keitaroId);
89
+ if (filter.name)
90
+ offers = offers.filter((o) => o.name.includes(filter.name));
91
+ return offers;
92
+ }
93
+ async function getOfferByKeitaroId(id) {
94
+ const { data: offer } = await http_1.default.get(`offers/${id}`);
95
+ return offer;
96
+ }
97
+ async function updateOffer(offer) {
98
+ const { data: o } = await http_1.default.put(`offers/${offer.id}`, offer);
99
+ return o;
100
+ }
101
+ function createStreamPartialPayload(keitaroOfferId, offerName, offerId, offerGeo) {
102
+ return {
103
+ name: `${offerName} ${offerGeo} (${offerId})`,
104
+ schema: "landings",
105
+ type: "regular",
106
+ action_type: "http",
107
+ weight: 100,
108
+ offers: [{
109
+ offer_id: keitaroOfferId,
110
+ share: 100,
111
+ state: "active"
112
+ }],
113
+ filters: [{
114
+ name: "sub_id_15",
115
+ mode: "accept",
116
+ payload: [offerId]
117
+ }],
118
+ };
119
+ }
120
+ async function addOfferToKeitaro(offer, affiliateId, link, campaignGroupId, groupId) {
121
+ // TODO look if offer already exists by offer.name
122
+ let allOffers = await getAllOffers();
123
+ let identicalOffer = allOffers.find((o) => { return o.name.includes(offer.name); });
124
+ let keitaroOfferId;
125
+ if (identicalOffer) {
126
+ keitaroOfferId = identicalOffer.id;
127
+ }
128
+ else {
129
+ let offerPayload = {
130
+ name: `${offer.caption} ${offer.geo} (${offer.name})`,
131
+ group_id: groupId || 1,
132
+ action_payload: link,
133
+ affiliate_network_id: affiliateId,
134
+ country: [offer.geo],
135
+ action_type: "http",
136
+ offer_type: "external",
137
+ payout_auto: true,
138
+ payout_upsell: true,
139
+ };
140
+ const { data: keitaroOffer } = await http_1.default.post(`offers`, offerPayload);
141
+ keitaroOfferId = keitaroOffer.id;
142
+ }
143
+ let streamPartialPayload = createStreamPartialPayload(keitaroOfferId, offer.caption, offer.name, offer.geo);
144
+ await createStreamForMatchingCampaigns(streamPartialPayload, offer.name, /^(FA #|A #)/, campaignGroupId);
145
+ }
146
+ async function createCampaign(campaignData) {
147
+ let { data: campaign } = await http_1.default.post(`/campaigns`, campaignData);
148
+ return campaign;
149
+ }
150
+ async function getCampaignById(id) {
151
+ const { data: campaign } = await http_1.default.get(`/campaigns/${id}`);
152
+ return campaign;
153
+ }
154
+ async function upsertStreamToCampaign(campaign, stream) {
155
+ let streams = await getStreamsByCampaignId(campaign.id);
156
+ let identicalStream = streams.find((s) => stream.name == s.name);
157
+ if (identicalStream) {
158
+ console.log(`Found identical! Name: ${stream.name}`);
159
+ await http_1.default.put(`streams/${identicalStream.id}`, {
160
+ campaign_id: campaign.id,
161
+ ...stream
162
+ });
163
+ }
164
+ else {
165
+ await http_1.default.post('streams', {
166
+ campaign_id: campaign.id,
167
+ ...stream
168
+ });
169
+ }
170
+ }
171
+ exports.upsertStreamToCampaign = upsertStreamToCampaign;
172
+ async function cloneOWCampaign(app) {
173
+ let name = `FA #${app.id} (${app.bundle})`;
174
+ let allCampaigns = await getAllCampaigns();
175
+ let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`FA #${app.id}`));
176
+ if (matchingCampaign.length > 0)
177
+ return matchingCampaign[0];
178
+ const { data: campaigns } = await http_1.default.post(`/campaigns/2687/clone`);
179
+ if (campaigns.length == 0)
180
+ throw Error("Campaign cloning falied");
181
+ let clonedCampaign = campaigns[0];
182
+ let allDomains = await exports.KeitaroService.getDomains(true);
183
+ if (!allDomains) {
184
+ throw Error(`Failed to get all domains list`);
185
+ }
186
+ const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
187
+ let payload = {
188
+ name: name,
189
+ traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
190
+ domain_id: domain.id,
191
+ parameters: (0, keitaro_utils_1.prepareOWCampaignParameters)(app)
192
+ };
193
+ const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
194
+ return campaign;
195
+ }
196
+ async function cloneDCampaign(app) {
197
+ let name = `D #${app.id} (${app.bundle})`;
198
+ let allCampaigns = await getAllCampaigns();
199
+ let matchingCampaign = allCampaigns.filter((c) => c.name.includes(`D #${app.id}`));
200
+ if (matchingCampaign.length > 0)
201
+ return matchingCampaign[0];
202
+ const { data: campaigns } = await http_1.default.post(`/campaigns/2693/clone`);
203
+ if (campaigns.length == 0)
204
+ throw Error("Campaign cloning falied");
205
+ let clonedCampaign = campaigns[0];
206
+ let allDomains = await exports.KeitaroService.getDomains(true);
207
+ if (!allDomains) {
208
+ throw Error(`Failed to get all domains list`);
209
+ }
210
+ const domain = allDomains[Math.floor(Math.random() * allDomains.length)];
211
+ let payload = {
212
+ name: name,
213
+ traffic_source_id: keitaro_utils_1.TRAFFIC_SOURCE_ID_FLASH_AI,
214
+ domain_id: domain.id,
215
+ group_id: 93,
216
+ };
217
+ const { data: campaign } = await http_1.default.put(`/campaigns/${clonedCampaign.id}`, payload);
218
+ return campaign;
219
+ }
220
+ async function changeCampaignsGroup(fromId, toId, exceptForCampaignIds) {
221
+ let campaigns = await getAllCampaigns();
222
+ const matchingCampaigns = campaigns.filter(campaign => campaign.group_id == fromId && !exceptForCampaignIds.includes(campaign.id));
223
+ for (let campaign of matchingCampaigns) {
224
+ await updateCampaign(campaign.id, { group_id: toId });
225
+ }
226
+ }
227
+ // Domain
228
+ async function getDomains(onlyActive) {
229
+ const { data: domains } = await http_1.default.get(`/domains`);
230
+ return onlyActive ? domains.filter((d) => d.network_status == "active") : domains;
231
+ }
232
+ async function getProfitForTimeRange(from, to) {
233
+ let fromString = (0, general_1.convertMillisToDate)(from);
234
+ let toString = (0, general_1.convertMillisToDate)(to);
235
+ let { data: data } = await http_1.default.post(`/report/build`, {
236
+ range: {
237
+ from: fromString,
238
+ to: toString,
239
+ timezone: 'Europe/Kyiv'
240
+ },
241
+ metrics: ['profit']
242
+ });
243
+ return data.rows[0].profit;
244
+ }
245
+ async function getProfitForTodayAndYesterday() {
246
+ let timestamps = (0, general_1.getTimestampsForTodayAndYesterday)();
247
+ let today = await exports.KeitaroService.getProfitForTimeRange(timestamps.today.start, timestamps.today.end);
248
+ let yesterday = await exports.KeitaroService.getProfitForTimeRange(timestamps.yesterday.start, timestamps.yesterday.end);
249
+ return {
250
+ today: today,
251
+ yesterday: yesterday
252
+ };
253
+ }
254
+ exports.KeitaroService = {
255
+ getStreamsByCampaignId, updateCampaign, getAllCampaigns, getAllOffers, cloneStreams, addOfferToKeitaro, getOfferByKeitaroId, getDomains, createCampaign, getCampaignById, upsertStreamToCampaign, cloneOWCampaign,
256
+ updateOffer, changeCampaignsGroup, getProfitForTimeRange, getProfitForTodayAndYesterday, cloneDCampaign, findKeitaroOffers
257
+ };
@@ -1,37 +1,37 @@
1
- /// <reference types="mongoose/types/aggregate" />
2
- /// <reference types="mongoose/types/callback" />
3
- /// <reference types="mongoose/types/collection" />
4
- /// <reference types="mongoose/types/connection" />
5
- /// <reference types="mongoose/types/cursor" />
6
- /// <reference types="mongoose/types/document" />
7
- /// <reference types="mongoose/types/error" />
8
- /// <reference types="mongoose/types/expressions" />
9
- /// <reference types="mongoose/types/helpers" />
10
- /// <reference types="mongoose/types/middlewares" />
11
- /// <reference types="mongoose/types/indexes" />
12
- /// <reference types="mongoose/types/models" />
13
- /// <reference types="mongoose/types/mongooseoptions" />
14
- /// <reference types="mongoose/types/pipelinestage" />
15
- /// <reference types="mongoose/types/populate" />
16
- /// <reference types="mongoose/types/query" />
17
- /// <reference types="mongoose/types/schemaoptions" />
18
- /// <reference types="mongoose/types/schematypes" />
19
- /// <reference types="mongoose/types/session" />
20
- /// <reference types="mongoose/types/types" />
21
- /// <reference types="mongoose/types/utility" />
22
- /// <reference types="mongoose/types/validation" />
23
- /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose/types/inferschematype" />
25
- import { Schema } from "mongoose";
26
- export interface ISectionsList {
27
- id: number;
28
- content: IAppOffersSection[];
29
- }
30
- export interface IAppOffersSection {
31
- sectionId: number;
32
- offerIdsOrdered: number[];
33
- }
34
- export declare const SectionsListSchema: Schema<any, import("mongoose").Model<any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
35
- content: any[];
36
- id: number;
37
- }>;
1
+ /// <reference types="mongoose/types/aggregate" />
2
+ /// <reference types="mongoose/types/callback" />
3
+ /// <reference types="mongoose/types/collection" />
4
+ /// <reference types="mongoose/types/connection" />
5
+ /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
7
+ /// <reference types="mongoose/types/error" />
8
+ /// <reference types="mongoose/types/expressions" />
9
+ /// <reference types="mongoose/types/helpers" />
10
+ /// <reference types="mongoose/types/middlewares" />
11
+ /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
13
+ /// <reference types="mongoose/types/mongooseoptions" />
14
+ /// <reference types="mongoose/types/pipelinestage" />
15
+ /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
+ /// <reference types="mongoose/types/schemaoptions" />
18
+ /// <reference types="mongoose/types/schematypes" />
19
+ /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
+ /// <reference types="mongoose/types/utility" />
22
+ /// <reference types="mongoose/types/validation" />
23
+ /// <reference types="mongoose/types/virtuals" />
24
+ /// <reference types="mongoose/types/inferschematype" />
25
+ import { Schema } from "mongoose";
26
+ export interface ISectionsList {
27
+ id: number;
28
+ content: IAppOffersSection[];
29
+ }
30
+ export interface IAppOffersSection {
31
+ sectionId: number;
32
+ offerIdsOrdered: number[];
33
+ }
34
+ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
35
+ content: any[];
36
+ id: number;
37
+ }>;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SectionsListSchema = void 0;
4
- const mongoose_1 = require("mongoose");
5
- exports.SectionsListSchema = new mongoose_1.Schema({
6
- id: {
7
- type: Number,
8
- unique: true,
9
- required: true
10
- },
11
- content: [Object],
12
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SectionsListSchema = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ exports.SectionsListSchema = new mongoose_1.Schema({
6
+ id: {
7
+ type: Number,
8
+ unique: true,
9
+ required: true
10
+ },
11
+ content: [Object],
12
+ });