@escapenavigator/types 2.1.13 → 2.1.15
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/constants/navigator-site.d.ts +7 -0
- package/dist/constants/navigator-site.js +65 -2
- package/dist/emails/email-comment.ro.d.ts +11 -0
- package/dist/emails/email-comment.ro.js +47 -0
- package/dist/emails/email.ro.d.ts +5 -0
- package/dist/emails/email.ro.js +20 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
|
+
import { NamespacesEnum } from '../shared/enum/namespaces.enum';
|
|
3
|
+
export declare const hasNavigatorTld: (namespace: string) => boolean;
|
|
2
4
|
export declare const navigatorSiteHost: (country?: CountriesEnum | null) => string;
|
|
3
5
|
export declare const navigatorSiteUrl: (country?: CountriesEnum | null) => string;
|
|
4
6
|
export declare const navigatorInfoEmail: (country?: CountriesEnum | null) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Достаёт namespace из хоста каталога: и TLD, и поддомен `.com`.
|
|
9
|
+
* Чужие поддомены (`orders.`, `widget.`) не принимает.
|
|
10
|
+
*/
|
|
11
|
+
export declare const namespaceFromNavigatorHost: (hostname: string) => NamespacesEnum | null;
|
|
@@ -1,12 +1,75 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.navigatorInfoEmail = exports.navigatorSiteUrl = exports.navigatorSiteHost = void 0;
|
|
3
|
+
exports.namespaceFromNavigatorHost = exports.navigatorInfoEmail = exports.navigatorSiteUrl = exports.navigatorSiteHost = exports.hasNavigatorTld = void 0;
|
|
4
4
|
const countries_enum_1 = require("../shared/enum/countries.enum");
|
|
5
5
|
const namespaces_enum_1 = require("../shared/enum/namespaces.enum");
|
|
6
|
+
const country_by_namespace_1 = require("./country-by-namespace");
|
|
6
7
|
const namespace_by_country_1 = require("./namespace-by-country");
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Страны с собственным TLD: `https://escapenavigator.{ns}`.
|
|
10
|
+
*
|
|
11
|
+
* Остальные живут на `https://{ns}.escapenavigator.com` — DNS на
|
|
12
|
+
* `escapenavigator.{ns}` у них нет (IE, AU, CA и т.д.). Письмо с
|
|
13
|
+
* `escapenavigator.ie` не открывается.
|
|
14
|
+
*
|
|
15
|
+
* Список совпадает с прогревом ISR-кеша агрегатора.
|
|
16
|
+
*/
|
|
17
|
+
const TLD_NAMESPACES = new Set([
|
|
18
|
+
namespaces_enum_1.NamespacesEnum.USA,
|
|
19
|
+
namespaces_enum_1.NamespacesEnum.RUSSIA,
|
|
20
|
+
namespaces_enum_1.NamespacesEnum.GERMANY,
|
|
21
|
+
namespaces_enum_1.NamespacesEnum.AUSTRIA,
|
|
22
|
+
namespaces_enum_1.NamespacesEnum.SWITZERLAND,
|
|
23
|
+
namespaces_enum_1.NamespacesEnum.UK,
|
|
24
|
+
namespaces_enum_1.NamespacesEnum.FRANCE,
|
|
25
|
+
namespaces_enum_1.NamespacesEnum.SPAIN,
|
|
26
|
+
namespaces_enum_1.NamespacesEnum.ITALY,
|
|
27
|
+
namespaces_enum_1.NamespacesEnum.PORTUGAL,
|
|
28
|
+
namespaces_enum_1.NamespacesEnum.GREECE,
|
|
29
|
+
namespaces_enum_1.NamespacesEnum.NETHERLANDS,
|
|
30
|
+
namespaces_enum_1.NamespacesEnum.BELGIUM,
|
|
31
|
+
namespaces_enum_1.NamespacesEnum.POLAND,
|
|
32
|
+
namespaces_enum_1.NamespacesEnum.CZECH,
|
|
33
|
+
namespaces_enum_1.NamespacesEnum.SLOVAKIA,
|
|
34
|
+
namespaces_enum_1.NamespacesEnum.HUNGARY,
|
|
35
|
+
namespaces_enum_1.NamespacesEnum.ROMANIA,
|
|
36
|
+
namespaces_enum_1.NamespacesEnum.DENMARK,
|
|
37
|
+
namespaces_enum_1.NamespacesEnum.SWEDEN,
|
|
38
|
+
namespaces_enum_1.NamespacesEnum.FINLAND,
|
|
39
|
+
namespaces_enum_1.NamespacesEnum.ESTONIA,
|
|
40
|
+
namespaces_enum_1.NamespacesEnum.LATVIA,
|
|
41
|
+
namespaces_enum_1.NamespacesEnum.LITVA,
|
|
42
|
+
// TLD живой, `{ns}.escapenavigator.com` редиректит сюда.
|
|
43
|
+
namespaces_enum_1.NamespacesEnum.MEXICO,
|
|
44
|
+
]);
|
|
45
|
+
const resolveNamespace = (country) => namespace_by_country_1.namespaceByCountry[country || countries_enum_1.CountriesEnum.USA] || namespaces_enum_1.NamespacesEnum.USA;
|
|
46
|
+
const hasNavigatorTld = (namespace) => TLD_NAMESPACES.has(namespace);
|
|
47
|
+
exports.hasNavigatorTld = hasNavigatorTld;
|
|
48
|
+
const navigatorSiteHost = (country) => {
|
|
49
|
+
const namespace = resolveNamespace(country);
|
|
50
|
+
return (0, exports.hasNavigatorTld)(namespace)
|
|
51
|
+
? `escapenavigator.${namespace}`
|
|
52
|
+
: `${namespace}.escapenavigator.com`;
|
|
53
|
+
};
|
|
8
54
|
exports.navigatorSiteHost = navigatorSiteHost;
|
|
9
55
|
const navigatorSiteUrl = (country) => `https://${(0, exports.navigatorSiteHost)(country)}`;
|
|
10
56
|
exports.navigatorSiteUrl = navigatorSiteUrl;
|
|
11
57
|
const navigatorInfoEmail = (country) => country === countries_enum_1.CountriesEnum.RUSSIA ? 'info@escapenavigator.ru' : 'info@escapenavigator.com';
|
|
12
58
|
exports.navigatorInfoEmail = navigatorInfoEmail;
|
|
59
|
+
/**
|
|
60
|
+
* Достаёт namespace из хоста каталога: и TLD, и поддомен `.com`.
|
|
61
|
+
* Чужие поддомены (`orders.`, `widget.`) не принимает.
|
|
62
|
+
*/
|
|
63
|
+
const namespaceFromNavigatorHost = (hostname) => {
|
|
64
|
+
const host = hostname.replace(/^www\./i, '').toLowerCase();
|
|
65
|
+
const tld = host.match(/^escapenavigator\.([a-z]+)$/);
|
|
66
|
+
if (tld && country_by_namespace_1.countryByNamespace[tld[1]]) {
|
|
67
|
+
return tld[1];
|
|
68
|
+
}
|
|
69
|
+
const sub = host.match(/^([a-z]+)\.escapenavigator\.com$/);
|
|
70
|
+
if (sub && country_by_namespace_1.countryByNamespace[sub[1]]) {
|
|
71
|
+
return sub[1];
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
};
|
|
75
|
+
exports.namespaceFromNavigatorHost = namespaceFromNavigatorHost;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EmailAssigneeOptionRO = exports.EmailCommentRO = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
class EmailCommentRO {
|
|
15
|
+
}
|
|
16
|
+
exports.EmailCommentRO = EmailCommentRO;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_transformer_1.Expose)(),
|
|
19
|
+
__metadata("design:type", String)
|
|
20
|
+
], EmailCommentRO.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, class_transformer_1.Expose)(),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], EmailCommentRO.prototype, "adminId", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], EmailCommentRO.prototype, "adminName", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_transformer_1.Expose)(),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], EmailCommentRO.prototype, "text", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_transformer_1.Expose)(),
|
|
35
|
+
__metadata("design:type", Date)
|
|
36
|
+
], EmailCommentRO.prototype, "createdAt", void 0);
|
|
37
|
+
class EmailAssigneeOptionRO {
|
|
38
|
+
}
|
|
39
|
+
exports.EmailAssigneeOptionRO = EmailAssigneeOptionRO;
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, class_transformer_1.Expose)(),
|
|
42
|
+
__metadata("design:type", Number)
|
|
43
|
+
], EmailAssigneeOptionRO.prototype, "id", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_transformer_1.Expose)(),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], EmailAssigneeOptionRO.prototype, "name", void 0);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EmailCommentRO } from './email-comment.ro';
|
|
1
2
|
import { EmailCategoryEnum } from './enum/email.category-enum';
|
|
2
3
|
import { EmailDirectionEnum } from './enum/email.direction-enum';
|
|
3
4
|
import { EmailStatusEnum } from './enum/email.status-enum';
|
|
@@ -10,6 +11,10 @@ export declare class EmailRO {
|
|
|
10
11
|
createdAt: Date;
|
|
11
12
|
to: string;
|
|
12
13
|
replied: boolean;
|
|
14
|
+
readByAdminIds: number[];
|
|
15
|
+
assigneeId: number | null;
|
|
16
|
+
assigneeName: string | null;
|
|
17
|
+
comments: EmailCommentRO[];
|
|
13
18
|
from: string;
|
|
14
19
|
deleted: boolean;
|
|
15
20
|
attachmentsLinks: string[];
|
package/dist/emails/email.ro.js
CHANGED
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.EmailRO = void 0;
|
|
13
13
|
/* eslint-disable max-classes-per-file */
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const email_comment_ro_1 = require("./email-comment.ro");
|
|
15
16
|
const email_category_enum_1 = require("./enum/email.category-enum");
|
|
16
17
|
const email_direction_enum_1 = require("./enum/email.direction-enum");
|
|
17
18
|
const email_status_enum_1 = require("./enum/email.status-enum");
|
|
@@ -44,6 +45,25 @@ __decorate([
|
|
|
44
45
|
(0, class_transformer_1.Expose)(),
|
|
45
46
|
__metadata("design:type", Boolean)
|
|
46
47
|
], EmailRO.prototype, "replied", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, class_transformer_1.Expose)(),
|
|
50
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value.map(Number) : [])),
|
|
51
|
+
__metadata("design:type", Array)
|
|
52
|
+
], EmailRO.prototype, "readByAdminIds", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, class_transformer_1.Expose)(),
|
|
55
|
+
__metadata("design:type", Number)
|
|
56
|
+
], EmailRO.prototype, "assigneeId", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, class_transformer_1.Expose)(),
|
|
59
|
+
__metadata("design:type", String)
|
|
60
|
+
], EmailRO.prototype, "assigneeName", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, class_transformer_1.Expose)(),
|
|
63
|
+
(0, class_transformer_1.Transform)(({ value }) => (Array.isArray(value) ? value : [])),
|
|
64
|
+
(0, class_transformer_1.Type)(() => email_comment_ro_1.EmailCommentRO),
|
|
65
|
+
__metadata("design:type", Array)
|
|
66
|
+
], EmailRO.prototype, "comments", void 0);
|
|
47
67
|
__decorate([
|
|
48
68
|
(0, class_transformer_1.Expose)(),
|
|
49
69
|
__metadata("design:type", String)
|