@bprotsyk/aso-core 2.1.32 → 2.1.35

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 -207
  9. package/lib/app/app.js +156 -161
  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 -48
  35. package/lib/network/keitaro/keitaro-service.js +263 -263
  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 -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 -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 -13
  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 +317 -322
  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 -325
  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/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 +663 -663
  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
@@ -1,20 +1,20 @@
1
- import { Schema } from "mongoose"
2
-
3
- export interface ISectionsList {
4
- id: number
5
- content: IAppOffersSection[]
6
- }
7
-
8
- export interface IAppOffersSection {
9
- sectionId: number,
10
- offerIdsOrdered: number[]
11
- }
12
-
13
- export const SectionsListSchema = new Schema({
14
- id: {
15
- type: Number,
16
- unique: true,
17
- required: true
18
- },
19
- content: [Object],
1
+ import { Schema } from "mongoose"
2
+
3
+ export interface ISectionsList {
4
+ id: number
5
+ content: IAppOffersSection[]
6
+ }
7
+
8
+ export interface IAppOffersSection {
9
+ sectionId: number,
10
+ offerIdsOrdered: number[]
11
+ }
12
+
13
+ export const SectionsListSchema = new Schema({
14
+ id: {
15
+ type: Number,
16
+ unique: true,
17
+ required: true
18
+ },
19
+ content: [Object],
20
20
  })
@@ -1,81 +1,81 @@
1
- import { Document, Model, Schema, model } from "mongoose";
2
-
3
- export interface IOffer extends Document {
4
- id: number,
5
- name: string,
6
- graphicFolder: string,
7
- graphic: {
8
- logo: string,
9
- bg: string
10
- }
11
- geo: string,
12
- caption: string,
13
- partnerId: number,
14
- link: string,
15
- type: IOfferType,
16
- keitaroId: string | null,
17
- hidden?: boolean,
18
- history: {
19
- link: string[],
20
- logo: string[],
21
- bg: string[],
22
- name: string[],
23
- caption: string[]
24
- }
25
- }
26
-
27
- // TODO в момент синхронізації з кейтаро підтягнути потрібні властивості
28
- // можна було б завантажувати офер з кейтаро кожен раз, але це буде повільніше
29
- // і доведеться назад на сервер закидати айді, який по факту там і має лежати
30
-
31
- export interface IPartner {
32
- partnerId: number,
33
- shortName: string,
34
- name: string,
35
- }
36
-
37
- export enum IOfferType {
38
- GAMBLING = "gambling",
39
- BETTING = "betting",
40
- FIN = "fin",
41
- }
42
-
43
- export interface IPartnerSection {
44
- id: number,
45
- name: string,
46
- offers: IOffer[],
47
- }
48
-
49
- export const PartnerSchema = new Schema({
50
- partnerId: Number,
51
- shortName: String,
52
- name: String
53
- })
54
-
55
- export const OfferSchema = new Schema({
56
- id: { type: Number, unique: true },
57
- name: String,
58
- graphicFolder: String,
59
- graphic: {
60
- logo: String,
61
- bg: String
62
- },
63
- geo: String,
64
- caption: String,
65
- link: String,
66
- partnerId: Number,
67
- type: {
68
- type: String,
69
- enum: IOfferType,
70
- default: IOfferType.GAMBLING
71
- },
72
- keitaroId: String,
73
- hidden: Boolean,
74
- history: {
75
- link: [String],
76
- logoNames: [String],
77
- bgNames: [String],
78
- name: [String],
79
- caption: [String]
80
- }
1
+ import { Document, Model, Schema, model } from "mongoose";
2
+
3
+ export interface IOffer extends Document {
4
+ id: number,
5
+ name: string,
6
+ graphicFolder: string,
7
+ graphic: {
8
+ logo: string,
9
+ bg: string
10
+ }
11
+ geo: string,
12
+ caption: string,
13
+ partnerId: number,
14
+ link: string,
15
+ type: IOfferType,
16
+ keitaroId: string | null,
17
+ hidden?: boolean,
18
+ history: {
19
+ link: string[],
20
+ logo: string[],
21
+ bg: string[],
22
+ name: string[],
23
+ caption: string[]
24
+ }
25
+ }
26
+
27
+ // TODO в момент синхронізації з кейтаро підтягнути потрібні властивості
28
+ // можна було б завантажувати офер з кейтаро кожен раз, але це буде повільніше
29
+ // і доведеться назад на сервер закидати айді, який по факту там і має лежати
30
+
31
+ export interface IPartner {
32
+ partnerId: number,
33
+ shortName: string,
34
+ name: string,
35
+ }
36
+
37
+ export enum IOfferType {
38
+ GAMBLING = "gambling",
39
+ BETTING = "betting",
40
+ FIN = "fin",
41
+ }
42
+
43
+ export interface IPartnerSection {
44
+ id: number,
45
+ name: string,
46
+ offers: IOffer[],
47
+ }
48
+
49
+ export const PartnerSchema = new Schema({
50
+ partnerId: Number,
51
+ shortName: String,
52
+ name: String
53
+ })
54
+
55
+ export const OfferSchema = new Schema({
56
+ id: { type: Number, unique: true },
57
+ name: String,
58
+ graphicFolder: String,
59
+ graphic: {
60
+ logo: String,
61
+ bg: String
62
+ },
63
+ geo: String,
64
+ caption: String,
65
+ link: String,
66
+ partnerId: Number,
67
+ type: {
68
+ type: String,
69
+ enum: IOfferType,
70
+ default: IOfferType.GAMBLING
71
+ },
72
+ keitaroId: String,
73
+ hidden: Boolean,
74
+ history: {
75
+ link: [String],
76
+ logoNames: [String],
77
+ bgNames: [String],
78
+ name: [String],
79
+ caption: [String]
80
+ }
81
81
  })
@@ -1,6 +1,6 @@
1
- export interface IOfferWallHomeDialogData {
2
- title: string;
3
- message: string;
4
- yes: string;
5
- no: string;
6
- }
1
+ export interface IOfferWallHomeDialogData {
2
+ title: string;
3
+ message: string;
4
+ yes: string;
5
+ no: string;
6
+ }
@@ -1,12 +1,12 @@
1
- export interface IOfferWallOffer {
2
- url: string
3
- foregroundUrl: string
4
- backgroundUrl: string
5
- emojiIcon?: string
6
- emojiCaption?: string
7
- caption: string
8
- name: string
9
- new: boolean
10
- conversionTime: number
11
- priority: number
12
- }
1
+ export interface IOfferWallOffer {
2
+ url: string
3
+ foregroundUrl: string
4
+ backgroundUrl: string
5
+ emojiIcon?: string
6
+ emojiCaption?: string
7
+ caption: string
8
+ name: string
9
+ new: boolean
10
+ conversionTime: number
11
+ priority: number
12
+ }
@@ -1,7 +1,7 @@
1
- import { IOfferWallHomeDialogData } from "offers/offerwall/offerwall-home-dialog-data";
2
- import { IOfferWallSection } from "offers/offerwall/offerwall-section";
3
-
4
- export interface IOfferWallResponse {
5
- sections: IOfferWallSection[];
6
- homeDialog: IOfferWallHomeDialogData;
7
- }
1
+ import { IOfferWallHomeDialogData } from "offers/offerwall/offerwall-home-dialog-data";
2
+ import { IOfferWallSection } from "offers/offerwall/offerwall-section";
3
+
4
+ export interface IOfferWallResponse {
5
+ sections: IOfferWallSection[];
6
+ homeDialog: IOfferWallHomeDialogData;
7
+ }
@@ -1,7 +1,7 @@
1
- import { IOfferWallOffer } from "offers/offerwall/offerwall-offer";
2
-
3
- export interface IOfferWallSection {
4
- offers: IOfferWallOffer[];
5
- title: string;
6
- buttonText: string;
7
- }
1
+ import { IOfferWallOffer } from "offers/offerwall/offerwall-offer";
2
+
3
+ export interface IOfferWallSection {
4
+ offers: IOfferWallOffer[];
5
+ title: string;
6
+ buttonText: string;
7
+ }
@@ -1,30 +1,30 @@
1
- import { Schema } from "mongoose"
2
-
3
- export interface IOffersSection {
4
- id: number,
5
- title: {
6
- none: string,
7
- [key: string]: string
8
- },
9
- button: {
10
- none: string,
11
- [key: string]: string
12
- }
13
- }
14
-
15
- export const OffersSectionSchema = new Schema({
16
- id: {
17
- type: Number,
18
- unique: true,
19
- required: true
20
- },
21
- title: Object,
22
- button: Object
23
- })
24
-
25
- export enum DefaultSectionId {
26
- GAMBLING_MAIN = 0,
27
- BETTING_MAIN = 1,
28
- GAMBLING_PLAYED = 2,
29
- BETTING_PLAYED = 3
1
+ import { Schema } from "mongoose"
2
+
3
+ export interface IOffersSection {
4
+ id: number,
5
+ title: {
6
+ none: string,
7
+ [key: string]: string
8
+ },
9
+ button: {
10
+ none: string,
11
+ [key: string]: string
12
+ }
13
+ }
14
+
15
+ export const OffersSectionSchema = new Schema({
16
+ id: {
17
+ type: Number,
18
+ unique: true,
19
+ required: true
20
+ },
21
+ title: Object,
22
+ button: Object
23
+ })
24
+
25
+ export enum DefaultSectionId {
26
+ GAMBLING_MAIN = 0,
27
+ BETTING_MAIN = 1,
28
+ GAMBLING_PLAYED = 2,
29
+ BETTING_PLAYED = 3
30
30
  }
@@ -1,39 +1,39 @@
1
- import { EImageFormat, IAppGenerationOptions, IAppKeitaroData, IBannerParams, IDeveloperParams, IDirectParams, IDomainParams, IExternalParams, IOffersStubParams, IPlatformParams, IPrivacyPolicyParams, IRemoteServerParams, IRemoveDataParams, IntegrationVersion } from "app/app"
2
- import { PlugType } from "index"
3
-
4
- export interface IUpsertAppRequest {
5
- id: number
6
- name?: string
7
- bundle?: string
8
- sourceUrl?: string, // –
9
- enabled?: boolean,
10
- geos?: string,
11
- geo?: string[],
12
-
13
- // onesignalAppId: string
14
- // onesignalRestApiKey: string
15
-
16
- appmetricaApiKey?: string
17
- appmetricaAppId?: number
18
-
19
- integrationVersion?: IntegrationVersion,
20
-
21
- keitaroData?: Partial<IAppKeitaroData>,
22
- offersStubParams?: IOffersStubParams,
23
- bannerParams?: IBannerParams,
24
- domainParams: IDomainParams,
25
- directParams?: IDirectParams,
26
- externalParams?: IExternalParams,
27
- platforms: { [key: string]: IPlatformParams },
28
- proxied: boolean,
29
- imageFormat?: EImageFormat,
30
- file?: any
31
- }
32
-
33
- export interface IUpsertAppResponse {
34
- data: IUpsertAppRequest,
35
- linkName: string,
36
- archive: string,
37
- externalParams?: IExternalParams,
38
- }
39
-
1
+ import { EImageFormat, IAppGenerationOptions, IAppKeitaroData, IBannerParams, IDeveloperParams, IDirectParams, IDomainParams, IExternalParams, IOffersStubParams, IPlatformParams, IPrivacyPolicyParams, IRemoteServerParams, IRemoveDataParams, IntegrationVersion } from "app/app"
2
+ import { PlugType } from "index"
3
+
4
+ export interface IUpsertAppRequest {
5
+ id: number
6
+ name?: string
7
+ bundle?: string
8
+ sourceUrl?: string, // –
9
+ enabled?: boolean,
10
+ geos?: string,
11
+ geo?: string[],
12
+
13
+ // onesignalAppId: string
14
+ // onesignalRestApiKey: string
15
+
16
+ appmetricaApiKey?: string
17
+ appmetricaAppId?: number
18
+
19
+ integrationVersion?: IntegrationVersion,
20
+
21
+ keitaroData?: Partial<IAppKeitaroData>,
22
+ offersStubParams?: IOffersStubParams,
23
+ bannerParams?: IBannerParams,
24
+ domainParams: IDomainParams,
25
+ directParams?: IDirectParams,
26
+ externalParams?: IExternalParams,
27
+ platforms: { [key: string]: IPlatformParams },
28
+ proxied: boolean,
29
+ imageFormat?: EImageFormat,
30
+ file?: any
31
+ }
32
+
33
+ export interface IUpsertAppResponse {
34
+ data: IUpsertAppRequest,
35
+ linkName: string,
36
+ archive: string,
37
+ externalParams?: IExternalParams,
38
+ }
39
+
package/src/panel/auth.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { PanelUserAccessScope } from "index";
2
-
3
- export interface IAuthToken {
4
- id: string,
5
- username: string,
6
- accessScopes: PanelUserAccessScope[],
7
- token: string,
8
- expiresIn: string
9
- refreshToken:string,
1
+ import { PanelUserAccessScope } from "index";
2
+
3
+ export interface IAuthToken {
4
+ id: string,
5
+ username: string,
6
+ accessScopes: PanelUserAccessScope[],
7
+ token: string,
8
+ expiresIn: string
9
+ refreshToken:string,
10
10
  }
package/src/panel/user.ts CHANGED
@@ -1,38 +1,38 @@
1
- import { Document, Schema } from "mongoose"
2
-
3
- export enum PanelUserAccessScope {
4
- ADMIN,
5
-
6
- POLICY_GENERATOR,
7
-
8
- FLASH_APPS_RO,
9
- FLASH_APPS_RW,
10
-
11
- OFFERS_RO,
12
- OFFERS_RW,
13
-
14
- OFFERWALL_RO,
15
- OFFERWALL_RW,
16
-
17
- ASO_LOGS
18
- }
19
-
20
- export interface IPanelUser extends Document {
21
- username: string,
22
- passwordHash: string,
23
- accessScopes: PanelUserAccessScope[]
24
- }
25
-
26
- export const PanelUserSchema = new Schema({
27
- username: {
28
- type: String,
29
- unique: true
30
- },
31
- passwordHash: String,
32
- accessScopes: [{
33
- type: String,
34
- enum: PanelUserAccessScope,
35
- default: [],
36
- }]
37
- })
38
-
1
+ import { Document, Schema } from "mongoose"
2
+
3
+ export enum PanelUserAccessScope {
4
+ ADMIN,
5
+
6
+ POLICY_GENERATOR,
7
+
8
+ FLASH_APPS_RO,
9
+ FLASH_APPS_RW,
10
+
11
+ OFFERS_RO,
12
+ OFFERS_RW,
13
+
14
+ OFFERWALL_RO,
15
+ OFFERWALL_RW,
16
+
17
+ ASO_LOGS
18
+ }
19
+
20
+ export interface IPanelUser extends Document {
21
+ username: string,
22
+ passwordHash: string,
23
+ accessScopes: PanelUserAccessScope[]
24
+ }
25
+
26
+ export const PanelUserSchema = new Schema({
27
+ username: {
28
+ type: String,
29
+ unique: true
30
+ },
31
+ passwordHash: String,
32
+ accessScopes: [{
33
+ type: String,
34
+ enum: PanelUserAccessScope,
35
+ default: [],
36
+ }]
37
+ })
38
+
@@ -1,36 +1,36 @@
1
- export const NginxTemplate=`server {
2
- server_name {{domain}};
3
- listen 80;
4
-
5
- return 301 https://{{domain}}$request_uri;
6
- }
7
-
8
- server {
9
- listen 443 ssl;
10
-
11
- ssl_certificate "/etc/letsencrypt/live/{{domain}}/fullchain.pem";
12
- ssl_certificate_key "/etc/letsencrypt/live/{{domain}}/privkey.pem";
13
- ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
14
- ssl_prefer_server_ciphers on;
15
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
16
- add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
17
- ssl_stapling on;
18
-
19
- error_log /var/log/nginx/{{domain}}.error.log error;
20
-
21
- root {{rootPath}}{{domain}};
22
- error_page 404 /policy/index.html;
23
-
24
- server_name www.{{domain}} {{domain}};
25
-
26
- location / {
27
- root {{rootPath}}{{domain}};
28
- add_header 'Access-Control-Allow-Origin' '*';
29
- add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
30
- add_header 'Access-Control-Allow-Headers' 'Origin, Authorization, Accept, Content-Type, X-Requested-With';
31
- if ($request_method = 'OPTIONS') {
32
- return 204;
33
- }
34
- }
35
- }
1
+ export const NginxTemplate=`server {
2
+ server_name {{domain}};
3
+ listen 80;
4
+
5
+ return 301 https://{{domain}}$request_uri;
6
+ }
7
+
8
+ server {
9
+ listen 443 ssl;
10
+
11
+ ssl_certificate "/etc/letsencrypt/live/{{domain}}/fullchain.pem";
12
+ ssl_certificate_key "/etc/letsencrypt/live/{{domain}}/privkey.pem";
13
+ ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
14
+ ssl_prefer_server_ciphers on;
15
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
16
+ add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
17
+ ssl_stapling on;
18
+
19
+ error_log /var/log/nginx/{{domain}}.error.log error;
20
+
21
+ root {{rootPath}}{{domain}};
22
+ error_page 404 /policy/index.html;
23
+
24
+ server_name www.{{domain}} {{domain}};
25
+
26
+ location / {
27
+ root {{rootPath}}{{domain}};
28
+ add_header 'Access-Control-Allow-Origin' '*';
29
+ add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
30
+ add_header 'Access-Control-Allow-Headers' 'Origin, Authorization, Accept, Content-Type, X-Requested-With';
31
+ if ($request_method = 'OPTIONS') {
32
+ return 204;
33
+ }
34
+ }
35
+ }
36
36
  `