@bprotsyk/aso-core 2.1.21 → 2.1.24

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