@bprotsyk/aso-core 2.1.24 → 2.1.32

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 (248) 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 +207 -213
  9. package/lib/app/app.js +161 -184
  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 +108 -108
  13. package/lib/general/domain.js +61 -61
  14. package/lib/general/namecheap-domain.d.ts +85 -85
  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 +48 -50
  35. package/lib/network/keitaro/keitaro-service.js +263 -261
  36. package/lib/offers/list.d.ts +37 -37
  37. package/lib/offers/list.js +12 -12
  38. package/lib/offers/offer.d.ts +91 -91
  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 -47
  49. package/lib/offers/section.js +20 -20
  50. package/lib/panel/app/upsert-flash-app-request.d.ts +31 -0
  51. package/lib/panel/app/upsert-flash-app-request.js +2 -0
  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 -46
  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 -15
  67. package/lib/utils/keitaro-utils.js +569 -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 +322 -346
  74. package/src/general/cloudflare-domain.ts +44 -44
  75. package/src/general/domain.ts +105 -105
  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 +325 -323
  87. package/src/offers/list.ts +19 -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/{flash → 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 +664 -662
  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
  106. package/docs/.nojekyll +0 -1
  107. package/docs/DOCS.zip +0 -0
  108. package/docs/assets/highlight.css +0 -22
  109. package/docs/assets/main.js +0 -58
  110. package/docs/assets/search.js +0 -1
  111. package/docs/assets/style.css +0 -1279
  112. package/docs/enums/PanelUserAccessScope.html +0 -127
  113. package/docs/functions/ASO_v0.toDefault.html +0 -81
  114. package/docs/functions/ASO_v1.toDefault.html +0 -81
  115. package/docs/functions/ASO_v2.toDefault.html +0 -79
  116. package/docs/functions/ASO_v3.toDefault.html +0 -78
  117. package/docs/functions/ASO_v4.toDefault.html +0 -76
  118. package/docs/functions/ASO_v5.toDefault.html +0 -77
  119. package/docs/functions/ColoredText.html +0 -93
  120. package/docs/functions/ShapeDiv.html +0 -110
  121. package/docs/index.html +0 -83
  122. package/docs/interfaces/ASOConfigFetch.IUsageLogEntry.html +0 -1414
  123. package/docs/interfaces/ASOConfigFetch.IUsageLogRequest.html +0 -104
  124. package/docs/interfaces/ASOConfigFetch.IUsageLogResponse.html +0 -109
  125. package/docs/interfaces/ASO_v0.IAuthorizationActionMapping.html +0 -146
  126. package/docs/interfaces/ASO_v0.IColoredSpan.html +0 -90
  127. package/docs/interfaces/ASO_v0.IColoredSpanMapping.html +0 -90
  128. package/docs/interfaces/ASO_v0.IColoredString.html +0 -90
  129. package/docs/interfaces/ASO_v0.IColoredStringMapping.html +0 -90
  130. package/docs/interfaces/ASO_v0.IConfig.html +0 -557
  131. package/docs/interfaces/ASO_v0.IConfigMapping.html +0 -230
  132. package/docs/interfaces/ASO_v0.ILocalization.html +0 -517
  133. package/docs/interfaces/ASO_v0.ILocalizationMap.html +0 -78
  134. package/docs/interfaces/ASO_v0.ILocalizationMapping.html +0 -503
  135. package/docs/interfaces/ASO_v0.IOfferResult.html +0 -104
  136. package/docs/interfaces/ASO_v0.IOfferResultEmoji.html +0 -83
  137. package/docs/interfaces/ASO_v0.IOfferResultMapping.html +0 -118
  138. package/docs/interfaces/ASO_v0.IOfferSectionMapping.html +0 -109
  139. package/docs/interfaces/ASO_v0.IOffersSection.html +0 -97
  140. package/docs/interfaces/ASO_v0.ISectionPalette.html +0 -153
  141. package/docs/interfaces/ASO_v0.ISectionPaletteMapping.html +0 -153
  142. package/docs/interfaces/ASO_v1.IAuthorizationActionMapping.html +0 -146
  143. package/docs/interfaces/ASO_v1.IColoredSpan.html +0 -90
  144. package/docs/interfaces/ASO_v1.IColoredSpanMapping.html +0 -90
  145. package/docs/interfaces/ASO_v1.IColoredString.html +0 -90
  146. package/docs/interfaces/ASO_v1.IColoredStringMapping.html +0 -90
  147. package/docs/interfaces/ASO_v1.IConfig.html +0 -550
  148. package/docs/interfaces/ASO_v1.IConfigMapping.html +0 -230
  149. package/docs/interfaces/ASO_v1.ILocalization.html +0 -482
  150. package/docs/interfaces/ASO_v1.ILocalizationMap.html +0 -78
  151. package/docs/interfaces/ASO_v1.ILocalizationMapping.html +0 -482
  152. package/docs/interfaces/ASO_v1.IOfferResult.html +0 -104
  153. package/docs/interfaces/ASO_v1.IOfferResultEmoji.html +0 -83
  154. package/docs/interfaces/ASO_v1.IOfferResultMapping.html +0 -118
  155. package/docs/interfaces/ASO_v1.IOfferSectionMapping.html +0 -109
  156. package/docs/interfaces/ASO_v1.IOffersSection.html +0 -102
  157. package/docs/interfaces/ASO_v1.ISectionPalette.html +0 -153
  158. package/docs/interfaces/ASO_v1.ISectionPaletteMapping.html +0 -153
  159. package/docs/interfaces/ASO_v2.IAuthorizationActionMapping.html +0 -139
  160. package/docs/interfaces/ASO_v2.IColoredSpanMapping.html +0 -90
  161. package/docs/interfaces/ASO_v2.IColoredString.html +0 -90
  162. package/docs/interfaces/ASO_v2.IColoredStringMapping.html +0 -90
  163. package/docs/interfaces/ASO_v2.IConfig.html +0 -494
  164. package/docs/interfaces/ASO_v2.IConfigMapping.html +0 -202
  165. package/docs/interfaces/ASO_v2.ILocalization.html +0 -475
  166. package/docs/interfaces/ASO_v2.ILocalizationMap.html +0 -76
  167. package/docs/interfaces/ASO_v2.ILocalizationMapping.html +0 -363
  168. package/docs/interfaces/ASO_v2.IOfferResult.html +0 -111
  169. package/docs/interfaces/ASO_v2.IOfferResultMapping.html +0 -118
  170. package/docs/interfaces/ASO_v2.IOfferSectionMapping.html +0 -109
  171. package/docs/interfaces/ASO_v2.IOffersSection.html +0 -102
  172. package/docs/interfaces/ASO_v2.ISectionPalette.html +0 -153
  173. package/docs/interfaces/ASO_v2.ISectionPaletteMapping.html +0 -153
  174. package/docs/interfaces/ASO_v3.IAuthorizationActionMapping.html +0 -139
  175. package/docs/interfaces/ASO_v3.IColoredSpanMapping.html +0 -90
  176. package/docs/interfaces/ASO_v3.IColoredString.html +0 -90
  177. package/docs/interfaces/ASO_v3.IColoredStringMapping.html +0 -90
  178. package/docs/interfaces/ASO_v3.IConfig.html +0 -515
  179. package/docs/interfaces/ASO_v3.IConfigMapping.html +0 -209
  180. package/docs/interfaces/ASO_v3.ILocalization.html +0 -447
  181. package/docs/interfaces/ASO_v3.ILocalizationMap.html +0 -75
  182. package/docs/interfaces/ASO_v3.ILocalizationMapping.html +0 -342
  183. package/docs/interfaces/ASO_v3.IOfferResultMapping.html +0 -118
  184. package/docs/interfaces/ASO_v3.IOfferSectionMapping.html +0 -109
  185. package/docs/interfaces/ASO_v3.IOffersSection.html +0 -102
  186. package/docs/interfaces/ASO_v3.ISectionPalette.html +0 -153
  187. package/docs/interfaces/ASO_v3.ISectionPaletteMapping.html +0 -153
  188. package/docs/interfaces/ASO_v4.IAuthorizationActionMapping.html +0 -139
  189. package/docs/interfaces/ASO_v4.IColoredSpanMapping.html +0 -90
  190. package/docs/interfaces/ASO_v4.IColoredString.html +0 -90
  191. package/docs/interfaces/ASO_v4.IColoredStringMapping.html +0 -90
  192. package/docs/interfaces/ASO_v4.IConfig.html +0 -515
  193. package/docs/interfaces/ASO_v4.IConfigMapping.html +0 -132
  194. package/docs/interfaces/ASO_v4.ILocalization.html +0 -370
  195. package/docs/interfaces/ASO_v4.ILocalizationMap.html +0 -73
  196. package/docs/interfaces/ASO_v4.ILocalizationMapping.html +0 -258
  197. package/docs/interfaces/ASO_v4.IOfferResultMapping.html +0 -118
  198. package/docs/interfaces/ASO_v4.IOfferSectionMapping.html +0 -90
  199. package/docs/interfaces/ASO_v4.LocalizedString.html +0 -83
  200. package/docs/interfaces/ASO_v5.IAuthorizationActionMapping.html +0 -139
  201. package/docs/interfaces/ASO_v5.IColoredSpan.html +0 -90
  202. package/docs/interfaces/ASO_v5.IColoredSpanMapping.html +0 -90
  203. package/docs/interfaces/ASO_v5.IColoredString.html +0 -90
  204. package/docs/interfaces/ASO_v5.IColoredStringMapping.html +0 -90
  205. package/docs/interfaces/ASO_v5.IConfig.html +0 -543
  206. package/docs/interfaces/ASO_v5.IConfigMapping.html +0 -160
  207. package/docs/interfaces/ASO_v5.ILocalization.html +0 -412
  208. package/docs/interfaces/ASO_v5.ILocalizationMap.html +0 -74
  209. package/docs/interfaces/ASO_v5.ILocalizationMapping.html +0 -300
  210. package/docs/interfaces/ASO_v5.IOfferResultMapping.html +0 -118
  211. package/docs/interfaces/ASO_v5.IOfferSectionMapping.html +0 -90
  212. package/docs/interfaces/ASO_v5.LocalizedString.html +0 -83
  213. package/docs/interfaces/IAsoConfigResponse.html +0 -82
  214. package/docs/interfaces/IAsoCustomizedOffer.html +0 -117
  215. package/docs/interfaces/IAsoDefaultConfig.html +0 -444
  216. package/docs/interfaces/IAsoOfferResponse.html +0 -82
  217. package/docs/interfaces/IAsoSection.html +0 -89
  218. package/docs/interfaces/IAsoSingleOffer.html +0 -89
  219. package/docs/interfaces/IAuthToken.html +0 -103
  220. package/docs/interfaces/IColoredTextProps.html +0 -75
  221. package/docs/interfaces/IFlashApp.html +0 -145
  222. package/docs/interfaces/IFlashAppListItem.html +0 -89
  223. package/docs/interfaces/IGradient.html +0 -96
  224. package/docs/interfaces/IOffer.html +0 -138
  225. package/docs/interfaces/IOfferWallAuthConfig.html +0 -131
  226. package/docs/interfaces/IOfferWallAuthLocalization.html +0 -103
  227. package/docs/interfaces/IOfferWallAuthSubmitRequest.html +0 -75
  228. package/docs/interfaces/IOfferWallAuthSubmitResponse.html +0 -75
  229. package/docs/interfaces/IOfferWallHomeDialogData.html +0 -96
  230. package/docs/interfaces/IOfferWallOffer.html +0 -110
  231. package/docs/interfaces/IOfferWallResponse.html +0 -82
  232. package/docs/interfaces/IOfferWallSection.html +0 -89
  233. package/docs/interfaces/IPanelUser.html +0 -1406
  234. package/docs/interfaces/IPush.html +0 -96
  235. package/docs/interfaces/IShape.html +0 -103
  236. package/docs/interfaces/IStroke.html +0 -82
  237. package/docs/interfaces/IUpsertFlashAppRequest.html +0 -215
  238. package/docs/interfaces/IUpsertFlashAppResponse.html +0 -82
  239. package/docs/modules/ASOConfigFetch.html +0 -64
  240. package/docs/modules/ASO_v0.html +0 -97
  241. package/docs/modules/ASO_v1.html +0 -97
  242. package/docs/modules/ASO_v2.html +0 -93
  243. package/docs/modules/ASO_v3.html +0 -91
  244. package/docs/modules/ASO_v4.html +0 -87
  245. package/docs/modules/ASO_v5.html +0 -89
  246. package/docs/modules.html +0 -134
  247. package/docs/variables/FlashAppSchema.html +0 -84
  248. package/docs/variables/PanelUserSchema.html +0 -84
package/src/app/app.ts CHANGED
@@ -1,347 +1,323 @@
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
- adjustAppId: string,
67
- adjustEventIds: IAdjustEventIds,
68
- proxied?: boolean
69
- }
70
-
71
- export interface IAdjustEventIds {
72
- lead: string,
73
- hold: string,
74
- sale: string,
75
- rejected: string,
76
- }
77
-
78
- export interface IExternalParams {
79
- showButton: boolean,
80
- schema: string,
81
- autoRedirect: boolean
82
- }
83
-
84
- export interface IRemoteServerParams {
85
- ip: string,
86
- port: string,
87
- password: string
88
- }
89
-
90
- export interface IOffersStubParams {
91
- offersPath: string,
92
- imagesPath: string
93
- }
94
-
95
- export interface IDomainParams {
96
- name: string,
97
- clouflareZone: string,
98
- ready: boolean
99
- }
100
-
101
- export interface IDirectParams {
102
- path: string,
103
- response: string,
104
- }
105
-
106
- export interface IBannerParams {
107
- dataPath: string,
108
- imagePath: string,
109
- imageParam: string,
110
- linkParam: string,
111
- showStubOnError?: boolean
112
- }
113
-
114
- export interface IRemoveDataParams {
115
- buttonText: string,
116
- resultText: string,
117
- errorText: string,
118
- inputHint: string,
119
- dark: boolean,
120
-
121
- path: string
122
-
123
- callbackFunctionName: string
124
- toSplashAfterSuccess: boolean
125
- }
126
-
127
- export interface IPrivacyPolicyParams {
128
- showButtonQuery: string,
129
- button?: {
130
- text: string
131
- },
132
- mustRead: boolean,
133
- dark: boolean,
134
-
135
- path: string,
136
- advertisingIdQuery: string
137
- confirmFunctionName: string,
138
- redirectFunctionName: string,
139
-
140
- redirect: boolean
141
- }
142
-
143
- export enum IntegrationVersion {
144
- NONE = "MVVM",
145
- POLICY = "POLICY",
146
- OFFER_STUB = "OFFER_STUB",
147
- DIRECT = "DIRECT",
148
- WEB = "WEB",
149
- WEB_DIRECT = "WEB_DIRECT",
150
- BANNER = "BANNER",
151
- PWA = "PWA"
152
- }
153
-
154
- export interface IntegrationAlterations {
155
- networkTool: AlternativeNetworkTool, // Network
156
- logicType: AlternativeLogicType, // Logic
157
- navigation: AlternativeNavigation, // Navigation
158
- storageType: AlternativeStorageType, // Storage
159
- sourceType: AlternativeSourceType, // Source
160
- onBackPressed: AlternativeOnBackPressed,
161
- onActivityResult: AlternativeOnActivityResult,
162
- layoutType: AlternativeLayoutType,
163
- fullscreen: AlternativeFullscreen
164
- }
165
-
166
- export interface IAppGenerationOptions {
167
- splashName: string
168
- webViewName: string
169
- linkName: string,
170
- }
171
-
172
- export interface IDeveloperParams {
173
- name: string
174
- email: string
175
- organization: string
176
- }
177
-
178
- export interface IAppKeitaroData {
179
- redirectCampaignId: number
180
- redirectCampaignName: string
181
- redirectCampaignAlias: string
182
- redirectDomainId: number
183
- redirectDomainName: string
184
- trackingCampaignId: number
185
- trackingCampaignName: string
186
- trackingCampaignAlias: string
187
- trackingDomainId: number
188
- trackingDomainName: string
189
-
190
- clickIdParameterName: string,
191
- offerIdParameterName: string,
192
- }
193
-
194
- export enum PlugType {
195
- PASTEBIN = "PASTEBIN",
196
- GIST = "GIST",
197
- OTHER = "OTHER"
198
- }
199
-
200
- export const AppSchema = new Schema({
201
- id: {
202
- type: Number,
203
- unique: true,
204
- required: true
205
- },
206
- enabled: {
207
- type: Boolean,
208
- required: true,
209
- default: false
210
- },
211
- proxied: {
212
- type: Boolean,
213
- require: true,
214
- default: true
215
- },
216
- imageFormat: {
217
- type: String,
218
- enum: EImageFormat,
219
- default: EImageFormat.PNG
220
- },
221
-
222
- bundle: {
223
- type: String,
224
- unique: true,
225
- required: true
226
- },
227
- name: String,
228
- trackingUrl: {
229
- type: String,
230
- default: null
231
- },
232
-
233
- pushesEnabled: Boolean,
234
- integrationVersion: {
235
- type: String,
236
- enum: IntegrationVersion,
237
- default: null
238
- },
239
- type: {
240
- type: String,
241
- enum: AppType,
242
- default: AppType.GAMBLING
243
- },
244
- geos: {
245
- type: String,
246
- required: true
247
- },
248
- geo: {
249
- type: [String]
250
- },
251
- onesignalAppId: {
252
- type: String,
253
- required: false
254
- },
255
- onesignalRestApiKey: {
256
- type: String,
257
- required: false
258
- },
259
- appmetricaApiKey: {
260
- type: String,
261
- required: false
262
- },
263
- appmetricaAppId: {
264
- type: Number,
265
- required: false
266
- },
267
-
268
- externalParams: {
269
- showButton: Boolean,
270
- schema: String,
271
- autoRedirect: Boolean,
272
- },
273
-
274
- keitaroData: {
275
- redirectCampaignId: {
276
- type: Number,
277
- // unique: true,
278
- required: true,
279
- default: 0
280
- },
281
- redirectCampaignName: {
282
- type: String,
283
- // unique: true,
284
- required: true,
285
- default: "none"
286
- },
287
- redirectCampaignAlias: {
288
- type: String,
289
- // unique: true,
290
- required: true,
291
- default: "none"
292
- },
293
- redirectDomainId: {
294
- type: Number,
295
- required: true,
296
- default: 0
297
- },
298
- redirectDomainName: {
299
- type: String,
300
- required: true,
301
- default: "none"
302
- },
303
- trackingCampaignId: {
304
- type: Number,
305
- // unique: true,
306
- required: true,
307
- default: 0
308
- },
309
- trackingCampaignName: {
310
- type: String,
311
- // unique: true,
312
- required: true,
313
- default: "none"
314
- },
315
- trackingCampaignAlias: {
316
- type: String,
317
- // unique: true,
318
- required: true,
319
- default: "none"
320
- },
321
- trackingDomainId: {
322
- type: Number,
323
- required: true,
324
- default: 0
325
- },
326
- trackingDomainName: {
327
- type: String,
328
- required: true,
329
- default: "none"
330
- },
331
- },
332
- removeDataParams: Object,
333
- privacyPolicyParams: Object,
334
- offersStubParams: Object,
335
- bannerParams: Object,
336
- directParams: Object,
337
- domainParams: {
338
- name: {
339
- type: String,
340
- unique: true
341
- },
342
- clouflareZone: {
343
- type: String,
344
- },
345
- },
346
- 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 = "NONE",
152
+ // Telegram
153
+ TELEGRAM = "TELEGRAM",
154
+ // Banner
155
+ BANNER = "BANNER",
156
+ // Native OfferWall
157
+ NATIVE_OFFERWALLET = "NATIVE_OFFERWALLET",
158
+ // Web
159
+ WEB = "WEB",
160
+ // Web Direct
161
+ WEB_DIRECT = "WEB_DIRECT",
162
+ // PWA
163
+ PWA = "PWA"
164
+ }
165
+
166
+ export interface IntegrationAlterations {
167
+ networkTool: AlternativeNetworkTool, // Network
168
+ logicType: AlternativeLogicType, // Logic
169
+ navigation: AlternativeNavigation, // Navigation
170
+ storageType: AlternativeStorageType, // Storage
171
+ sourceType: AlternativeSourceType, // Source
172
+ onBackPressed: AlternativeOnBackPressed,
173
+ onActivityResult: AlternativeOnActivityResult,
174
+ layoutType: AlternativeLayoutType,
175
+ fullscreen: AlternativeFullscreen
176
+ }
177
+
178
+ export interface IAppGenerationOptions {
179
+ splashName: string
180
+ webViewName: string
181
+ linkName: string,
182
+ }
183
+
184
+ export interface IDeveloperParams {
185
+ name: string
186
+ email: string
187
+ organization: string
188
+ }
189
+
190
+ export interface IAppKeitaroData {
191
+ trackingCampaignId: number
192
+ trackingCampaignName: string
193
+ trackingCampaignAlias: string
194
+ trackingDomainId: number
195
+ trackingDomainName: string
196
+ }
197
+
198
+ export enum PlugType {
199
+ PASTEBIN = "PASTEBIN",
200
+ GIST = "GIST",
201
+ OTHER = "OTHER"
202
+ }
203
+
204
+ export const AppSchema = new Schema({
205
+ id: {
206
+ type: Number,
207
+ unique: true,
208
+ required: true
209
+ },
210
+ enabled: {
211
+ type: Boolean,
212
+ required: true,
213
+ default: false
214
+ },
215
+ proxied: {
216
+ type: Boolean,
217
+ require: true,
218
+ default: true
219
+ },
220
+ imageFormat: {
221
+ type: String,
222
+ enum: EImageFormat,
223
+ default: EImageFormat.PNG
224
+ },
225
+
226
+ bundle: {
227
+ type: String,
228
+ unique: true,
229
+ required: true
230
+ },
231
+ name: String,
232
+ trackingUrl: {
233
+ type: String,
234
+ default: null
235
+ },
236
+
237
+ pushesEnabled: Boolean,
238
+ integrationVersion: {
239
+ type: String,
240
+ enum: IntegrationVersion,
241
+ default: null
242
+ },
243
+ type: {
244
+ type: String,
245
+ enum: AppType,
246
+ default: AppType.GAMBLING
247
+ },
248
+ geos: {
249
+ type: String,
250
+ required: true
251
+ },
252
+ geo: {
253
+ type: [String]
254
+ },
255
+ onesignalAppId: {
256
+ type: String,
257
+ required: false
258
+ },
259
+ onesignalRestApiKey: {
260
+ type: String,
261
+ required: false
262
+ },
263
+ appmetricaApiKey: {
264
+ type: String,
265
+ required: false
266
+ },
267
+ appmetricaAppId: {
268
+ type: Number,
269
+ required: false
270
+ },
271
+
272
+ externalParams: {
273
+ showButton: Boolean,
274
+ schema: String,
275
+ autoRedirect: Boolean,
276
+ },
277
+
278
+ keitaroData: {
279
+ trackingCampaignId: {
280
+ type: Number,
281
+ // unique: true,
282
+ required: true,
283
+ default: 0
284
+ },
285
+ trackingCampaignName: {
286
+ type: String,
287
+ // unique: true,
288
+ required: true,
289
+ default: "none"
290
+ },
291
+ trackingCampaignAlias: {
292
+ type: String,
293
+ // unique: true,
294
+ required: true,
295
+ default: "none"
296
+ },
297
+ trackingDomainId: {
298
+ type: Number,
299
+ required: true,
300
+ default: 0
301
+ },
302
+ trackingDomainName: {
303
+ type: String,
304
+ required: true,
305
+ default: "none"
306
+ },
307
+ },
308
+ removeDataParams: Object,
309
+ privacyPolicyParams: Object,
310
+ offersStubParams: Object,
311
+ bannerParams: Object,
312
+ directParams: Object,
313
+ domainParams: {
314
+ name: {
315
+ type: String,
316
+ unique: true
317
+ },
318
+ clouflareZone: {
319
+ type: String,
320
+ },
321
+ },
322
+ platforms: Object
347
323
  })