@escapenavigator/types 2.0.23 → 2.0.25
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/dist/admin/admin.ro.d.ts +8 -0
- package/dist/admin/create-admin.dto.d.ts +8 -0
- package/dist/admin/create-admin.dto.js +48 -0
- package/dist/aggregator-companies/aggregator-quest-status.enum.d.ts +20 -0
- package/dist/aggregator-companies/aggregator-quest-status.enum.js +24 -0
- package/dist/constants/all-languages-by-namespace.js +9 -0
- package/dist/constants/country-by-namespace.js +9 -0
- package/dist/constants/country-name-by-country.js +9 -0
- package/dist/constants/currency-by-country.js +9 -0
- package/dist/constants/emergency-phones.js +19 -0
- package/dist/constants/language-by-country.js +9 -0
- package/dist/constants/language-flag-by-language.js +4 -0
- package/dist/constants/language-name-by-language.js +4 -0
- package/dist/constants/namespace-by-country.js +9 -0
- package/dist/constants/navigator-certificate-nominals-by-country.js +46 -0
- package/dist/openapi/widget/openapi-widget-info.ro.d.ts +1 -0
- package/dist/openapi/widget/openapi-widget-info.ro.js +4 -0
- package/dist/parse-results/parse-result-payload.d.ts +17 -1
- package/dist/parse-results/parse-result.ro.d.ts +2 -0
- package/dist/parse-results/parse-result.ro.js +4 -0
- package/dist/parse-results/update-parse-result.dto.d.ts +3 -1
- package/dist/parse-results/update-parse-result.dto.js +5 -0
- package/dist/profile/action/create-profile-action.dto.js +1 -2
- package/dist/profile/admin-profile.ro.d.ts +1 -0
- package/dist/profile/admin-profile.ro.js +4 -0
- package/dist/profile/company-ai-context.d.ts +1 -0
- package/dist/profile/enum/profile-currency.d.ts +8 -1
- package/dist/profile/enum/profile-currency.js +7 -0
- package/dist/profile/enum/profile-sales-status.enum.d.ts +11 -4
- package/dist/profile/enum/profile-sales-status.enum.js +11 -4
- package/dist/profile/query-admin-profile.dto.d.ts +2 -0
- package/dist/profile/query-admin-profile.dto.js +4 -0
- package/dist/profile/sales-board.ro.d.ts +33 -0
- package/dist/profile/sales-board.ro.js +109 -0
- package/dist/profile/widget-customization/update-widget-customization.dto.d.ts +4 -0
- package/dist/profile/widget-customization/update-widget-customization.dto.js +20 -1
- package/dist/profile/widget-customization/widget-customization.ro.d.ts +2 -0
- package/dist/profile/widget-customization/widget-customization.ro.js +4 -0
- package/dist/questroom/questroom-ai-context.d.ts +1 -0
- package/dist/shared/enum/countries.enum.d.ts +10 -1
- package/dist/shared/enum/countries.enum.js +9 -0
- package/dist/shared/enum/languages.enum.d.ts +5 -1
- package/dist/shared/enum/languages.enum.js +4 -0
- package/dist/shared/enum/namespaces.enum.d.ts +10 -1
- package/dist/shared/enum/namespaces.enum.js +9 -0
- package/dist/shared/language-to-country.js +4 -0
- package/dist/shared/normalize-search-text.d.ts +9 -0
- package/dist/shared/normalize-search-text.js +30 -0
- package/dist/shared/query.dto.d.ts +5 -0
- package/dist/shared/query.dto.js +4 -0
- package/dist/survey/survey-response.ro.d.ts +7 -0
- package/dist/survey/survey-response.ro.js +8 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/admin/admin.ro.d.ts
CHANGED
|
@@ -16,6 +16,14 @@ export type AdminRO = ResponseObject & {
|
|
|
16
16
|
canUseReviews?: boolean;
|
|
17
17
|
canUseAgb?: boolean;
|
|
18
18
|
canUseArticles?: boolean;
|
|
19
|
+
canUseAggregators?: boolean;
|
|
20
|
+
canUseBilling?: boolean;
|
|
21
|
+
canUseMarketing?: boolean;
|
|
22
|
+
canUseEmailService?: boolean;
|
|
23
|
+
canUseAnnouncements?: boolean;
|
|
24
|
+
canUseAcademy?: boolean;
|
|
25
|
+
canUseWidgetFunnel?: boolean;
|
|
26
|
+
canManageAdmins?: boolean;
|
|
19
27
|
canLogInToCrm?: boolean;
|
|
20
28
|
languages: Languages[];
|
|
21
29
|
namsespaces: number[];
|
|
@@ -15,6 +15,14 @@ export declare class CreateAdminDto {
|
|
|
15
15
|
canUseReviews: boolean;
|
|
16
16
|
canUseAgb: boolean;
|
|
17
17
|
canUseArticles: boolean;
|
|
18
|
+
canUseAggregators: boolean;
|
|
19
|
+
canUseBilling: boolean;
|
|
20
|
+
canUseMarketing: boolean;
|
|
21
|
+
canUseEmailService: boolean;
|
|
22
|
+
canUseAnnouncements: boolean;
|
|
23
|
+
canUseAcademy: boolean;
|
|
24
|
+
canUseWidgetFunnel: boolean;
|
|
25
|
+
canManageAdmins: boolean;
|
|
18
26
|
canLogInToCrm: boolean;
|
|
19
27
|
countries: CountriesEnum[];
|
|
20
28
|
languages: Languages[];
|
|
@@ -97,6 +97,54 @@ __decorate([
|
|
|
97
97
|
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
98
98
|
__metadata("design:type", Boolean)
|
|
99
99
|
], CreateAdminDto.prototype, "canUseArticles", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, class_validator_1.IsBoolean)(),
|
|
102
|
+
(0, class_transformer_1.Expose)(),
|
|
103
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
104
|
+
__metadata("design:type", Boolean)
|
|
105
|
+
], CreateAdminDto.prototype, "canUseAggregators", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, class_validator_1.IsBoolean)(),
|
|
108
|
+
(0, class_transformer_1.Expose)(),
|
|
109
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
110
|
+
__metadata("design:type", Boolean)
|
|
111
|
+
], CreateAdminDto.prototype, "canUseBilling", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, class_validator_1.IsBoolean)(),
|
|
114
|
+
(0, class_transformer_1.Expose)(),
|
|
115
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
116
|
+
__metadata("design:type", Boolean)
|
|
117
|
+
], CreateAdminDto.prototype, "canUseMarketing", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
(0, class_validator_1.IsBoolean)(),
|
|
120
|
+
(0, class_transformer_1.Expose)(),
|
|
121
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
122
|
+
__metadata("design:type", Boolean)
|
|
123
|
+
], CreateAdminDto.prototype, "canUseEmailService", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, class_validator_1.IsBoolean)(),
|
|
126
|
+
(0, class_transformer_1.Expose)(),
|
|
127
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
128
|
+
__metadata("design:type", Boolean)
|
|
129
|
+
], CreateAdminDto.prototype, "canUseAnnouncements", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, class_validator_1.IsBoolean)(),
|
|
132
|
+
(0, class_transformer_1.Expose)(),
|
|
133
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
134
|
+
__metadata("design:type", Boolean)
|
|
135
|
+
], CreateAdminDto.prototype, "canUseAcademy", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
(0, class_validator_1.IsBoolean)(),
|
|
138
|
+
(0, class_transformer_1.Expose)(),
|
|
139
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
140
|
+
__metadata("design:type", Boolean)
|
|
141
|
+
], CreateAdminDto.prototype, "canUseWidgetFunnel", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
(0, class_validator_1.IsBoolean)(),
|
|
144
|
+
(0, class_transformer_1.Expose)(),
|
|
145
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
|
|
146
|
+
__metadata("design:type", Boolean)
|
|
147
|
+
], CreateAdminDto.prototype, "canManageAdmins", void 0);
|
|
100
148
|
__decorate([
|
|
101
149
|
(0, class_validator_1.IsBoolean)(),
|
|
102
150
|
(0, class_transformer_1.Expose)(),
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Жизненный цикл квеста внешнего агрегатора (Morty и др.) в контуре
|
|
3
|
+
* сверки каталога.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum AggregatorQuestStatusEnum {
|
|
6
|
+
/** Не разобран: автолинк не запускался или не дал уверенного результата. */
|
|
7
|
+
NEW = "new",
|
|
8
|
+
/** Привязан к нашему квесту (questroomId заполнен). */
|
|
9
|
+
LINKED = "linked",
|
|
10
|
+
/** Площадка привязана, но такого квеста у нас нет — кандидат на создание. */
|
|
11
|
+
MISSING = "missing",
|
|
12
|
+
/** Наш квест создан из этой записи (questroomId указывает на него). */
|
|
13
|
+
CREATED = "created",
|
|
14
|
+
/** Осознанно не создаём (закрыт у агрегатора, вне рынка и т.п.). */
|
|
15
|
+
IGNORED = "ignored",
|
|
16
|
+
/** Не эскейп-рум (VR-аркада, аттракцион и т.п.). */
|
|
17
|
+
NOT_ESCAPE = "not_escape",
|
|
18
|
+
/** Противоречие данных (например, закрыт у Morty, открыт у нас). */
|
|
19
|
+
CONFLICT = "conflict"
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AggregatorQuestStatusEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Жизненный цикл квеста внешнего агрегатора (Morty и др.) в контуре
|
|
6
|
+
* сверки каталога.
|
|
7
|
+
*/
|
|
8
|
+
var AggregatorQuestStatusEnum;
|
|
9
|
+
(function (AggregatorQuestStatusEnum) {
|
|
10
|
+
/** Не разобран: автолинк не запускался или не дал уверенного результата. */
|
|
11
|
+
AggregatorQuestStatusEnum["NEW"] = "new";
|
|
12
|
+
/** Привязан к нашему квесту (questroomId заполнен). */
|
|
13
|
+
AggregatorQuestStatusEnum["LINKED"] = "linked";
|
|
14
|
+
/** Площадка привязана, но такого квеста у нас нет — кандидат на создание. */
|
|
15
|
+
AggregatorQuestStatusEnum["MISSING"] = "missing";
|
|
16
|
+
/** Наш квест создан из этой записи (questroomId указывает на него). */
|
|
17
|
+
AggregatorQuestStatusEnum["CREATED"] = "created";
|
|
18
|
+
/** Осознанно не создаём (закрыт у агрегатора, вне рынка и т.п.). */
|
|
19
|
+
AggregatorQuestStatusEnum["IGNORED"] = "ignored";
|
|
20
|
+
/** Не эскейп-рум (VR-аркада, аттракцион и т.п.). */
|
|
21
|
+
AggregatorQuestStatusEnum["NOT_ESCAPE"] = "not_escape";
|
|
22
|
+
/** Противоречие данных (например, закрыт у Morty, открыт у нас). */
|
|
23
|
+
AggregatorQuestStatusEnum["CONFLICT"] = "conflict";
|
|
24
|
+
})(AggregatorQuestStatusEnum || (exports.AggregatorQuestStatusEnum = AggregatorQuestStatusEnum = {}));
|
|
@@ -34,4 +34,13 @@ exports.allLanguagesByNamespace = {
|
|
|
34
34
|
[namespaces_enum_1.NamespacesEnum.IZRAEL]: [languages_enum_1.Languages.HE, languages_enum_1.Languages.EN],
|
|
35
35
|
[namespaces_enum_1.NamespacesEnum.IRELAND]: [languages_enum_1.Languages.EN],
|
|
36
36
|
[namespaces_enum_1.NamespacesEnum.CROATIA]: [languages_enum_1.Languages.HR, languages_enum_1.Languages.EN],
|
|
37
|
+
[namespaces_enum_1.NamespacesEnum.NEW_ZEALAND]: [languages_enum_1.Languages.EN],
|
|
38
|
+
[namespaces_enum_1.NamespacesEnum.ARGENTINA]: [languages_enum_1.Languages.ES, languages_enum_1.Languages.EN],
|
|
39
|
+
[namespaces_enum_1.NamespacesEnum.BRAZIL]: [languages_enum_1.Languages.PT, languages_enum_1.Languages.EN],
|
|
40
|
+
[namespaces_enum_1.NamespacesEnum.TAIWAN]: [languages_enum_1.Languages.ZH, languages_enum_1.Languages.EN],
|
|
41
|
+
[namespaces_enum_1.NamespacesEnum.MEXICO]: [languages_enum_1.Languages.ES, languages_enum_1.Languages.EN],
|
|
42
|
+
[namespaces_enum_1.NamespacesEnum.JAPAN]: [languages_enum_1.Languages.JA, languages_enum_1.Languages.EN],
|
|
43
|
+
[namespaces_enum_1.NamespacesEnum.SERBIA]: [languages_enum_1.Languages.SR, languages_enum_1.Languages.EN],
|
|
44
|
+
[namespaces_enum_1.NamespacesEnum.SINGAPORE]: [languages_enum_1.Languages.EN],
|
|
45
|
+
[namespaces_enum_1.NamespacesEnum.NORWAY]: [languages_enum_1.Languages.NO, languages_enum_1.Languages.EN],
|
|
37
46
|
};
|
|
@@ -34,4 +34,13 @@ exports.countryByNamespace = {
|
|
|
34
34
|
[namespaces_enum_1.NamespacesEnum.IZRAEL]: countries_enum_1.CountriesEnum.IZRAEL,
|
|
35
35
|
[namespaces_enum_1.NamespacesEnum.IRELAND]: countries_enum_1.CountriesEnum.IRELAND,
|
|
36
36
|
[namespaces_enum_1.NamespacesEnum.CROATIA]: countries_enum_1.CountriesEnum.CROATIA,
|
|
37
|
+
[namespaces_enum_1.NamespacesEnum.NEW_ZEALAND]: countries_enum_1.CountriesEnum.NEW_ZEALAND,
|
|
38
|
+
[namespaces_enum_1.NamespacesEnum.ARGENTINA]: countries_enum_1.CountriesEnum.ARGENTINA,
|
|
39
|
+
[namespaces_enum_1.NamespacesEnum.BRAZIL]: countries_enum_1.CountriesEnum.BRAZIL,
|
|
40
|
+
[namespaces_enum_1.NamespacesEnum.TAIWAN]: countries_enum_1.CountriesEnum.TAIWAN,
|
|
41
|
+
[namespaces_enum_1.NamespacesEnum.MEXICO]: countries_enum_1.CountriesEnum.MEXICO,
|
|
42
|
+
[namespaces_enum_1.NamespacesEnum.JAPAN]: countries_enum_1.CountriesEnum.JAPAN,
|
|
43
|
+
[namespaces_enum_1.NamespacesEnum.SERBIA]: countries_enum_1.CountriesEnum.SERBIA,
|
|
44
|
+
[namespaces_enum_1.NamespacesEnum.SINGAPORE]: countries_enum_1.CountriesEnum.SINGAPORE,
|
|
45
|
+
[namespaces_enum_1.NamespacesEnum.NORWAY]: countries_enum_1.CountriesEnum.NORWAY,
|
|
37
46
|
};
|
|
@@ -33,4 +33,13 @@ exports.countryNameByCountry = {
|
|
|
33
33
|
[countries_enum_1.CountriesEnum.IZRAEL]: 'יִשְׂרָאֵל',
|
|
34
34
|
[countries_enum_1.CountriesEnum.IRELAND]: 'Ireland',
|
|
35
35
|
[countries_enum_1.CountriesEnum.CROATIA]: 'Hrvatska',
|
|
36
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: 'New Zealand',
|
|
37
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: 'Argentina',
|
|
38
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: 'Brasil',
|
|
39
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: 'Taiwan',
|
|
40
|
+
[countries_enum_1.CountriesEnum.MEXICO]: 'México',
|
|
41
|
+
[countries_enum_1.CountriesEnum.JAPAN]: '日本',
|
|
42
|
+
[countries_enum_1.CountriesEnum.SERBIA]: 'Srbija',
|
|
43
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: 'Singapore',
|
|
44
|
+
[countries_enum_1.CountriesEnum.NORWAY]: 'Norge',
|
|
36
45
|
};
|
|
@@ -34,4 +34,13 @@ exports.currencyByCountry = {
|
|
|
34
34
|
[countries_enum_1.CountriesEnum.IZRAEL]: profile_currency_1.ProfileCurrencyEnum.ILS,
|
|
35
35
|
[countries_enum_1.CountriesEnum.IRELAND]: profile_currency_1.ProfileCurrencyEnum.EUR,
|
|
36
36
|
[countries_enum_1.CountriesEnum.CROATIA]: profile_currency_1.ProfileCurrencyEnum.EUR,
|
|
37
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: profile_currency_1.ProfileCurrencyEnum.NZD,
|
|
38
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: profile_currency_1.ProfileCurrencyEnum.ARS,
|
|
39
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: profile_currency_1.ProfileCurrencyEnum.BRL,
|
|
40
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: profile_currency_1.ProfileCurrencyEnum.TWD,
|
|
41
|
+
[countries_enum_1.CountriesEnum.MEXICO]: profile_currency_1.ProfileCurrencyEnum.MXN,
|
|
42
|
+
[countries_enum_1.CountriesEnum.JAPAN]: profile_currency_1.ProfileCurrencyEnum.JPY,
|
|
43
|
+
[countries_enum_1.CountriesEnum.SERBIA]: profile_currency_1.ProfileCurrencyEnum.RSD,
|
|
44
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: profile_currency_1.ProfileCurrencyEnum.SGD,
|
|
45
|
+
[countries_enum_1.CountriesEnum.NORWAY]: profile_currency_1.ProfileCurrencyEnum.NOK,
|
|
37
46
|
};
|
|
@@ -104,4 +104,23 @@ exports.emergencyPhones = {
|
|
|
104
104
|
},
|
|
105
105
|
[countries_enum_1.CountriesEnum.IRELAND]: { number: '112', services: ['Garda', 'Ambulance', 'Fire Brigade'] },
|
|
106
106
|
[countries_enum_1.CountriesEnum.CROATIA]: { number: '112', services: ['Policija', 'Hitna pomoć', 'Vatrogasci'] },
|
|
107
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: { number: '111', services: ['Police', 'Ambulance', 'Fire'] },
|
|
108
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: { number: '911', services: ['Policía', 'Ambulancia', 'Bomberos'] },
|
|
109
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: {
|
|
110
|
+
police: { number: '190', name: 'Polícia' },
|
|
111
|
+
ambulance: { number: '192', name: 'SAMU' },
|
|
112
|
+
fire: { number: '193', name: 'Bombeiros' },
|
|
113
|
+
},
|
|
114
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: {
|
|
115
|
+
police: { number: '110', name: 'Police' },
|
|
116
|
+
ambulance: { number: '119', name: 'Fire / Ambulance' },
|
|
117
|
+
},
|
|
118
|
+
[countries_enum_1.CountriesEnum.MEXICO]: { number: '911', services: ['Policía', 'Ambulancia', 'Bomberos'] },
|
|
119
|
+
[countries_enum_1.CountriesEnum.JAPAN]: {
|
|
120
|
+
police: { number: '110', name: 'Police' },
|
|
121
|
+
ambulance: { number: '119', name: 'Fire / Ambulance' },
|
|
122
|
+
},
|
|
123
|
+
[countries_enum_1.CountriesEnum.SERBIA]: { number: '112', services: ['Policija', 'Hitna pomoć', 'Vatrogasci'] },
|
|
124
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: { number: '999', services: ['Police', 'Ambulance', 'Fire'] },
|
|
125
|
+
[countries_enum_1.CountriesEnum.NORWAY]: { number: '112', services: ['Politi', 'Ambulance', 'Brann'] },
|
|
107
126
|
};
|
|
@@ -34,4 +34,13 @@ exports.languageByCountry = {
|
|
|
34
34
|
[countries_enum_1.CountriesEnum.IZRAEL]: languages_enum_1.Languages.HE,
|
|
35
35
|
[countries_enum_1.CountriesEnum.IRELAND]: languages_enum_1.Languages.EN,
|
|
36
36
|
[countries_enum_1.CountriesEnum.CROATIA]: languages_enum_1.Languages.HR,
|
|
37
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: languages_enum_1.Languages.EN,
|
|
38
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: languages_enum_1.Languages.ES,
|
|
39
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: languages_enum_1.Languages.PT,
|
|
40
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: languages_enum_1.Languages.ZH,
|
|
41
|
+
[countries_enum_1.CountriesEnum.MEXICO]: languages_enum_1.Languages.ES,
|
|
42
|
+
[countries_enum_1.CountriesEnum.JAPAN]: languages_enum_1.Languages.JA,
|
|
43
|
+
[countries_enum_1.CountriesEnum.SERBIA]: languages_enum_1.Languages.SR,
|
|
44
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: languages_enum_1.Languages.EN,
|
|
45
|
+
[countries_enum_1.CountriesEnum.NORWAY]: languages_enum_1.Languages.NO,
|
|
37
46
|
};
|
|
@@ -26,4 +26,8 @@ exports.languageFlagByLanguage = {
|
|
|
26
26
|
[languages_enum_1.Languages.LT]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/lt.png',
|
|
27
27
|
[languages_enum_1.Languages.HE]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/il.png',
|
|
28
28
|
[languages_enum_1.Languages.HR]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/hr.png',
|
|
29
|
+
[languages_enum_1.Languages.JA]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/jp.png',
|
|
30
|
+
[languages_enum_1.Languages.ZH]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/tw.png',
|
|
31
|
+
[languages_enum_1.Languages.SR]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/rs.png',
|
|
32
|
+
[languages_enum_1.Languages.NO]: 'https://escapenavigator-images.s3.eu-central-1.amazonaws.com/inside/flags/no.png',
|
|
29
33
|
};
|
|
@@ -26,4 +26,8 @@ exports.languageNameByLanguage = {
|
|
|
26
26
|
[languages_enum_1.Languages.LT]: 'Lietuvių',
|
|
27
27
|
[languages_enum_1.Languages.HE]: 'עברית',
|
|
28
28
|
[languages_enum_1.Languages.HR]: 'Hrvatski',
|
|
29
|
+
[languages_enum_1.Languages.JA]: '日本語',
|
|
30
|
+
[languages_enum_1.Languages.ZH]: '中文',
|
|
31
|
+
[languages_enum_1.Languages.SR]: 'Srpski',
|
|
32
|
+
[languages_enum_1.Languages.NO]: 'Norsk',
|
|
29
33
|
};
|
|
@@ -34,4 +34,13 @@ exports.namespaceByCountry = {
|
|
|
34
34
|
[countries_enum_1.CountriesEnum.IZRAEL]: namespaces_enum_1.NamespacesEnum.IZRAEL,
|
|
35
35
|
[countries_enum_1.CountriesEnum.IRELAND]: namespaces_enum_1.NamespacesEnum.IRELAND,
|
|
36
36
|
[countries_enum_1.CountriesEnum.CROATIA]: namespaces_enum_1.NamespacesEnum.CROATIA,
|
|
37
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: namespaces_enum_1.NamespacesEnum.NEW_ZEALAND,
|
|
38
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: namespaces_enum_1.NamespacesEnum.ARGENTINA,
|
|
39
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: namespaces_enum_1.NamespacesEnum.BRAZIL,
|
|
40
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: namespaces_enum_1.NamespacesEnum.TAIWAN,
|
|
41
|
+
[countries_enum_1.CountriesEnum.MEXICO]: namespaces_enum_1.NamespacesEnum.MEXICO,
|
|
42
|
+
[countries_enum_1.CountriesEnum.JAPAN]: namespaces_enum_1.NamespacesEnum.JAPAN,
|
|
43
|
+
[countries_enum_1.CountriesEnum.SERBIA]: namespaces_enum_1.NamespacesEnum.SERBIA,
|
|
44
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: namespaces_enum_1.NamespacesEnum.SINGAPORE,
|
|
45
|
+
[countries_enum_1.CountriesEnum.NORWAY]: namespaces_enum_1.NamespacesEnum.NORWAY,
|
|
37
46
|
};
|
|
@@ -62,6 +62,43 @@ const pricingILS = {
|
|
|
62
62
|
nominals: [20000, 30000, 50000, 70000],
|
|
63
63
|
deliveryPrice: 2200,
|
|
64
64
|
};
|
|
65
|
+
const pricingNZD = {
|
|
66
|
+
nominals: [7000, 12000, 18000, 25000],
|
|
67
|
+
deliveryPrice: 1000,
|
|
68
|
+
};
|
|
69
|
+
const pricingARS = {
|
|
70
|
+
nominals: [5000000, 10000000, 15000000, 20000000],
|
|
71
|
+
deliveryPrice: 500000,
|
|
72
|
+
};
|
|
73
|
+
const pricingBRL = {
|
|
74
|
+
nominals: [25000, 50000, 75000, 100000],
|
|
75
|
+
deliveryPrice: 4000,
|
|
76
|
+
};
|
|
77
|
+
const pricingTWD = {
|
|
78
|
+
nominals: [150000, 300000, 450000, 600000],
|
|
79
|
+
deliveryPrice: 25000,
|
|
80
|
+
};
|
|
81
|
+
const pricingMXN = {
|
|
82
|
+
nominals: [100000, 200000, 300000, 400000],
|
|
83
|
+
deliveryPrice: 15000,
|
|
84
|
+
};
|
|
85
|
+
/** Whole yen amounts (Stripe zero-decimal style in our minor-unit field). */
|
|
86
|
+
const pricingJPY = {
|
|
87
|
+
nominals: [10000, 15000, 20000, 30000],
|
|
88
|
+
deliveryPrice: 1200,
|
|
89
|
+
};
|
|
90
|
+
const pricingRSD = {
|
|
91
|
+
nominals: [500000, 1000000, 1500000, 2000000],
|
|
92
|
+
deliveryPrice: 80000,
|
|
93
|
+
};
|
|
94
|
+
const pricingSGD = {
|
|
95
|
+
nominals: [7000, 12000, 18000, 25000],
|
|
96
|
+
deliveryPrice: 1000,
|
|
97
|
+
};
|
|
98
|
+
const pricingNOK = {
|
|
99
|
+
nominals: [50000, 75000, 100000, 150000],
|
|
100
|
+
deliveryPrice: 9000,
|
|
101
|
+
};
|
|
65
102
|
exports.navigatorCertificatePricingByCountry = {
|
|
66
103
|
[countries_enum_1.CountriesEnum.GERMANY]: pricingEUR,
|
|
67
104
|
[countries_enum_1.CountriesEnum.AUSTRIA]: pricingEUR,
|
|
@@ -93,5 +130,14 @@ exports.navigatorCertificatePricingByCountry = {
|
|
|
93
130
|
[countries_enum_1.CountriesEnum.IZRAEL]: pricingILS,
|
|
94
131
|
[countries_enum_1.CountriesEnum.IRELAND]: pricingEUR,
|
|
95
132
|
[countries_enum_1.CountriesEnum.CROATIA]: pricingEUR,
|
|
133
|
+
[countries_enum_1.CountriesEnum.NEW_ZEALAND]: pricingNZD,
|
|
134
|
+
[countries_enum_1.CountriesEnum.ARGENTINA]: pricingARS,
|
|
135
|
+
[countries_enum_1.CountriesEnum.BRAZIL]: pricingBRL,
|
|
136
|
+
[countries_enum_1.CountriesEnum.TAIWAN]: pricingTWD,
|
|
137
|
+
[countries_enum_1.CountriesEnum.MEXICO]: pricingMXN,
|
|
138
|
+
[countries_enum_1.CountriesEnum.JAPAN]: pricingJPY,
|
|
139
|
+
[countries_enum_1.CountriesEnum.SERBIA]: pricingRSD,
|
|
140
|
+
[countries_enum_1.CountriesEnum.SINGAPORE]: pricingSGD,
|
|
141
|
+
[countries_enum_1.CountriesEnum.NORWAY]: pricingNOK,
|
|
96
142
|
};
|
|
97
143
|
exports.navigatorCertificateNominalsByCountry = Object.entries(exports.navigatorCertificatePricingByCountry).reduce((acc, [country, pricing]) => (Object.assign(Object.assign({}, acc), { [country]: pricing.nominals })), {});
|
|
@@ -59,6 +59,10 @@ __decorate([
|
|
|
59
59
|
(0, class_transformer_1.Expose)(),
|
|
60
60
|
__metadata("design:type", String)
|
|
61
61
|
], Customization.prototype, "roundness", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
__metadata("design:type", Number)
|
|
65
|
+
], Customization.prototype, "maxWidth", void 0);
|
|
62
66
|
__decorate([
|
|
63
67
|
(0, class_transformer_1.Expose)(),
|
|
64
68
|
__metadata("design:type", String)
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { QuestroomTypeEnum } from '../questroom/enum/questroom-type.enum';
|
|
2
|
+
/** Кандидат матча для модератора (локация или квест). */
|
|
3
|
+
export type ParseMatchCandidate = {
|
|
4
|
+
id: number;
|
|
5
|
+
title: string;
|
|
6
|
+
score: number;
|
|
7
|
+
};
|
|
2
8
|
/** Квест, извлечённый с сайта компании (значения в терминах наших DTO). */
|
|
3
9
|
export type ParsedQuest = {
|
|
4
10
|
title: string;
|
|
@@ -20,6 +26,8 @@ export type ParsedQuest = {
|
|
|
20
26
|
sourceUrl?: string;
|
|
21
27
|
/** ID существующего квеста, если сматчен (для диффа). */
|
|
22
28
|
matchedQuestroomId?: number;
|
|
29
|
+
/** Альтернативы матча (top-N по названию). */
|
|
30
|
+
matchCandidates?: ParseMatchCandidate[];
|
|
23
31
|
/** Исключён модератором из применения. */
|
|
24
32
|
excluded?: boolean;
|
|
25
33
|
};
|
|
@@ -28,6 +36,8 @@ export type ParsedLocation = {
|
|
|
28
36
|
phone?: string;
|
|
29
37
|
/** ID существующей локации, если сматчена по координатам/адресу. */
|
|
30
38
|
matchedLocationId?: number;
|
|
39
|
+
/** Альтернативы матча локации. */
|
|
40
|
+
matchCandidates?: ParseMatchCandidate[];
|
|
31
41
|
quests: ParsedQuest[];
|
|
32
42
|
};
|
|
33
43
|
export type ParseResultPayload = {
|
|
@@ -39,7 +49,7 @@ export type ParseResultPayload = {
|
|
|
39
49
|
/** Замечания экстрактора (что не удалось распознать). */
|
|
40
50
|
notes?: string;
|
|
41
51
|
};
|
|
42
|
-
/** Операция диффа месячного
|
|
52
|
+
/** Операция диффа месячного контура / ручного парса. */
|
|
43
53
|
export type ParseDiffOperation = {
|
|
44
54
|
op: 'ADD_QUEST' | 'CLOSE_QUEST' | 'UPDATE_FIELDS' | 'ADD_LOCATION';
|
|
45
55
|
questroomId?: number;
|
|
@@ -51,4 +61,10 @@ export type ParseDiffOperation = {
|
|
|
51
61
|
from: unknown;
|
|
52
62
|
to: unknown;
|
|
53
63
|
}>;
|
|
64
|
+
/** Исключена модератором из Apply. */
|
|
65
|
+
excluded?: boolean;
|
|
66
|
+
/** Score матча (если применимо). */
|
|
67
|
+
matchScore?: number;
|
|
68
|
+
/** Человекочитаемый заголовок (для CLOSE_QUEST). */
|
|
69
|
+
title?: string;
|
|
54
70
|
};
|
|
@@ -10,6 +10,8 @@ export declare class ParseResultRO {
|
|
|
10
10
|
id: number;
|
|
11
11
|
profileId: number;
|
|
12
12
|
profile: ParseResultProfile;
|
|
13
|
+
/** Linked Google Places ids for the profile (for quick open from parse UI). */
|
|
14
|
+
googlePlaceIds: number[];
|
|
13
15
|
status: ParseResultStatusEnum;
|
|
14
16
|
source: ParseResultSourceEnum;
|
|
15
17
|
payload: ParseResultPayload;
|
|
@@ -44,6 +44,10 @@ __decorate([
|
|
|
44
44
|
(0, class_transformer_1.Type)(() => ParseResultProfile),
|
|
45
45
|
__metadata("design:type", ParseResultProfile)
|
|
46
46
|
], ParseResultRO.prototype, "profile", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
__metadata("design:type", Array)
|
|
50
|
+
], ParseResultRO.prototype, "googlePlaceIds", void 0);
|
|
47
51
|
__decorate([
|
|
48
52
|
(0, class_transformer_1.Expose)(),
|
|
49
53
|
__metadata("design:type", String)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { ParseResultPayload } from './parse-result-payload';
|
|
1
|
+
import { ParseDiffOperation, ParseResultPayload } from './parse-result-payload';
|
|
2
2
|
export declare class UpdateParseResultDto {
|
|
3
3
|
/** Правки модератора поверх извлечённого payload (полная копия с изменениями). */
|
|
4
4
|
moderatorPayload?: ParseResultPayload;
|
|
5
|
+
/** Diff с флагами excluded / правками changes.to. */
|
|
6
|
+
diff?: ParseDiffOperation[];
|
|
5
7
|
}
|
|
@@ -19,3 +19,8 @@ __decorate([
|
|
|
19
19
|
(0, class_validator_1.IsObject)(),
|
|
20
20
|
__metadata("design:type", Object)
|
|
21
21
|
], UpdateParseResultDto.prototype, "moderatorPayload", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsOptional)(),
|
|
24
|
+
(0, class_validator_1.IsArray)(),
|
|
25
|
+
__metadata("design:type", Array)
|
|
26
|
+
], UpdateParseResultDto.prototype, "diff", void 0);
|
|
@@ -65,8 +65,7 @@ __decorate([
|
|
|
65
65
|
__metadata("design:type", Number)
|
|
66
66
|
], CreateProfileActionRO.prototype, "assigneeId", void 0);
|
|
67
67
|
__decorate([
|
|
68
|
-
(0, class_validator_1.ValidateIf)((o) => o.salesStatus === profile_sales_status_enum_1.ProfileSalesStatus.REJECTED
|
|
69
|
-
o.salesStatus === profile_sales_status_enum_1.ProfileSalesStatus.FREE_LOST),
|
|
68
|
+
(0, class_validator_1.ValidateIf)((o) => o.salesStatus === profile_sales_status_enum_1.ProfileSalesStatus.REJECTED),
|
|
70
69
|
(0, class_validator_1.IsEnum)(profile_lost_reason_enum_1.ProfileLostReasonEnum),
|
|
71
70
|
(0, class_transformer_1.Expose)(),
|
|
72
71
|
__metadata("design:type", String)
|
|
@@ -38,6 +38,7 @@ export declare class AdminProfileRO {
|
|
|
38
38
|
crmVerification: CrmVerificationEnum;
|
|
39
39
|
subscriptionType: ProfileSubscriptionTypeEnum;
|
|
40
40
|
subscriptionCancelationDate: number;
|
|
41
|
+
subscriptionStatusChangedAt: Date;
|
|
41
42
|
updateDate: Date;
|
|
42
43
|
status: ProfileStatusEnum;
|
|
43
44
|
integrationType: ProfileIntegrationTypeEnum;
|
|
@@ -116,6 +116,10 @@ __decorate([
|
|
|
116
116
|
(0, class_transformer_1.Expose)(),
|
|
117
117
|
__metadata("design:type", Number)
|
|
118
118
|
], AdminProfileRO.prototype, "subscriptionCancelationDate", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
(0, class_transformer_1.Expose)(),
|
|
121
|
+
__metadata("design:type", Date)
|
|
122
|
+
], AdminProfileRO.prototype, "subscriptionStatusChangedAt", void 0);
|
|
119
123
|
__decorate([
|
|
120
124
|
(0, class_transformer_1.Expose)(),
|
|
121
125
|
__metadata("design:type", Date)
|
|
@@ -30,6 +30,13 @@ var ProfileCurrencyEnum;
|
|
|
30
30
|
ProfileCurrencyEnum["RSD"] = "RSD";
|
|
31
31
|
ProfileCurrencyEnum["NOK"] = "NOK";
|
|
32
32
|
ProfileCurrencyEnum["ILS"] = "ILS";
|
|
33
|
+
ProfileCurrencyEnum["NZD"] = "NZD";
|
|
34
|
+
ProfileCurrencyEnum["ARS"] = "ARS";
|
|
35
|
+
ProfileCurrencyEnum["BRL"] = "BRL";
|
|
36
|
+
ProfileCurrencyEnum["TWD"] = "TWD";
|
|
37
|
+
ProfileCurrencyEnum["MXN"] = "MXN";
|
|
38
|
+
ProfileCurrencyEnum["JPY"] = "JPY";
|
|
39
|
+
ProfileCurrencyEnum["SGD"] = "SGD";
|
|
33
40
|
})(ProfileCurrencyEnum || (exports.ProfileCurrencyEnum = ProfileCurrencyEnum = {}));
|
|
34
41
|
// export enum ProfileCurrencyEnum {
|
|
35
42
|
// EUR = 'EUR',
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ручная воронка продаж. Заполняется продажниками (DnD на сейлз-доске,
|
|
3
|
+
* модалка действия). Фактическое состояние подписки сюда не попадает —
|
|
4
|
+
* оно вычисляется из subscriptionStatus/subscriptionType (CRM-таб).
|
|
5
|
+
*
|
|
6
|
+
* CUSTOMER — терминальный скрытый статус: проставляется автоматически при
|
|
7
|
+
* покупке платного тарифа (pro/growth), колонки на доске не имеет. После
|
|
8
|
+
* отмены подписки компания остаётся в CUSTOMER, пока продажник вручную не
|
|
9
|
+
* вернёт её в воронку.
|
|
10
|
+
*/
|
|
1
11
|
export declare enum ProfileSalesStatus {
|
|
2
12
|
NEW = "new",
|
|
3
13
|
NO_ANSWER = "no_answer",
|
|
@@ -8,9 +18,6 @@ export declare enum ProfileSalesStatus {
|
|
|
8
18
|
DEMO = "demo",
|
|
9
19
|
THINKING = "thinking",
|
|
10
20
|
ONBOARDING = "onboarding",
|
|
11
|
-
ACTIVE = "active",
|
|
12
21
|
REJECTED = "rejected",
|
|
13
|
-
|
|
14
|
-
UNPAID = "unpaid",
|
|
15
|
-
FREE_LOST = "free_lost"
|
|
22
|
+
CUSTOMER = "customer"
|
|
16
23
|
}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProfileSalesStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Ручная воронка продаж. Заполняется продажниками (DnD на сейлз-доске,
|
|
6
|
+
* модалка действия). Фактическое состояние подписки сюда не попадает —
|
|
7
|
+
* оно вычисляется из subscriptionStatus/subscriptionType (CRM-таб).
|
|
8
|
+
*
|
|
9
|
+
* CUSTOMER — терминальный скрытый статус: проставляется автоматически при
|
|
10
|
+
* покупке платного тарифа (pro/growth), колонки на доске не имеет. После
|
|
11
|
+
* отмены подписки компания остаётся в CUSTOMER, пока продажник вручную не
|
|
12
|
+
* вернёт её в воронку.
|
|
13
|
+
*/
|
|
4
14
|
var ProfileSalesStatus;
|
|
5
15
|
(function (ProfileSalesStatus) {
|
|
6
16
|
ProfileSalesStatus["NEW"] = "new";
|
|
@@ -12,9 +22,6 @@ var ProfileSalesStatus;
|
|
|
12
22
|
ProfileSalesStatus["DEMO"] = "demo";
|
|
13
23
|
ProfileSalesStatus["THINKING"] = "thinking";
|
|
14
24
|
ProfileSalesStatus["ONBOARDING"] = "onboarding";
|
|
15
|
-
ProfileSalesStatus["ACTIVE"] = "active";
|
|
16
25
|
ProfileSalesStatus["REJECTED"] = "rejected";
|
|
17
|
-
ProfileSalesStatus["
|
|
18
|
-
ProfileSalesStatus["UNPAID"] = "unpaid";
|
|
19
|
-
ProfileSalesStatus["FREE_LOST"] = "free_lost";
|
|
26
|
+
ProfileSalesStatus["CUSTOMER"] = "customer";
|
|
20
27
|
})(ProfileSalesStatus || (exports.ProfileSalesStatus = ProfileSalesStatus = {}));
|
|
@@ -17,6 +17,8 @@ export declare class QueryAdminProfileDto {
|
|
|
17
17
|
subscriptionTypes?: ProfileSubscriptionTypeEnum[];
|
|
18
18
|
subscriptionCancelationDate?: boolean;
|
|
19
19
|
lastVisitAfter?: string;
|
|
20
|
+
/** lastVisit старше даты или отсутствует (для Free Lost на CRM-канбане). */
|
|
21
|
+
lastVisitBeforeOrNever?: string;
|
|
20
22
|
status?: ProfileStatusEnum[];
|
|
21
23
|
salesStatus?: ProfileSalesStatus[];
|
|
22
24
|
techStatus?: ProfileTechStatusEnum;
|
|
@@ -56,6 +56,10 @@ __decorate([
|
|
|
56
56
|
(0, class_transformer_1.Expose)(),
|
|
57
57
|
__metadata("design:type", String)
|
|
58
58
|
], QueryAdminProfileDto.prototype, "lastVisitAfter", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, class_transformer_1.Expose)(),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], QueryAdminProfileDto.prototype, "lastVisitBeforeOrNever", void 0);
|
|
59
63
|
__decorate([
|
|
60
64
|
(0, class_transformer_1.Expose)(),
|
|
61
65
|
__metadata("design:type", Array)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
|
+
import { ProfileSalesStatus } from './enum/profile-sales-status.enum';
|
|
3
|
+
import { ProfileSubscriptionEnum } from './enum/profile-subscription.enum';
|
|
4
|
+
import { ProfileSubscriptionTypeEnum } from './enum/profile-subscription-type.enum';
|
|
5
|
+
/**
|
|
6
|
+
* Карточка сейлз-доски: срез профиля + ближайшее открытое действие.
|
|
7
|
+
* nextAction* — самое раннее открытое (done=false) действие компании.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SalesBoardCardRO {
|
|
10
|
+
id: number;
|
|
11
|
+
title: string;
|
|
12
|
+
country: CountriesEnum;
|
|
13
|
+
crm: string;
|
|
14
|
+
salesStatus: ProfileSalesStatus;
|
|
15
|
+
subscriptionStatus: ProfileSubscriptionEnum;
|
|
16
|
+
subscriptionType: ProfileSubscriptionTypeEnum;
|
|
17
|
+
subscriptionCancelationDate: number;
|
|
18
|
+
lastVisit: Date;
|
|
19
|
+
updateDate: Date;
|
|
20
|
+
createdAt: Date;
|
|
21
|
+
nextActionId: number | null;
|
|
22
|
+
nextActionDate: string | null;
|
|
23
|
+
nextActionType: string | null;
|
|
24
|
+
nextActionDescription: string | null;
|
|
25
|
+
nextActionAssigneeId: number | null;
|
|
26
|
+
}
|
|
27
|
+
export declare class SalesBoardColumnRO {
|
|
28
|
+
salesStatus: ProfileSalesStatus;
|
|
29
|
+
total: number;
|
|
30
|
+
/** Сколько компаний в колонке с просроченным или сегодняшним действием. */
|
|
31
|
+
urgent: number;
|
|
32
|
+
items: SalesBoardCardRO[];
|
|
33
|
+
}
|