@bprotsyk/aso-core 2.1.37 → 2.1.39

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 (105) hide show
  1. package/README.md +1 -1
  2. package/lib/app/app-integration.d.ts +53 -53
  3. package/lib/app/app-integration.js +63 -63
  4. package/lib/app/app-list-item.d.ts +5 -5
  5. package/lib/app/app-list-item.js +2 -2
  6. package/lib/app/app-type.d.ts +4 -4
  7. package/lib/app/app-type.js +8 -8
  8. package/lib/app/app.d.ts +208 -290
  9. package/lib/app/app.js +156 -156
  10. package/lib/general/cloudflare-domain.d.ts +42 -42
  11. package/lib/general/cloudflare-domain.js +12 -12
  12. package/lib/general/domain.d.ts +110 -169
  13. package/lib/general/domain.js +62 -62
  14. package/lib/general/namecheap-domain.d.ts +85 -132
  15. package/lib/general/namecheap-domain.js +14 -14
  16. package/lib/general/push.d.ts +6 -6
  17. package/lib/general/push.js +2 -2
  18. package/lib/general/queue.d.ts +2 -2
  19. package/lib/general/queue.js +1 -1
  20. package/lib/general/shape.d.ts +18 -18
  21. package/lib/general/shape.js +36 -36
  22. package/lib/index.d.ts +26 -26
  23. package/lib/index.js +69 -69
  24. package/lib/keitaro/keitaro-campaign.d.ts +31 -31
  25. package/lib/keitaro/keitaro-campaign.js +5 -5
  26. package/lib/keitaro/keitaro-domain.d.ts +6 -6
  27. package/lib/keitaro/keitaro-domain.js +2 -2
  28. package/lib/keitaro/keitaro-offer.d.ts +7 -7
  29. package/lib/keitaro/keitaro-offer.js +2 -2
  30. package/lib/keitaro/keitaro-stream.d.ts +20 -20
  31. package/lib/keitaro/keitaro-stream.js +2 -2
  32. package/lib/network/keitaro/http.d.ts +2 -2
  33. package/lib/network/keitaro/http.js +12 -12
  34. package/lib/network/keitaro/keitaro-service.d.ts +50 -48
  35. package/lib/network/keitaro/keitaro-service.js +283 -293
  36. package/lib/offers/list.d.ts +42 -435
  37. package/lib/offers/list.js +12 -12
  38. package/lib/offers/offer.d.ts +91 -152
  39. package/lib/offers/offer.js +42 -42
  40. package/lib/offers/offerwall/offerwall-home-dialog-data.d.ts +6 -6
  41. package/lib/offers/offerwall/offerwall-home-dialog-data.js +2 -2
  42. package/lib/offers/offerwall/offerwall-offer.d.ts +12 -12
  43. package/lib/offers/offerwall/offerwall-offer.js +2 -2
  44. package/lib/offers/offerwall/offerwall-response.d.ts +6 -6
  45. package/lib/offers/offerwall/offerwall-response.js +2 -2
  46. package/lib/offers/offerwall/offerwall-section.d.ts +6 -6
  47. package/lib/offers/offerwall/offerwall-section.js +2 -2
  48. package/lib/offers/section.d.ts +47 -60
  49. package/lib/offers/section.js +20 -20
  50. package/lib/panel/app/upsert-flash-app-request.d.ts +31 -31
  51. package/lib/panel/app/upsert-flash-app-request.js +2 -2
  52. package/lib/panel/auth.d.ts +9 -9
  53. package/lib/panel/auth.js +2 -2
  54. package/lib/panel/flash/upsert-flash-app-request.d.ts +31 -31
  55. package/lib/panel/flash/upsert-flash-app-request.js +2 -2
  56. package/lib/panel/user.d.ts +46 -59
  57. package/lib/panel/user.js +28 -28
  58. package/lib/templates/nginx-template.conf +35 -35
  59. package/lib/templates/nginx-template.d.ts +1 -1
  60. package/lib/templates/nginx-template.js +39 -39
  61. package/lib/templates/nginx-template.ts +35 -35
  62. package/lib/utils/general.d.ts +11 -11
  63. package/lib/utils/general.js +40 -40
  64. package/lib/utils/huawei/converter.d.ts +2 -2
  65. package/lib/utils/huawei/converter.js +53 -53
  66. package/lib/utils/keitaro-utils.d.ts +13 -13
  67. package/lib/utils/keitaro-utils.js +614 -569
  68. package/lib/utils/server-util.js +303 -303
  69. package/package.json +51 -51
  70. package/src/app/app-integration.ts +66 -66
  71. package/src/app/app-list-item.ts +4 -4
  72. package/src/app/app-type.ts +3 -3
  73. package/src/app/app.ts +317 -317
  74. package/src/general/cloudflare-domain.ts +44 -44
  75. package/src/general/domain.ts +106 -106
  76. package/src/general/namecheap-domain.ts +63 -63
  77. package/src/general/push.ts +5 -5
  78. package/src/general/queue.ts +4 -4
  79. package/src/general/shape.tsx +55 -55
  80. package/src/index.ts +32 -32
  81. package/src/keitaro/keitaro-campaign.ts +35 -35
  82. package/src/keitaro/keitaro-domain.ts +5 -5
  83. package/src/keitaro/keitaro-offer.ts +6 -6
  84. package/src/keitaro/keitaro-stream.ts +19 -19
  85. package/src/network/keitaro/http.ts +8 -8
  86. package/src/network/keitaro/keitaro-service.ts +348 -364
  87. package/src/offers/list.ts +22 -19
  88. package/src/offers/offer.ts +80 -80
  89. package/src/offers/offerwall/offerwall-home-dialog-data.ts +6 -6
  90. package/src/offers/offerwall/offerwall-offer.ts +12 -12
  91. package/src/offers/offerwall/offerwall-response.ts +7 -7
  92. package/src/offers/offerwall/offerwall-section.ts +7 -7
  93. package/src/offers/section.ts +29 -29
  94. package/src/panel/app/upsert-flash-app-request.ts +39 -39
  95. package/src/panel/auth.ts +9 -9
  96. package/src/panel/user.ts +38 -38
  97. package/src/templates/nginx-template.ts +35 -35
  98. package/src/utils/data.csv +65 -65
  99. package/src/utils/general.ts +36 -36
  100. package/src/utils/huawei/converter.ts +55 -55
  101. package/src/utils/keitaro-utils.ts +717 -664
  102. package/src/utils/map-apps.json +4747 -4747
  103. package/src/utils/server-util.ts +368 -368
  104. package/src/utils/update-postbacks.js +27 -27
  105. package/tsconfig.json +20 -20
package/src/app/app.ts CHANGED
@@ -1,318 +1,318 @@
1
- import { AlternativeLayoutType, AlternativeLogicType, AlternativeNavigation, AlternativeNetworkTool, AlternativeOnActivityResult, AlternativeOnBackPressed, AlternativeSourceType, AlternativeStorageType } from "index";
2
- import { AppType } from "./app-type";
3
- import mongoose, { Document, Model, model, PipelineStage, Schema, UpdateQuery, UpdateWithAggregationPipeline } from "mongoose";
4
- import { AlternativeFullscreen } from "app/app-integration";
5
- const util = require("util")
6
-
7
- export interface IApp extends Document {
8
- id: number
9
- enabled: boolean,
10
- name: string
11
- trackingUrl?: string
12
- bundle: string
13
-
14
- pushesEnabled?: boolean
15
- policyUrl?: string
16
- type: AppType
17
- geos: string
18
- geo: string[] // new one, actual
19
-
20
- onesignalAppId: string
21
- onesignalRestApiKey: string
22
-
23
- appmetricaApiKey?: string
24
- appmetricaAppId?: number
25
-
26
- webInterfaceName: string
27
-
28
- generationOptions: IAppGenerationOptions
29
- keitaroData: IAppKeitaroData | null
30
- integrationVersion: IntegrationVersion
31
-
32
- offersStubParams?: IOffersStubParams
33
- directParams?: IDirectParams,
34
- bannerParams?: IBannerParams,
35
- remoteServerParams?: IRemoteServerParams,
36
- domainParams: IDomainParams
37
- platforms: { [key: string]: IPlatformParams },
38
-
39
- offersListId: number,
40
- externalParams?: IExternalParams,
41
- proxied: boolean,
42
- imageFormat: EImageFormat
43
- }
44
-
45
- export enum EImageFormat {
46
- PNG = "png",
47
- JPEG = "jpg",
48
- WEBP = "webp"
49
- }
50
-
51
- export enum EPlatform {
52
- GENERAL = '@',
53
- HUAWEI = 'hw',
54
- SAMSUNG = 'sm',
55
- ruSTORE = 'rs',
56
- XIAOMI = 'xm',
57
- APKPURE = 'ap',
58
- TELEGRAM = 'tg',
59
- AMAZON = 'am'
60
- }
61
-
62
- export interface IPlatformParams {
63
- enabled: boolean,
64
- geo: string[],
65
- customCampaignData?: IAppKeitaroData,
66
- adjustParams?: {
67
- appId: string,
68
- eventIds: IAdjustEventIds,
69
- },
70
- metricaParams?: {
71
- appId: number,
72
- postApiKey: string,
73
- },
74
- proxied?: boolean,
75
- keitaroData?: IAppKeitaroData | boolean
76
- }
77
-
78
- export interface IAdjustEventIds {
79
- lead: string,
80
- hold: string,
81
- sale: string,
82
- rejected: string,
83
- }
84
-
85
- export interface IExternalParams {
86
- showButton: boolean,
87
- schema: string,
88
- autoRedirect: boolean
89
- }
90
-
91
- export interface IRemoteServerParams {
92
- ip: string,
93
- port: string,
94
- password: string
95
- }
96
-
97
- export interface IOffersStubParams {
98
- offersPath: string,
99
- imagesPath: string
100
- }
101
-
102
- export interface IDomainParams {
103
- name: string,
104
- clouflareZone: string,
105
- ready: boolean
106
- }
107
-
108
- export interface IDirectParams {
109
- path: string,
110
- response: string,
111
- }
112
-
113
- export interface IBannerParams {
114
- dataPath: string,
115
- imagePath: string,
116
- imageParam: string,
117
- linkParam: string,
118
- showStubOnError?: boolean
119
- }
120
-
121
- export interface IRemoveDataParams {
122
- buttonText: string,
123
- resultText: string,
124
- errorText: string,
125
- inputHint: string,
126
- dark: boolean,
127
-
128
- path: string
129
-
130
- callbackFunctionName: string
131
- toSplashAfterSuccess: boolean
132
- }
133
-
134
- export interface IPrivacyPolicyParams {
135
- showButtonQuery: string,
136
- button?: {
137
- text: string
138
- },
139
- mustRead: boolean,
140
- dark: boolean,
141
-
142
- path: string,
143
- advertisingIdQuery: string
144
- confirmFunctionName: string,
145
- redirectFunctionName: string,
146
-
147
- redirect: boolean
148
- }
149
-
150
- export enum IntegrationVersion {
151
- NONE = "MVVM",
152
- POLICY = "POLICY",
153
- OFFER_STUB = "OFFER_STUB",
154
- DIRECT = "DIRECT",
155
- WEB = "WEB",
156
- WEB_DIRECT = "WEB_DIRECT",
157
- BANNER = "BANNER",
158
- PWA = "PWA"
159
- }
160
-
161
- export interface IntegrationAlterations {
162
- networkTool: AlternativeNetworkTool, // Network
163
- logicType: AlternativeLogicType, // Logic
164
- navigation: AlternativeNavigation, // Navigation
165
- storageType: AlternativeStorageType, // Storage
166
- sourceType: AlternativeSourceType, // Source
167
- onBackPressed: AlternativeOnBackPressed,
168
- onActivityResult: AlternativeOnActivityResult,
169
- layoutType: AlternativeLayoutType,
170
- fullscreen: AlternativeFullscreen
171
- }
172
-
173
- export interface IAppGenerationOptions {
174
- splashName: string
175
- webViewName: string
176
- linkName: string,
177
- }
178
-
179
- export interface IDeveloperParams {
180
- name: string
181
- email: string
182
- organization: string
183
- }
184
-
185
- export interface IAppKeitaroData {
186
- trackingCampaignId: number
187
- trackingCampaignName: string
188
- trackingCampaignAlias: string
189
- trackingDomainId: number
190
- trackingDomainName: string
191
- }
192
-
193
- export enum PlugType {
194
- PASTEBIN = "PASTEBIN",
195
- GIST = "GIST",
196
- OTHER = "OTHER"
197
- }
198
-
199
- export const AppSchema = new Schema({
200
- id: {
201
- type: Number,
202
- unique: true,
203
- required: true
204
- },
205
- enabled: {
206
- type: Boolean,
207
- required: true,
208
- default: false
209
- },
210
- proxied: {
211
- type: Boolean,
212
- require: true,
213
- default: true
214
- },
215
- imageFormat: {
216
- type: String,
217
- enum: EImageFormat,
218
- default: EImageFormat.PNG
219
- },
220
-
221
- bundle: {
222
- type: String,
223
- unique: true,
224
- required: true
225
- },
226
- name: String,
227
- trackingUrl: {
228
- type: String,
229
- default: null
230
- },
231
-
232
- pushesEnabled: Boolean,
233
- integrationVersion: {
234
- type: String,
235
- enum: IntegrationVersion,
236
- default: null
237
- },
238
- type: {
239
- type: String,
240
- enum: AppType,
241
- default: AppType.GAMBLING
242
- },
243
- geos: {
244
- type: String,
245
- required: true
246
- },
247
- geo: {
248
- type: [String]
249
- },
250
- onesignalAppId: {
251
- type: String,
252
- required: false
253
- },
254
- onesignalRestApiKey: {
255
- type: String,
256
- required: false
257
- },
258
- appmetricaApiKey: {
259
- type: String,
260
- required: false
261
- },
262
- appmetricaAppId: {
263
- type: Number,
264
- required: false
265
- },
266
-
267
- externalParams: {
268
- showButton: Boolean,
269
- schema: String,
270
- autoRedirect: Boolean,
271
- },
272
-
273
- keitaroData: {
274
- trackingCampaignId: {
275
- type: Number,
276
- // unique: true,
277
- required: true,
278
- default: 0
279
- },
280
- trackingCampaignName: {
281
- type: String,
282
- // unique: true,
283
- required: true,
284
- default: "none"
285
- },
286
- trackingCampaignAlias: {
287
- type: String,
288
- // unique: true,
289
- required: true,
290
- default: "none"
291
- },
292
- trackingDomainId: {
293
- type: Number,
294
- required: true,
295
- default: 0
296
- },
297
- trackingDomainName: {
298
- type: String,
299
- required: true,
300
- default: "none"
301
- },
302
- },
303
- removeDataParams: Object,
304
- privacyPolicyParams: Object,
305
- offersStubParams: Object,
306
- bannerParams: Object,
307
- directParams: Object,
308
- domainParams: {
309
- name: {
310
- type: String,
311
- unique: true
312
- },
313
- clouflareZone: {
314
- type: String,
315
- },
316
- },
317
- platforms: Object
1
+ import { AlternativeLayoutType, AlternativeLogicType, AlternativeNavigation, AlternativeNetworkTool, AlternativeOnActivityResult, AlternativeOnBackPressed, AlternativeSourceType, AlternativeStorageType } from "index";
2
+ import { AppType } from "./app-type";
3
+ import mongoose, { Document, Model, model, PipelineStage, Schema, UpdateQuery, UpdateWithAggregationPipeline } from "mongoose";
4
+ import { AlternativeFullscreen } from "app/app-integration";
5
+ const util = require("util")
6
+
7
+ export interface IApp extends Document {
8
+ id: number
9
+ enabled: boolean,
10
+ name: string
11
+ trackingUrl?: string
12
+ bundle: string
13
+
14
+ pushesEnabled?: boolean
15
+ policyUrl?: string
16
+ type: AppType
17
+ geos: string
18
+ geo: string[] // new one, actual
19
+
20
+ onesignalAppId: string
21
+ onesignalRestApiKey: string
22
+
23
+ appmetricaApiKey?: string
24
+ appmetricaAppId?: number
25
+
26
+ webInterfaceName: string
27
+
28
+ generationOptions: IAppGenerationOptions
29
+ keitaroData: IAppKeitaroData | null
30
+ integrationVersion: IntegrationVersion
31
+
32
+ offersStubParams?: IOffersStubParams
33
+ directParams?: IDirectParams,
34
+ bannerParams?: IBannerParams,
35
+ remoteServerParams?: IRemoteServerParams,
36
+ domainParams: IDomainParams
37
+ platforms: { [key: string]: IPlatformParams },
38
+
39
+ offersListId: number,
40
+ externalParams?: IExternalParams,
41
+ proxied: boolean,
42
+ imageFormat: EImageFormat
43
+ }
44
+
45
+ export enum EImageFormat {
46
+ PNG = "png",
47
+ JPEG = "jpg",
48
+ WEBP = "webp"
49
+ }
50
+
51
+ export enum EPlatform {
52
+ GENERAL = '@',
53
+ HUAWEI = 'hw',
54
+ SAMSUNG = 'sm',
55
+ ruSTORE = 'rs',
56
+ XIAOMI = 'xm',
57
+ APKPURE = 'ap',
58
+ TELEGRAM = 'tg',
59
+ AMAZON = 'am'
60
+ }
61
+
62
+ export interface IPlatformParams {
63
+ enabled: boolean,
64
+ geo: string[],
65
+ customCampaignData?: IAppKeitaroData,
66
+ adjustParams?: {
67
+ appId: string,
68
+ eventIds: IAdjustEventIds,
69
+ },
70
+ metricaParams?: {
71
+ appId: number,
72
+ postApiKey: string,
73
+ },
74
+ proxied?: boolean,
75
+ keitaroData?: IAppKeitaroData | boolean
76
+ }
77
+
78
+ export interface IAdjustEventIds {
79
+ lead: string,
80
+ hold: string,
81
+ sale: string,
82
+ rejected: string,
83
+ }
84
+
85
+ export interface IExternalParams {
86
+ showButton: boolean,
87
+ schema: string,
88
+ autoRedirect: boolean
89
+ }
90
+
91
+ export interface IRemoteServerParams {
92
+ ip: string,
93
+ port: string,
94
+ password: string
95
+ }
96
+
97
+ export interface IOffersStubParams {
98
+ offersPath: string,
99
+ imagesPath: string
100
+ }
101
+
102
+ export interface IDomainParams {
103
+ name: string,
104
+ clouflareZone: string,
105
+ ready: boolean
106
+ }
107
+
108
+ export interface IDirectParams {
109
+ path: string,
110
+ response: string,
111
+ }
112
+
113
+ export interface IBannerParams {
114
+ dataPath: string,
115
+ imagePath: string,
116
+ imageParam: string,
117
+ linkParam: string,
118
+ showStubOnError?: boolean
119
+ }
120
+
121
+ export interface IRemoveDataParams {
122
+ buttonText: string,
123
+ resultText: string,
124
+ errorText: string,
125
+ inputHint: string,
126
+ dark: boolean,
127
+
128
+ path: string
129
+
130
+ callbackFunctionName: string
131
+ toSplashAfterSuccess: boolean
132
+ }
133
+
134
+ export interface IPrivacyPolicyParams {
135
+ showButtonQuery: string,
136
+ button?: {
137
+ text: string
138
+ },
139
+ mustRead: boolean,
140
+ dark: boolean,
141
+
142
+ path: string,
143
+ advertisingIdQuery: string
144
+ confirmFunctionName: string,
145
+ redirectFunctionName: string,
146
+
147
+ redirect: boolean
148
+ }
149
+
150
+ export enum IntegrationVersion {
151
+ NONE = "MVVM",
152
+ POLICY = "POLICY",
153
+ OFFER_STUB = "OFFER_STUB",
154
+ DIRECT = "DIRECT",
155
+ WEB = "WEB",
156
+ WEB_DIRECT = "WEB_DIRECT",
157
+ BANNER = "BANNER",
158
+ PWA = "PWA"
159
+ }
160
+
161
+ export interface IntegrationAlterations {
162
+ networkTool: AlternativeNetworkTool, // Network
163
+ logicType: AlternativeLogicType, // Logic
164
+ navigation: AlternativeNavigation, // Navigation
165
+ storageType: AlternativeStorageType, // Storage
166
+ sourceType: AlternativeSourceType, // Source
167
+ onBackPressed: AlternativeOnBackPressed,
168
+ onActivityResult: AlternativeOnActivityResult,
169
+ layoutType: AlternativeLayoutType,
170
+ fullscreen: AlternativeFullscreen
171
+ }
172
+
173
+ export interface IAppGenerationOptions {
174
+ splashName: string
175
+ webViewName: string
176
+ linkName: string,
177
+ }
178
+
179
+ export interface IDeveloperParams {
180
+ name: string
181
+ email: string
182
+ organization: string
183
+ }
184
+
185
+ export interface IAppKeitaroData {
186
+ trackingCampaignId: number
187
+ trackingCampaignName: string
188
+ trackingCampaignAlias: string
189
+ trackingDomainId: number
190
+ trackingDomainName: string
191
+ }
192
+
193
+ export enum PlugType {
194
+ PASTEBIN = "PASTEBIN",
195
+ GIST = "GIST",
196
+ OTHER = "OTHER"
197
+ }
198
+
199
+ export const AppSchema = new Schema({
200
+ id: {
201
+ type: Number,
202
+ unique: true,
203
+ required: true
204
+ },
205
+ enabled: {
206
+ type: Boolean,
207
+ required: true,
208
+ default: false
209
+ },
210
+ proxied: {
211
+ type: Boolean,
212
+ require: true,
213
+ default: true
214
+ },
215
+ imageFormat: {
216
+ type: String,
217
+ enum: EImageFormat,
218
+ default: EImageFormat.PNG
219
+ },
220
+
221
+ bundle: {
222
+ type: String,
223
+ unique: true,
224
+ required: true
225
+ },
226
+ name: String,
227
+ trackingUrl: {
228
+ type: String,
229
+ default: null
230
+ },
231
+
232
+ pushesEnabled: Boolean,
233
+ integrationVersion: {
234
+ type: String,
235
+ enum: IntegrationVersion,
236
+ default: null
237
+ },
238
+ type: {
239
+ type: String,
240
+ enum: AppType,
241
+ default: AppType.GAMBLING
242
+ },
243
+ geos: {
244
+ type: String,
245
+ required: true
246
+ },
247
+ geo: {
248
+ type: [String]
249
+ },
250
+ onesignalAppId: {
251
+ type: String,
252
+ required: false
253
+ },
254
+ onesignalRestApiKey: {
255
+ type: String,
256
+ required: false
257
+ },
258
+ appmetricaApiKey: {
259
+ type: String,
260
+ required: false
261
+ },
262
+ appmetricaAppId: {
263
+ type: Number,
264
+ required: false
265
+ },
266
+
267
+ externalParams: {
268
+ showButton: Boolean,
269
+ schema: String,
270
+ autoRedirect: Boolean,
271
+ },
272
+
273
+ keitaroData: {
274
+ trackingCampaignId: {
275
+ type: Number,
276
+ // unique: true,
277
+ required: true,
278
+ default: 0
279
+ },
280
+ trackingCampaignName: {
281
+ type: String,
282
+ // unique: true,
283
+ required: true,
284
+ default: "none"
285
+ },
286
+ trackingCampaignAlias: {
287
+ type: String,
288
+ // unique: true,
289
+ required: true,
290
+ default: "none"
291
+ },
292
+ trackingDomainId: {
293
+ type: Number,
294
+ required: true,
295
+ default: 0
296
+ },
297
+ trackingDomainName: {
298
+ type: String,
299
+ required: true,
300
+ default: "none"
301
+ },
302
+ },
303
+ removeDataParams: Object,
304
+ privacyPolicyParams: Object,
305
+ offersStubParams: Object,
306
+ bannerParams: Object,
307
+ directParams: Object,
308
+ domainParams: {
309
+ name: {
310
+ type: String,
311
+ unique: true
312
+ },
313
+ clouflareZone: {
314
+ type: String,
315
+ },
316
+ },
317
+ platforms: Object
318
318
  })