@bprotsyk/aso-core 1.2.237 → 1.2.238
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.
- package/lib/app/app.d.ts +3 -2
- package/lib/app/app.js +2 -2
- package/lib/general/namecheap-domain.d.ts +1 -0
- package/lib/general/queue.d.ts +2 -1
- package/lib/general/queue.js +0 -1
- package/lib/general/shape.js +1 -4
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -24
- package/lib/network/keitaro/http.d.ts +1 -2
- package/lib/network/keitaro/http.js +1 -4
- package/lib/network/keitaro/keitaro-service.js +1 -4
- package/lib/utils/keitaro-utils.js +1 -4
- package/lib/utils/server-util.d.ts +0 -7
- package/lib/utils/server-util.js +7 -68
- package/package.json +6 -6
- package/src/app/app.ts +3 -3
- package/src/general/domain.ts +17 -1
- package/src/index.ts +2 -3
- package/src/utils/server-util.ts +71 -194
- package/tsconfig.json +6 -7
- package/lib/aso/config/aso-config-v0.d.ts +0 -333
- package/lib/aso/config/aso-config-v0.js +0 -59
- package/lib/aso/config/aso-config-v1.d.ts +0 -330
- package/lib/aso/config/aso-config-v1.js +0 -58
- package/lib/aso/config/aso-config-v2.d.ts +0 -297
- package/lib/aso/config/aso-config-v2.js +0 -57
- package/lib/aso/config/aso-config-v3.d.ts +0 -294
- package/lib/aso/config/aso-config-v3.js +0 -58
- package/lib/aso/config/aso-config-v4.d.ts +0 -208
- package/lib/aso/config/aso-config-v4.js +0 -58
- package/lib/aso/config/aso-config-v5.d.ts +0 -227
- package/lib/aso/config/aso-config-v5.js +0 -58
- package/lib/aso/config/aso-default-config.d.ts +0 -57
- package/lib/aso/config/aso-default-config.js +0 -2
- package/lib/aso/config/aso-single-response.d.ts +0 -5
- package/lib/aso/config/aso-single-response.js +0 -2
- package/lib/aso/offer/aso-customized-offer.d.ts +0 -11
- package/lib/aso/offer/aso-customized-offer.js +0 -2
- package/lib/aso/offer/aso-offer-response.d.ts +0 -6
- package/lib/aso/offer/aso-offer-response.js +0 -2
- package/lib/aso/offer/aso-offer-section.d.ts +0 -6
- package/lib/aso/offer/aso-offer-section.js +0 -2
- package/lib/aso/offer/aso-single-offer.d.ts +0 -5
- package/lib/aso/offer/aso-single-offer.js +0 -2
- package/lib/aso/offer/config/aso-config-v0.d.ts +0 -271
- package/lib/aso/offer/config/aso-config-v0.js +0 -57
- package/lib/aso/offer/config/aso-config-v1.d.ts +0 -263
- package/lib/aso/offer/config/aso-config-v1.js +0 -57
- package/lib/aso/offer/config/aso-config-v2.d.ts +0 -230
- package/lib/aso/offer/config/aso-config-v2.js +0 -55
- package/lib/aso/offer/config/aso-config-v3.d.ts +0 -227
- package/lib/aso/offer/config/aso-config-v3.js +0 -56
- package/lib/aso/offer/config/aso-config-v4.d.ts +0 -205
- package/lib/aso/offer/config/aso-config-v4.js +0 -56
- package/lib/aso/offer/config/aso-default-config.d.ts +0 -56
- package/lib/aso/offer/config/aso-default-config.js +0 -2
- package/lib/aso/offer/config/aso-single-response.d.ts +0 -5
- package/lib/aso/offer/config/aso-single-response.js +0 -2
- package/lib/aso/offerwall/auth/offerwall-auth-config.d.ts +0 -14
- package/lib/aso/offerwall/auth/offerwall-auth-config.js +0 -2
- package/lib/aso/offerwall/auth/offerwall-auth-localization.d.ts +0 -8
- package/lib/aso/offerwall/auth/offerwall-auth-localization.js +0 -2
- package/lib/aso/offerwall/auth/offerwall-auth-submit-request.d.ts +0 -3
- package/lib/aso/offerwall/auth/offerwall-auth-submit-request.js +0 -2
- package/lib/aso/offerwall/auth/offerwall-auth-submit-response.d.ts +0 -3
- package/lib/aso/offerwall/auth/offerwall-auth-submit-response.js +0 -2
- package/lib/aso/offerwall/offerwall-home-dialog-data.d.ts +0 -6
- package/lib/aso/offerwall/offerwall-home-dialog-data.js +0 -2
- package/lib/aso/offerwall/offerwall-offer.d.ts +0 -8
- package/lib/aso/offerwall/offerwall-offer.js +0 -2
- package/lib/aso/offerwall/offerwall-response.d.ts +0 -6
- package/lib/aso/offerwall/offerwall-response.js +0 -2
- package/lib/aso/offerwall/offerwall-section.d.ts +0 -6
- package/lib/aso/offerwall/offerwall-section.js +0 -2
- package/lib/aso/usage-logs/aso-config-fetch-entry.d.ts +0 -28
- package/lib/aso/usage-logs/aso-config-fetch-entry.js +0 -2
- package/lib/flash/flash-app-integration.d.ts +0 -53
- package/lib/flash/flash-app-integration.js +0 -63
- package/lib/flash/flash-app-list-item.d.ts +0 -5
- package/lib/flash/flash-app-list-item.js +0 -2
- package/lib/flash/flash-app-type.d.ts +0 -4
- package/lib/flash/flash-app-type.js +0 -8
- package/lib/flash/flash-app.d.ts +0 -169
- package/lib/flash/flash-app.js +0 -215
- package/src/templates/nginx-template.conf +0 -35
- package/src/types/ssh2-sftp-client.d.ts +0 -59
package/src/utils/server-util.ts
CHANGED
|
@@ -1,120 +1,56 @@
|
|
|
1
1
|
import { NodeSSH } from "node-ssh";
|
|
2
|
-
import ChildProcess from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import mustache from "mustache";
|
|
6
|
-
const { promisify } = require("util");
|
|
7
|
-
const execPromise = promisify(ChildProcess.exec);
|
|
8
|
-
|
|
9
|
-
export let IP = "185.123.53.227";
|
|
10
|
-
export let PASSWORD = "xUA3oOX06Kfc9m12rZ";
|
|
11
|
-
export let HOST = "cg-main-server.com";
|
|
12
|
-
export let PORT = 56777;
|
|
2
|
+
import ChildProcess from 'child_process'
|
|
3
|
+
const { promisify } = require('util');
|
|
4
|
+
const execPromise = promisify(ChildProcess.exec)
|
|
13
5
|
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
constructor(ssh?: NodeSSH) {
|
|
20
|
-
this.ssh = ssh;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Выконує команду або по SSH або локально, повертаючи текст незалежно від результату (помилка чи успіх)
|
|
24
|
-
async exec(command: string, options?: any): Promise<string> {
|
|
25
|
-
if (this.ssh) {
|
|
26
|
-
return (await this.ssh.execCommand(command, options)).stdout;
|
|
27
|
-
} else {
|
|
28
|
-
return await new Promise<string>((resolve) => {
|
|
29
|
-
execPromise(command, (err: string, stdout: string) => {
|
|
30
|
-
resolve(stdout);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// SSH
|
|
37
|
-
async generateSSHKey(): Promise<string> {
|
|
38
|
-
await this.exec(`ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa <<< n`);
|
|
39
|
-
let sshFingerprint = await this.exec(`cat ~/.ssh/id_rsa.pub`);
|
|
40
|
-
return sshFingerprint;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// create Directories in /Var
|
|
44
|
-
async createDirectories(): Promise<void> {
|
|
45
|
-
await this.exec(`mkdir -p /var/www/ai`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// install git
|
|
49
|
-
async installGit(): Promise<void> {
|
|
50
|
-
await this.exec(`apt-get update; apt-get install -y git`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// add ssh to bitbucket
|
|
54
|
-
async addBitbucketToKnownHosts(): Promise<void> {
|
|
55
|
-
await this.exec(`ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts`);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// clone bitbucket Repository
|
|
59
|
-
async cloneRepository(repoName: string, targetPath: string): Promise<void> {
|
|
60
|
-
let gitResponse = await this.exec(
|
|
61
|
-
`git clone git@bitbucket.org:bprtsk/${repoName}.git`,
|
|
62
|
-
{ cwd: targetPath }
|
|
63
|
-
);
|
|
64
|
-
if (
|
|
65
|
-
gitResponse.includes(
|
|
66
|
-
`Please make sure you have the correct access rights`
|
|
67
|
-
)
|
|
68
|
-
) {
|
|
69
|
-
throw new Error(`No access to the remote repository!`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
6
|
+
export let IP = "185.123.53.227"
|
|
7
|
+
export let PASSWORD = "xUA3oOX06Kfc9m12rZ"
|
|
8
|
+
export let HOST = "cg-main-server.com"
|
|
9
|
+
export let PORT = 56777
|
|
72
10
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// async checkoutBranch(branch: string, repoPath: string): Promise<void> {
|
|
76
|
-
// await this.exec(`git checkout -b ${branch}; git branch --set-upstream-to=origin/${branch} ${branch}; git reset --hard origin/${branch};`, { cwd: repoPath });
|
|
77
|
-
// }
|
|
11
|
+
export class ServerUtil {
|
|
12
|
+
DOMAIN_HOME = "/etc/nginx/sites-enabled"
|
|
78
13
|
|
|
79
|
-
|
|
14
|
+
ssh?: NodeSSH
|
|
80
15
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
16
|
+
constructor(ssh?: NodeSSH) {
|
|
17
|
+
this.ssh = ssh
|
|
18
|
+
}
|
|
84
19
|
|
|
85
|
-
|
|
20
|
+
// Выконує команду або по SSH або локально, повертаючи текст незалежно від результату (помилка чи успіх)
|
|
21
|
+
async exec(command: string, options?: any): Promise<string> {
|
|
22
|
+
if (this.ssh) {
|
|
23
|
+
return (await this.ssh.execCommand(command, options)).stdout
|
|
24
|
+
} else {
|
|
25
|
+
return await new Promise<string>((resolve) => {
|
|
26
|
+
execPromise(command, (err: string, stdout: string) => {
|
|
27
|
+
resolve(stdout)
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
86
32
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
33
|
+
// Nginx
|
|
34
|
+
async isNginxActive(): Promise<boolean> {
|
|
35
|
+
try {
|
|
36
|
+
let result = await this.exec('systemctl status nginx')
|
|
37
|
+
if (result.includes("Active: active")) return true
|
|
38
|
+
} catch (e) { console.error(e) }
|
|
92
39
|
|
|
93
|
-
|
|
94
|
-
async isNginxActive(): Promise<boolean> {
|
|
95
|
-
try {
|
|
96
|
-
let result = await this.exec("systemctl status nginx");
|
|
97
|
-
if (result.includes("Active: active")) return true;
|
|
98
|
-
} catch (e) {
|
|
99
|
-
console.error(e);
|
|
40
|
+
return false
|
|
100
41
|
}
|
|
101
42
|
|
|
102
|
-
|
|
103
|
-
|
|
43
|
+
// Mongo
|
|
44
|
+
async isMongoActive(): Promise<boolean> {
|
|
45
|
+
try {
|
|
46
|
+
let result = await this.exec('systemctl status mongod')
|
|
47
|
+
if (result.includes("Active: active")) return true
|
|
48
|
+
} catch (e) { console.error(e) }
|
|
104
49
|
|
|
105
|
-
|
|
106
|
-
async isMongoActive(): Promise<boolean> {
|
|
107
|
-
try {
|
|
108
|
-
let result = await this.exec("systemctl status mongod");
|
|
109
|
-
if (result.includes("Active: active")) return true;
|
|
110
|
-
} catch (e) {
|
|
111
|
-
console.error(e);
|
|
50
|
+
return false
|
|
112
51
|
}
|
|
113
52
|
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
mongoInstallCommand = `
|
|
53
|
+
mongoInstallCommand = `
|
|
118
54
|
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | tee /etc/apt/sources.list.d/focal-security.list;
|
|
119
55
|
apt-get update;
|
|
120
56
|
apt-get install libssl1.1;
|
|
@@ -127,103 +63,45 @@ export class ServerUtil {
|
|
|
127
63
|
apt-get install -y mongodb-org;
|
|
128
64
|
systemctl enable mongod.service;
|
|
129
65
|
systemctl start mongod;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
66
|
+
`
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
// Domains
|
|
71
|
+
|
|
72
|
+
async domainNginxConfigExists(host: string): Promise<boolean> {
|
|
73
|
+
try {
|
|
74
|
+
let result = await this.exec(`ls ${this.DOMAIN_HOME}/${host}.nginx.ssl.conf`)
|
|
75
|
+
if (result.includes("No such file or directory")) return false
|
|
76
|
+
} catch (e) { console.error(e) }
|
|
77
|
+
|
|
78
|
+
return true
|
|
141
79
|
}
|
|
142
80
|
|
|
143
|
-
|
|
144
|
-
}
|
|
81
|
+
async domainNginxCertsExist(host: string): Promise<boolean> {
|
|
145
82
|
|
|
146
|
-
// checking if the ssl certificate exists
|
|
147
|
-
async domainNginxCertsExist(host: string): Promise<boolean> {
|
|
148
|
-
try {
|
|
149
|
-
let result = await this.exec(`ls /etc/letsencrypt/live/${host}`);
|
|
150
|
-
if (result.includes("No such file or directory")) return false;
|
|
151
|
-
} catch (e) {
|
|
152
|
-
console.error(e);
|
|
153
83
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
console.error(e);
|
|
84
|
+
|
|
85
|
+
// Certbot CRON
|
|
86
|
+
async isCerbotActive(): Promise<boolean> {
|
|
87
|
+
try {
|
|
88
|
+
let result = await this.exec('which certbot')
|
|
89
|
+
if (result.includes("/usr/bin/certbot")) return true
|
|
90
|
+
} catch (e) { console.error(e) }
|
|
91
|
+
|
|
92
|
+
return false
|
|
164
93
|
}
|
|
165
94
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
async setupCertbot(): Promise<boolean> {
|
|
171
|
-
await this.exec(`apt-get install -y certbot python3-certbot-nginx;`);
|
|
172
|
-
|
|
173
|
-
return true;
|
|
174
|
-
}
|
|
175
|
-
// creating a SSL certificate
|
|
176
|
-
async setupSSL(email: string, host: string): Promise<void> {
|
|
177
|
-
let certbotResponse = await this.exec(
|
|
178
|
-
`certbot --non-interactive --agree-tos --nginx -m "${email}" -d "${host}"`
|
|
179
|
-
);
|
|
180
|
-
if (certbotResponse.includes(`Some challenges have failed.`)) {
|
|
181
|
-
throw new Error("Certbot encountered an error");
|
|
95
|
+
async setupCertbot(): Promise<boolean> {
|
|
96
|
+
await this.exec(`apt-get install -y certbot python3-certbot-nginx;`)
|
|
97
|
+
|
|
98
|
+
return true
|
|
182
99
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
)
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
// Git
|
|
189
|
-
async refresh(): Promise<boolean> {
|
|
190
|
-
await this.exec(`git stash; rm-rf built; git pull`);
|
|
191
|
-
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
async deployLandingPage(
|
|
198
|
-
host: string,
|
|
199
|
-
username: string,
|
|
200
|
-
password: string,
|
|
201
|
-
remotePath: string,
|
|
202
|
-
files: any
|
|
203
|
-
): Promise<void> {
|
|
204
|
-
let sftp = new Client();
|
|
205
|
-
try {
|
|
206
|
-
//connection to the server via sftp
|
|
207
|
-
await sftp.connect({ host, username, password });
|
|
208
|
-
|
|
209
|
-
// Завантажити файли на сервер
|
|
210
|
-
for (const file of files) {
|
|
211
|
-
await sftp.put(
|
|
212
|
-
Buffer.from(file.content, "base64"),
|
|
213
|
-
`${remotePath}/${file.name}`
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
} finally {
|
|
217
|
-
sftp.end();
|
|
100
|
+
|
|
101
|
+
// Git
|
|
102
|
+
async refresh(): Promise<boolean> {
|
|
103
|
+
// git stash; rm-rf built; git pull
|
|
218
104
|
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
async generateNginxConfig(domain: string, rootPath: string): Promise<string> {
|
|
222
|
-
const template = fs.readFileSync("templates/nginx-template.conf", "utf8");
|
|
223
|
-
const config = mustache.render(template, { domain, rootPath });
|
|
224
|
-
return config;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
105
|
}
|
|
228
106
|
|
|
229
107
|
|
|
@@ -243,4 +121,3 @@ export class ServerUtil {
|
|
|
243
121
|
|
|
244
122
|
// process.exit(0)
|
|
245
123
|
// })()
|
|
246
|
-
|
package/tsconfig.json
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "esnext",
|
|
4
|
-
"lib": [
|
|
5
|
-
"module": "
|
|
3
|
+
"target": "esnext",
|
|
4
|
+
"lib": ["esnext"],
|
|
5
|
+
"module": "commonjs",
|
|
6
6
|
"declaration": true,
|
|
7
7
|
"outDir": "./lib",
|
|
8
8
|
"baseUrl": "./src",
|
|
9
|
-
"rootDir": "src",
|
|
9
|
+
"rootDir": "./src",
|
|
10
10
|
"jsx": "react-jsx",
|
|
11
11
|
"strict": true,
|
|
12
|
-
"moduleResolution": "
|
|
12
|
+
"moduleResolution": "node"
|
|
13
13
|
},
|
|
14
|
-
|
|
15
14
|
"include": ["src"],
|
|
16
15
|
"exclude": ["node_modules", "**/__tests__/*"]
|
|
17
|
-
}
|
|
16
|
+
}
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
import { IAsoDefaultConfig } from "./aso-default-config";
|
|
2
|
-
export interface IConfig {
|
|
3
|
-
id: number;
|
|
4
|
-
name: string;
|
|
5
|
-
email: string;
|
|
6
|
-
bundle: string;
|
|
7
|
-
skipping?: boolean;
|
|
8
|
-
alghoritm?: string;
|
|
9
|
-
ip: string;
|
|
10
|
-
sshPassword: string;
|
|
11
|
-
sshPort?: string;
|
|
12
|
-
trackingLink: string;
|
|
13
|
-
newTrackingLink?: string;
|
|
14
|
-
clientSideValidation: boolean;
|
|
15
|
-
host: string;
|
|
16
|
-
fullAccess: boolean;
|
|
17
|
-
appsflyerKey: string;
|
|
18
|
-
onesignalKey: string;
|
|
19
|
-
onesignalRestApiKey?: string;
|
|
20
|
-
showVideo: boolean;
|
|
21
|
-
appsflyerEnabled: boolean;
|
|
22
|
-
singleFirst: boolean;
|
|
23
|
-
authAdEnabled: boolean;
|
|
24
|
-
allowedCountries: string;
|
|
25
|
-
excludedCountries: string;
|
|
26
|
-
supportUrl?: string;
|
|
27
|
-
support?: {
|
|
28
|
-
[key: string]: string;
|
|
29
|
-
};
|
|
30
|
-
privacyPolicyUrl: string;
|
|
31
|
-
callCoolDown: number;
|
|
32
|
-
smsCoolDown: number;
|
|
33
|
-
maxSmsTries: number;
|
|
34
|
-
maxCallTries: number;
|
|
35
|
-
smscLogin: string;
|
|
36
|
-
smscPassword: string;
|
|
37
|
-
autoSmsCodeCatch: boolean;
|
|
38
|
-
autoCallCodeCatch: boolean;
|
|
39
|
-
localization?: ILocalizationMap | ILocalization;
|
|
40
|
-
authorizationActionMapping: IAuthorizationActionMapping;
|
|
41
|
-
offersSectionMapping: IOfferSectionMapping;
|
|
42
|
-
configMapping: IConfigMapping;
|
|
43
|
-
configEndpoint: string;
|
|
44
|
-
offersEndpoint: string;
|
|
45
|
-
offerEndpoint: string;
|
|
46
|
-
nextActionEndpoint: string;
|
|
47
|
-
currentActionEndpoint: string;
|
|
48
|
-
codeValidationEndpoint: string;
|
|
49
|
-
changeNumberEndpoint: string;
|
|
50
|
-
imageEndpoint: string;
|
|
51
|
-
categoriesQuery: string;
|
|
52
|
-
phoneQuery: string;
|
|
53
|
-
nameQuery: string;
|
|
54
|
-
codeQuery: string;
|
|
55
|
-
validityQuery: string;
|
|
56
|
-
resetUserQuery: string;
|
|
57
|
-
oldPhoneQuery: string;
|
|
58
|
-
newPhoneQuery: string;
|
|
59
|
-
appsflyerDataQuery: string;
|
|
60
|
-
offerIdParameter: string;
|
|
61
|
-
countryCodeParameter?: string;
|
|
62
|
-
redirectHtmlName: string;
|
|
63
|
-
redirectJsName: string;
|
|
64
|
-
redirectFolderName?: string;
|
|
65
|
-
redirectJsCustomNumberParameter?: string;
|
|
66
|
-
apiPrefix?: string;
|
|
67
|
-
emptyEmojiRequired?: boolean;
|
|
68
|
-
skipCode: boolean;
|
|
69
|
-
externalIpGeo: boolean;
|
|
70
|
-
exportedTranslations?: boolean;
|
|
71
|
-
readyForPanel?: boolean;
|
|
72
|
-
oldHosts?: string[];
|
|
73
|
-
version: number;
|
|
74
|
-
}
|
|
75
|
-
export interface IAuthorizationActionMapping {
|
|
76
|
-
nextActionIn: string;
|
|
77
|
-
hasNextAction: string;
|
|
78
|
-
changeNumberCaption: string;
|
|
79
|
-
nextActionCaption: string;
|
|
80
|
-
nextActionPatternCaption: string;
|
|
81
|
-
actualTitlePattern: string;
|
|
82
|
-
expiredTitlePattern: string;
|
|
83
|
-
subtitle: string;
|
|
84
|
-
when: string;
|
|
85
|
-
authorized: string;
|
|
86
|
-
canChangeNumber: string;
|
|
87
|
-
}
|
|
88
|
-
export interface ILocalizationMap {
|
|
89
|
-
[key: string]: ILocalization;
|
|
90
|
-
}
|
|
91
|
-
export interface ISectionPalette {
|
|
92
|
-
titleBorder: string;
|
|
93
|
-
titleText: string;
|
|
94
|
-
offerBorder: string;
|
|
95
|
-
buttonBorder: string;
|
|
96
|
-
buttonBackground: string;
|
|
97
|
-
buttonBackgroundPressed: string;
|
|
98
|
-
buttonText: string;
|
|
99
|
-
emojiBackground: string;
|
|
100
|
-
emojiBorder: string;
|
|
101
|
-
emojiCaptionBorder: string;
|
|
102
|
-
emojiCaptionBackground: string;
|
|
103
|
-
emojiCaption: string;
|
|
104
|
-
}
|
|
105
|
-
export interface IOfferResult {
|
|
106
|
-
id: string;
|
|
107
|
-
backgroundImage: string;
|
|
108
|
-
foregroundImage: string;
|
|
109
|
-
emoji: IOfferResultEmoji | null;
|
|
110
|
-
buttonText: string;
|
|
111
|
-
}
|
|
112
|
-
export interface IOfferResultEmoji {
|
|
113
|
-
emoji: string | null;
|
|
114
|
-
caption: string | null;
|
|
115
|
-
}
|
|
116
|
-
export interface IOffersSection {
|
|
117
|
-
id: number;
|
|
118
|
-
offers: IOfferResult[];
|
|
119
|
-
title: string;
|
|
120
|
-
palette: ISectionPalette;
|
|
121
|
-
}
|
|
122
|
-
export interface ISectionPaletteMapping {
|
|
123
|
-
titleBorder: string;
|
|
124
|
-
titleText: string;
|
|
125
|
-
offerBorder: string;
|
|
126
|
-
buttonBorder: string;
|
|
127
|
-
buttonBackground: string;
|
|
128
|
-
buttonBackgroundPressed: string;
|
|
129
|
-
buttonText: string;
|
|
130
|
-
emojiBackground: string;
|
|
131
|
-
emojiBorder: string;
|
|
132
|
-
emojiCaptionBorder: string;
|
|
133
|
-
emojiCaptionBackground: string;
|
|
134
|
-
emojiCaption: string;
|
|
135
|
-
}
|
|
136
|
-
export interface IOfferSectionMapping {
|
|
137
|
-
id: string;
|
|
138
|
-
offers: string;
|
|
139
|
-
title: string;
|
|
140
|
-
palette: string;
|
|
141
|
-
internal: [string, any][];
|
|
142
|
-
}
|
|
143
|
-
export interface IOfferResultMapping {
|
|
144
|
-
id: string;
|
|
145
|
-
backgroundImage: string;
|
|
146
|
-
foregroundImage: string;
|
|
147
|
-
emoji: string;
|
|
148
|
-
emojiCaption: string;
|
|
149
|
-
buttonText: string;
|
|
150
|
-
mappingName: string;
|
|
151
|
-
}
|
|
152
|
-
export interface IOfferSectionMapping {
|
|
153
|
-
id: string;
|
|
154
|
-
offers: string;
|
|
155
|
-
title: string;
|
|
156
|
-
internal: [string, any][];
|
|
157
|
-
}
|
|
158
|
-
export interface ILocalization {
|
|
159
|
-
numberWillReceiveACallPattern: string;
|
|
160
|
-
numberReceivedACallPattern: string;
|
|
161
|
-
numberReceivedASmsPattern: string;
|
|
162
|
-
numberWillReceiveASmsPattern: string;
|
|
163
|
-
enterLastFourDigits: string;
|
|
164
|
-
enterCodeFromSms: string;
|
|
165
|
-
callAgainSPattern: string;
|
|
166
|
-
callAgain: string;
|
|
167
|
-
smsAgain: string;
|
|
168
|
-
smsAgainSPattern: string;
|
|
169
|
-
changeNumber: string;
|
|
170
|
-
sendSms: string;
|
|
171
|
-
sendSmsSPattern: string;
|
|
172
|
-
hhMm: string;
|
|
173
|
-
unfortunatelyYourTriesLeft: string;
|
|
174
|
-
introDialog_title: string;
|
|
175
|
-
introDialog_message: string;
|
|
176
|
-
introDialog_exit: string;
|
|
177
|
-
introDialog_yes: string;
|
|
178
|
-
introDialog_cancel: string;
|
|
179
|
-
error_phone: string;
|
|
180
|
-
error_name: string;
|
|
181
|
-
error_server: string;
|
|
182
|
-
error_invalidCode: string;
|
|
183
|
-
changeNumber_title: string;
|
|
184
|
-
changeNumber_message: string;
|
|
185
|
-
changeNumber_no: string;
|
|
186
|
-
changeNumber_yes: string;
|
|
187
|
-
next_title: string;
|
|
188
|
-
next_message: string;
|
|
189
|
-
next_yes: string;
|
|
190
|
-
next_no: string;
|
|
191
|
-
yes: string;
|
|
192
|
-
no: string;
|
|
193
|
-
cancel: string;
|
|
194
|
-
mainButton: string;
|
|
195
|
-
codeButton: string;
|
|
196
|
-
getFullAccess: string;
|
|
197
|
-
guestPlay: string;
|
|
198
|
-
guestLocked: string;
|
|
199
|
-
yourLevel: string;
|
|
200
|
-
supportCaption: string;
|
|
201
|
-
somethingWentWrong: string;
|
|
202
|
-
game_spin: string;
|
|
203
|
-
game_balance: string;
|
|
204
|
-
game_balance_pattern: string;
|
|
205
|
-
game_win: string;
|
|
206
|
-
game_win_pattern: string;
|
|
207
|
-
game_authorize: string;
|
|
208
|
-
game_demo_welcome: string;
|
|
209
|
-
game_demo_available_after_auth: string;
|
|
210
|
-
game_min_rate_error_pattern: string;
|
|
211
|
-
auth_changeTitle: string;
|
|
212
|
-
auth_changeMessage: string;
|
|
213
|
-
auth_titleTop: IColoredString;
|
|
214
|
-
auth_titleBottom: IColoredString;
|
|
215
|
-
auth_getAccess: string;
|
|
216
|
-
auth_subtitle: IColoredString;
|
|
217
|
-
auth_cantBeEmpty: string;
|
|
218
|
-
auth_nameHint: string;
|
|
219
|
-
auth_changeNumber: IColoredString;
|
|
220
|
-
auth_enterAsGuest: string;
|
|
221
|
-
auth_privacyPolicyAcceptance: string;
|
|
222
|
-
auth_privacyPolicy: IColoredString;
|
|
223
|
-
}
|
|
224
|
-
export interface IColoredString {
|
|
225
|
-
text: string;
|
|
226
|
-
colors: IColoredSpan[];
|
|
227
|
-
mappingName?: string;
|
|
228
|
-
}
|
|
229
|
-
export interface IColoredSpan {
|
|
230
|
-
from: number;
|
|
231
|
-
to: number;
|
|
232
|
-
color: string;
|
|
233
|
-
}
|
|
234
|
-
export interface IColoredStringMapping {
|
|
235
|
-
text: string;
|
|
236
|
-
colors: string;
|
|
237
|
-
internal: [string, IColoredSpanMapping][];
|
|
238
|
-
}
|
|
239
|
-
export interface IColoredSpanMapping {
|
|
240
|
-
from: string;
|
|
241
|
-
to: string;
|
|
242
|
-
color: string;
|
|
243
|
-
}
|
|
244
|
-
export interface IConfigMapping {
|
|
245
|
-
id: string;
|
|
246
|
-
fullAccess: string;
|
|
247
|
-
showVideo: string;
|
|
248
|
-
skipping?: string;
|
|
249
|
-
alghoritm?: string;
|
|
250
|
-
appsflyerEnabled: string;
|
|
251
|
-
appsflyerKey: string;
|
|
252
|
-
onesignalKey: string;
|
|
253
|
-
singleFirst: string;
|
|
254
|
-
allowedCountries: string;
|
|
255
|
-
excludedCountries: string;
|
|
256
|
-
supportUrl: string;
|
|
257
|
-
privacyPolicyUrl: string;
|
|
258
|
-
callCoolDown: string;
|
|
259
|
-
smsCoolDown: string;
|
|
260
|
-
maxSmsTries: string;
|
|
261
|
-
maxCallTries: string;
|
|
262
|
-
smscLogin: string;
|
|
263
|
-
smscPassword: string;
|
|
264
|
-
autoSmsCodeCatch: string;
|
|
265
|
-
autoCallCodeCatch: string;
|
|
266
|
-
localization: string;
|
|
267
|
-
internal: [string, ILocalizationMapping][];
|
|
268
|
-
}
|
|
269
|
-
export interface ILocalizationMapping {
|
|
270
|
-
numberWillReceiveACallPattern: string;
|
|
271
|
-
numberReceivedACallPattern: string;
|
|
272
|
-
numberReceivedASmsPattern: string;
|
|
273
|
-
numberWillReceiveASmsPattern: string;
|
|
274
|
-
enterLastFourDigits: string;
|
|
275
|
-
enterCodeFromSms: string;
|
|
276
|
-
callAgainSPattern: string;
|
|
277
|
-
callAgain: string;
|
|
278
|
-
smsAgain: string;
|
|
279
|
-
smsAgainSPattern: string;
|
|
280
|
-
sendSms: string;
|
|
281
|
-
sendSmsSPattern: string;
|
|
282
|
-
hhMm: string;
|
|
283
|
-
unfortunatelyYourTriesLeft: string;
|
|
284
|
-
game_spin: string;
|
|
285
|
-
game_balance: string;
|
|
286
|
-
game_balance_pattern: string;
|
|
287
|
-
game_win: string;
|
|
288
|
-
game_win_pattern: string;
|
|
289
|
-
game_authorize: string;
|
|
290
|
-
game_demo_welcome: string;
|
|
291
|
-
game_demo_available_after_auth: string;
|
|
292
|
-
game_min_rate_error_pattern: string;
|
|
293
|
-
introDialog_title: string;
|
|
294
|
-
introDialog_message: string;
|
|
295
|
-
introDialog_yes: string;
|
|
296
|
-
introDialog_exit: string;
|
|
297
|
-
introDialog_cancel: string;
|
|
298
|
-
error_phone: string;
|
|
299
|
-
error_name: string;
|
|
300
|
-
error_server: string;
|
|
301
|
-
error_invalidCode: string;
|
|
302
|
-
changeNumber_title: string;
|
|
303
|
-
changeNumber_message: string;
|
|
304
|
-
changeNumber_no: string;
|
|
305
|
-
changeNumber_yes: string;
|
|
306
|
-
next_title: string;
|
|
307
|
-
next_message: string;
|
|
308
|
-
next_yes: string;
|
|
309
|
-
next_no: string;
|
|
310
|
-
yes: string;
|
|
311
|
-
no: string;
|
|
312
|
-
cancel: string;
|
|
313
|
-
getFullAccess: string;
|
|
314
|
-
guestPlay: string;
|
|
315
|
-
guestLocked: string;
|
|
316
|
-
yourLevel: string;
|
|
317
|
-
supportCaption: string;
|
|
318
|
-
somethingWentWrong: string;
|
|
319
|
-
auth_changeTitle: string;
|
|
320
|
-
auth_changeMessage: string;
|
|
321
|
-
auth_titleTop: string;
|
|
322
|
-
auth_titleBottom: string;
|
|
323
|
-
auth_getAccess: string;
|
|
324
|
-
auth_cantBeEmpty: string;
|
|
325
|
-
auth_subtitle: string;
|
|
326
|
-
auth_nameHint: string;
|
|
327
|
-
auth_changeNumber: string;
|
|
328
|
-
auth_enterAsGuest: string;
|
|
329
|
-
auth_privacyPolicyAcceptance: string;
|
|
330
|
-
auth_privacyPolicy: string;
|
|
331
|
-
internal: [string, IColoredStringMapping][];
|
|
332
|
-
}
|
|
333
|
-
export declare let toDefault: (config: IConfig) => IAsoDefaultConfig;
|