@astral/features 3.93.0 → 3.93.1
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/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/AutocompleteListItem.d.ts +13 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/AutocompleteListItem.js +24 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/styles.d.ts +684 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/styles.js +52 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/getShortFullName.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/getShortFullName.js +12 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.d.ts +6 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.js +33 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/index.js +17 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/transformCertificates.d.ts +12 -0
- package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/transformCertificates.js +22 -0
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts +7 -0
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.js +15 -0
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/index.js +17 -0
- package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.d.ts +14 -0
- package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.js +17 -0
- package/node/cryproPro/components/CryptoProProvider/index.d.ts +1 -0
- package/node/cryproPro/components/CryptoProProvider/index.js +17 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/CryptoproviderInfo.d.ts +6 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/CryptoproviderInfo.js +29 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/index.d.ts +1 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/index.js +17 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/styles.d.ts +5 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/styles.js +15 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/PluginInfo.d.ts +6 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/PluginInfo.js +15 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/index.d.ts +1 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/index.js +17 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/SetupCryptoProWorkspaceModal.d.ts +8 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/SetupCryptoProWorkspaceModal.js +16 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/index.d.ts +1 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/index.js +17 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/styles.d.ts +9 -0
- package/node/cryproPro/components/SetupCryptoProWorkspaceModal/styles.js +21 -0
- package/node/cryproPro/components/index.d.ts +4 -0
- package/node/cryproPro/components/index.js +20 -0
- package/node/cryproPro/constants/enums.d.ts +5 -0
- package/node/cryproPro/constants/enums.js +9 -0
- package/node/cryproPro/constants/error.d.ts +3 -0
- package/node/cryproPro/constants/error.js +6 -0
- package/node/cryproPro/constants/index.d.ts +2 -0
- package/node/cryproPro/constants/index.js +18 -0
- package/node/cryproPro/index.d.ts +3 -0
- package/node/cryproPro/index.js +12 -0
- package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.d.ts +30 -0
- package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.js +61 -0
- package/node/cryproPro/services/CryptoProCertificateService/index.d.ts +2 -0
- package/node/cryproPro/services/CryptoProCertificateService/index.js +18 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/convertBase64toBlob.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/convertBase64toBlob.js +7 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.js +17 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/getCertificateExpiresDate.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/getCertificateExpiresDate.js +10 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/index.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/index.js +17 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/getCertificateOwnerShortName.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/getCertificateOwnerShortName.js +15 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/index.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/index.js +17 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/getCertificateType.d.ts +2 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/getCertificateType.js +16 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/index.d.ts +1 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/index.js +17 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/index.d.ts +4 -0
- package/node/cryproPro/services/CryptoProCertificateService/utils/index.js +20 -0
- package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.d.ts +33 -0
- package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.js +56 -0
- package/node/cryproPro/services/CryptoProSignService/index.d.ts +1 -0
- package/node/cryproPro/services/CryptoProSignService/index.js +17 -0
- package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.d.ts +42 -0
- package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.js +98 -0
- package/node/cryproPro/services/WorkspaceSetupService/index.d.ts +1 -0
- package/node/cryproPro/services/WorkspaceSetupService/index.js +17 -0
- package/node/cryproPro/services/index.d.ts +3 -0
- package/node/cryproPro/services/index.js +19 -0
- package/node/cryproPro/stores/CryptoProStore/CryptoProStore.d.ts +89 -0
- package/node/cryproPro/stores/CryptoProStore/CryptoProStore.js +139 -0
- package/node/cryproPro/stores/CryptoProStore/index.d.ts +1 -0
- package/node/cryproPro/stores/CryptoProStore/index.js +17 -0
- package/node/cryproPro/stores/index.d.ts +1 -0
- package/node/cryproPro/stores/index.js +17 -0
- package/node/cryproPro/types.d.ts +1 -0
- package/node/cryproPro/types.js +5 -0
- package/node/index.d.ts +2 -0
- package/node/index.js +21 -0
- package/node/productSwitcher/components/AstralProductSwitcher/AstralProductSwitcher.d.ts +12 -0
- package/node/productSwitcher/components/AstralProductSwitcher/AstralProductSwitcher.js +29 -0
- package/node/productSwitcher/components/AstralProductSwitcher/index.d.ts +1 -0
- package/node/productSwitcher/components/AstralProductSwitcher/index.js +17 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/IdentityProductSwitcher.d.ts +8 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/IdentityProductSwitcher.js +20 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/index.d.ts +1 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/index.js +5 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/index.d.ts +1 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/index.js +17 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/useLogic.d.ts +12 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/useLogic.js +67 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/index.d.ts +1 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/index.js +17 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/styles.d.ts +22 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/styles.js +45 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/getIdentityTenants.d.ts +6 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/getIdentityTenants.js +25 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/index.d.ts +1 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/index.js +17 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/getTenantsProducts.d.ts +7 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/getTenantsProducts.js +28 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/index.d.ts +1 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/index.js +17 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/index.d.ts +2 -0
- package/node/productSwitcher/components/IdentityProductSwitcher/utils/index.js +18 -0
- package/node/productSwitcher/components/index.d.ts +2 -0
- package/node/productSwitcher/components/index.js +18 -0
- package/node/productSwitcher/index.d.ts +1 -0
- package/node/productSwitcher/index.js +6 -0
- package/node/productSwitcher/types.d.ts +54 -0
- package/node/productSwitcher/types.js +2 -0
- package/node/productSwitcher/utils/formatIdentityProducts/formatIdentityProducts.d.ts +8 -0
- package/node/productSwitcher/utils/formatIdentityProducts/formatIdentityProducts.js +18 -0
- package/node/productSwitcher/utils/formatIdentityProducts/index.d.ts +1 -0
- package/node/productSwitcher/utils/formatIdentityProducts/index.js +17 -0
- package/node/productSwitcher/utils/getIdentityProducts/getIdentityProducts.d.ts +6 -0
- package/node/productSwitcher/utils/getIdentityProducts/getIdentityProducts.js +31 -0
- package/node/productSwitcher/utils/getIdentityProducts/index.d.ts +1 -0
- package/node/productSwitcher/utils/getIdentityProducts/index.js +17 -0
- package/node/productSwitcher/utils/index.d.ts +2 -0
- package/node/productSwitcher/utils/index.js +18 -0
- package/package.json +8 -4
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CertificateType = void 0;
|
|
4
|
+
var CertificateType;
|
|
5
|
+
(function (CertificateType) {
|
|
6
|
+
CertificateType["Individual"] = "\u0424\u041B";
|
|
7
|
+
CertificateType["SoleTrader"] = "\u0418\u041F";
|
|
8
|
+
CertificateType["LegalEntity"] = "\u042E\u041B";
|
|
9
|
+
})(CertificateType || (exports.CertificateType = CertificateType = {}));
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CRYPTO_PROVIDER_NOT_FOUND_CODE = exports.PLUGIN_NOT_INITIALIZED_CODE = exports.PLUGIN_NOT_INSTALLED_CODE = void 0;
|
|
4
|
+
exports.PLUGIN_NOT_INSTALLED_CODE = 'CBP-1';
|
|
5
|
+
exports.PLUGIN_NOT_INITIALIZED_CODE = 'CBP-2';
|
|
6
|
+
exports.CRYPTO_PROVIDER_NOT_FOUND_CODE = 'CBP-8';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./error"), exports);
|
|
18
|
+
__exportStar(require("./enums"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Certificate = exports.CryptoProStore = exports.CryptoProProvider = exports.CryptoProCertAutocomplete = exports.CryptoProCertFormAutocomplete = exports.SetupCryptoProWorkspaceModal = void 0;
|
|
4
|
+
var components_1 = require("./components");
|
|
5
|
+
Object.defineProperty(exports, "SetupCryptoProWorkspaceModal", { enumerable: true, get: function () { return components_1.SetupCryptoProWorkspaceModal; } });
|
|
6
|
+
Object.defineProperty(exports, "CryptoProCertFormAutocomplete", { enumerable: true, get: function () { return components_1.CryptoProCertFormAutocomplete; } });
|
|
7
|
+
Object.defineProperty(exports, "CryptoProCertAutocomplete", { enumerable: true, get: function () { return components_1.CryptoProCertAutocomplete; } });
|
|
8
|
+
Object.defineProperty(exports, "CryptoProProvider", { enumerable: true, get: function () { return components_1.CryptoProProvider; } });
|
|
9
|
+
var stores_1 = require("./stores");
|
|
10
|
+
Object.defineProperty(exports, "CryptoProStore", { enumerable: true, get: function () { return stores_1.CryptoProStore; } });
|
|
11
|
+
var types_1 = require("./types");
|
|
12
|
+
Object.defineProperty(exports, "Certificate", { enumerable: true, get: function () { return types_1.Certificate; } });
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type Certificate } from '@astral/cryptopro-cades';
|
|
2
|
+
export type FormatedCertificate = {
|
|
3
|
+
type: string;
|
|
4
|
+
title: string;
|
|
5
|
+
inn: string;
|
|
6
|
+
owner: string | null;
|
|
7
|
+
skid: string;
|
|
8
|
+
expires: string | null;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @description Сервис для сертификатов КриптоПро
|
|
12
|
+
* */
|
|
13
|
+
export declare class CryptoProCertificateService {
|
|
14
|
+
/**
|
|
15
|
+
* @description Метод получения списка сертификатов
|
|
16
|
+
* */
|
|
17
|
+
getCertificateList: () => Promise<Certificate[]>;
|
|
18
|
+
/**
|
|
19
|
+
* @description Метод получения сертификата по skid
|
|
20
|
+
* */
|
|
21
|
+
getCertificateBySkid: (skid: string, certificates?: Certificate[]) => Certificate | Promise<Certificate> | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* @description Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
24
|
+
* */
|
|
25
|
+
filterCertificateList: (certificates: Certificate[], certificateSelectors?: string[]) => Certificate[];
|
|
26
|
+
/**
|
|
27
|
+
* @description Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
28
|
+
* */
|
|
29
|
+
formatCertificateList: (certificates: Certificate[]) => FormatedCertificate[];
|
|
30
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptoProCertificateService = void 0;
|
|
4
|
+
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
/**
|
|
7
|
+
* @description Сервис для сертификатов КриптоПро
|
|
8
|
+
* */
|
|
9
|
+
class CryptoProCertificateService {
|
|
10
|
+
constructor() {
|
|
11
|
+
/**
|
|
12
|
+
* @description Метод получения списка сертификатов
|
|
13
|
+
* */
|
|
14
|
+
this.getCertificateList = () => {
|
|
15
|
+
return (0, cryptopro_cades_1.getCertificates)(cryptopro_cades_1.STORE_TYPE.ALL);
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @description Метод получения сертификата по skid
|
|
19
|
+
* */
|
|
20
|
+
this.getCertificateBySkid = (skid, certificates) => {
|
|
21
|
+
return (certificates === null || certificates === void 0 ? void 0 : certificates.length)
|
|
22
|
+
? certificates.find((certificate) => certificate.subjectKeyId === skid)
|
|
23
|
+
: (0, cryptopro_cades_1.findCertificateBySkid)(skid);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @description Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
27
|
+
* */
|
|
28
|
+
this.filterCertificateList = (certificates, certificateSelectors) => {
|
|
29
|
+
return certificates.filter((certificate) => {
|
|
30
|
+
const isCertificateExpired = new Date(certificate.notAfter).getTime() < new Date().getTime();
|
|
31
|
+
// проверяем, пришел ли certificateSelector, если его нет - возвращаем true (отключаем фильтр по селектору)
|
|
32
|
+
const filterByCertificateSelector = certificateSelectors
|
|
33
|
+
? certificateSelectors.some((certificateSelector) => {
|
|
34
|
+
return (certificate.subjectKeyId === certificateSelector ||
|
|
35
|
+
certificate.subject.innLe === certificateSelector ||
|
|
36
|
+
certificate.subject.inn === certificateSelector);
|
|
37
|
+
})
|
|
38
|
+
: true;
|
|
39
|
+
return (certificate.hasPrivateKey &&
|
|
40
|
+
!isCertificateExpired &&
|
|
41
|
+
filterByCertificateSelector);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @description Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
46
|
+
* */
|
|
47
|
+
this.formatCertificateList = (certificates) => {
|
|
48
|
+
return certificates.map((certificate) => {
|
|
49
|
+
return {
|
|
50
|
+
type: (0, utils_1.getCertificateType)(certificate.subject.innLe || certificate.subject.inn, certificate.subject.ogrn || certificate.subject.ogrnip),
|
|
51
|
+
title: certificate.subject.commonName || '',
|
|
52
|
+
inn: certificate.subject.innLe || certificate.subject.inn || '',
|
|
53
|
+
owner: (0, utils_1.getCertificateOwnerShortName)(certificate.subject.surname, certificate.subject.name),
|
|
54
|
+
skid: certificate.subjectKeyId || '',
|
|
55
|
+
expires: (0, utils_1.getCertificateExpiresDate)(certificate.notAfter),
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.CryptoProCertificateService = CryptoProCertificateService;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./CryptoProCertificateService"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const convertBase64toBlob: (base64: string, type?: string) => Promise<Blob>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertBase64toBlob = void 0;
|
|
4
|
+
const convertBase64toBlob = (base64, type = 'application/octet-stream') => {
|
|
5
|
+
return fetch(`data:${type};base64,${base64}`).then((res) => res.blob());
|
|
6
|
+
};
|
|
7
|
+
exports.convertBase64toBlob = convertBase64toBlob;
|
package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './convertBase64toBlob';
|
package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./convertBase64toBlob"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getCertificateExpiresDate: (date: Date | null) => string | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCertificateExpiresDate = void 0;
|
|
4
|
+
const getCertificateExpiresDate = (date) => {
|
|
5
|
+
if (!date) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return new Date(date).toLocaleDateString();
|
|
9
|
+
};
|
|
10
|
+
exports.getCertificateExpiresDate = getCertificateExpiresDate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getCertificateExpiresDate';
|
package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./getCertificateExpiresDate"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getCertificateOwnerShortName: (surname: string | null, name: string | null) => string | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCertificateOwnerShortName = void 0;
|
|
4
|
+
const getCertificateOwnerShortName = (surname, name) => {
|
|
5
|
+
if (!surname || !name) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const [firstname, patronymic] = name.split(' ');
|
|
9
|
+
const [shortFirstname, shortPatronymic] = [
|
|
10
|
+
firstname ? `${firstname === null || firstname === void 0 ? void 0 : firstname.at(0)}.` : '',
|
|
11
|
+
patronymic ? `${patronymic === null || patronymic === void 0 ? void 0 : patronymic.at(0)}.` : '',
|
|
12
|
+
];
|
|
13
|
+
return [surname, shortFirstname, shortPatronymic].join(' ');
|
|
14
|
+
};
|
|
15
|
+
exports.getCertificateOwnerShortName = getCertificateOwnerShortName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getCertificateOwnerShortName';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./getCertificateOwnerShortName"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCertificateType = void 0;
|
|
4
|
+
const constants_1 = require("../../../../constants");
|
|
5
|
+
const IP_INN_LENGTH = 12;
|
|
6
|
+
const isIPINN = (inn) => (inn === null || inn === void 0 ? void 0 : inn.length) === IP_INN_LENGTH;
|
|
7
|
+
const getCertificateType = (inn, ogrn) => {
|
|
8
|
+
if (isIPINN(inn)) {
|
|
9
|
+
if (ogrn) {
|
|
10
|
+
return constants_1.CertificateType.SoleTrader;
|
|
11
|
+
}
|
|
12
|
+
return constants_1.CertificateType.Individual;
|
|
13
|
+
}
|
|
14
|
+
return constants_1.CertificateType.LegalEntity;
|
|
15
|
+
};
|
|
16
|
+
exports.getCertificateType = getCertificateType;
|
package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getCertificateType';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./getCertificateType"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./getCertificateExpiresDate"), exports);
|
|
18
|
+
__exportStar(require("./getCertificateOwnerShortName"), exports);
|
|
19
|
+
__exportStar(require("./getCertificateType"), exports);
|
|
20
|
+
__exportStar(require("./convertBase64toBlob"), exports);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CADESCOM_XML_SIGNATURE_TYPE, type Certificate } from '@astral/cryptopro-cades';
|
|
2
|
+
/**
|
|
3
|
+
* @description Сервис для методов подписания КриптоПро
|
|
4
|
+
* */
|
|
5
|
+
export declare class CryptoProSignService {
|
|
6
|
+
/**
|
|
7
|
+
* @description Метод подписания в формате CMS
|
|
8
|
+
* @param certificate сертификат пользователя
|
|
9
|
+
* @param fileBuffer данные для подписания в виде массива байт либо в формате Base64 строки
|
|
10
|
+
* @param detach присоединять подпись к данным или отдельно?
|
|
11
|
+
* @param includeCertChain включать в результат всю цепочку?
|
|
12
|
+
* */
|
|
13
|
+
signCms: (certificate: Certificate, fileBuffer: ArrayBuffer, detach?: boolean, includeCertChain?: boolean) => Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* @description Метод подписания хэша указанным сертификатом в формате CMS
|
|
16
|
+
* @param certificate сертификат пользователя
|
|
17
|
+
* @param data данные для подписания в виде массива байт хэша либо сам хэш в формате hex строки (в любом регистре)
|
|
18
|
+
* @param includeCertChain включать в результат всю цепочку?
|
|
19
|
+
* */
|
|
20
|
+
signHashCms: (certificate: Certificate, fileBuffer: ArrayBuffer, includeCertChain?: boolean) => Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* @description Метод подписания указанным сертификатом в формате XmlDSig
|
|
23
|
+
* @param certificate сертификат пользователя
|
|
24
|
+
* @param data данные для подписания в виде массива байт либо в формате Base64 строки
|
|
25
|
+
* @param xmlSignatureType тип xml подписи
|
|
26
|
+
* */
|
|
27
|
+
signXmlCms: (certificate: Certificate, fileBuffer: ArrayBuffer, xmlSignatureType: CADESCOM_XML_SIGNATURE_TYPE) => Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* @description Метод расшифровки данных
|
|
30
|
+
* @param encryptedData данные для расшифрования в виде массива байт либо в формате Base64 строки
|
|
31
|
+
* */
|
|
32
|
+
decryptCms: (fileBuffer: ArrayBuffer) => Promise<string>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CryptoProSignService = void 0;
|
|
13
|
+
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
14
|
+
/**
|
|
15
|
+
* @description Сервис для методов подписания КриптоПро
|
|
16
|
+
* */
|
|
17
|
+
class CryptoProSignService {
|
|
18
|
+
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* @description Метод подписания в формате CMS
|
|
21
|
+
* @param certificate сертификат пользователя
|
|
22
|
+
* @param fileBuffer данные для подписания в виде массива байт либо в формате Base64 строки
|
|
23
|
+
* @param detach присоединять подпись к данным или отдельно?
|
|
24
|
+
* @param includeCertChain включать в результат всю цепочку?
|
|
25
|
+
* */
|
|
26
|
+
this.signCms = (certificate, fileBuffer, detach, includeCertChain) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
return (0, cryptopro_cades_1.sign)(certificate, fileBuffer, detach, includeCertChain);
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* @description Метод подписания хэша указанным сертификатом в формате CMS
|
|
31
|
+
* @param certificate сертификат пользователя
|
|
32
|
+
* @param data данные для подписания в виде массива байт хэша либо сам хэш в формате hex строки (в любом регистре)
|
|
33
|
+
* @param includeCertChain включать в результат всю цепочку?
|
|
34
|
+
* */
|
|
35
|
+
this.signHashCms = (certificate, fileBuffer, includeCertChain) => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return (0, cryptopro_cades_1.signHash)(certificate, fileBuffer, includeCertChain);
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* @description Метод подписания указанным сертификатом в формате XmlDSig
|
|
40
|
+
* @param certificate сертификат пользователя
|
|
41
|
+
* @param data данные для подписания в виде массива байт либо в формате Base64 строки
|
|
42
|
+
* @param xmlSignatureType тип xml подписи
|
|
43
|
+
* */
|
|
44
|
+
this.signXmlCms = (certificate, fileBuffer, xmlSignatureType) => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
return (0, cryptopro_cades_1.signXml)(certificate, fileBuffer, xmlSignatureType);
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* @description Метод расшифровки данных
|
|
49
|
+
* @param encryptedData данные для расшифрования в виде массива байт либо в формате Base64 строки
|
|
50
|
+
* */
|
|
51
|
+
this.decryptCms = (fileBuffer) => __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
return (0, cryptopro_cades_1.decrypt)(fileBuffer);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.CryptoProSignService = CryptoProSignService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './CryptoProSignService';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./CryptoProSignService"), exports);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type CheckWorkspace = {
|
|
2
|
+
isPluginInstalled: boolean;
|
|
3
|
+
hasCryptoProvider: boolean;
|
|
4
|
+
cspVersion: string | null;
|
|
5
|
+
hasErrors: boolean;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @description Сервис для настройки рабочего места
|
|
9
|
+
* */
|
|
10
|
+
export declare class WorkspaceSetupService {
|
|
11
|
+
/**
|
|
12
|
+
* @description Флаг установки плагина КриптоПро
|
|
13
|
+
* */
|
|
14
|
+
isPluginInstalled: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* @description Версия криптопровайдера КриптоПро
|
|
17
|
+
* */
|
|
18
|
+
cspVersion: string | null;
|
|
19
|
+
/**
|
|
20
|
+
* @description Флаг наличия ошибок
|
|
21
|
+
* */
|
|
22
|
+
hasErrors: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @description Флаг установки криптопровайдера КриптоПро
|
|
25
|
+
* */
|
|
26
|
+
private hasCryptoProvider;
|
|
27
|
+
private static instance;
|
|
28
|
+
/**
|
|
29
|
+
* @description Флаг выполнения проверки рабочего места
|
|
30
|
+
* */
|
|
31
|
+
isLoading: boolean;
|
|
32
|
+
constructor();
|
|
33
|
+
/**
|
|
34
|
+
* @description Метод проверки состояния рабочего места
|
|
35
|
+
* */
|
|
36
|
+
checkWorkspace: () => Promise<CheckWorkspace>;
|
|
37
|
+
/**
|
|
38
|
+
* @description Метод сброса ошибок
|
|
39
|
+
* */
|
|
40
|
+
resetErrors: () => void;
|
|
41
|
+
}
|
|
42
|
+
export declare const createWorkspaceSetupService: () => WorkspaceSetupService;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createWorkspaceSetupService = exports.WorkspaceSetupService = void 0;
|
|
13
|
+
const ui_1 = require("@astral/ui");
|
|
14
|
+
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
15
|
+
const constants_1 = require("../../constants");
|
|
16
|
+
/**
|
|
17
|
+
* @description Сервис для настройки рабочего места
|
|
18
|
+
* */
|
|
19
|
+
class WorkspaceSetupService {
|
|
20
|
+
constructor() {
|
|
21
|
+
/**
|
|
22
|
+
* @description Флаг установки плагина КриптоПро
|
|
23
|
+
* */
|
|
24
|
+
this.isPluginInstalled = false;
|
|
25
|
+
/**
|
|
26
|
+
* @description Версия криптопровайдера КриптоПро
|
|
27
|
+
* */
|
|
28
|
+
this.cspVersion = null;
|
|
29
|
+
/**
|
|
30
|
+
* @description Флаг наличия ошибок
|
|
31
|
+
* */
|
|
32
|
+
this.hasErrors = false;
|
|
33
|
+
/**
|
|
34
|
+
* @description Флаг установки криптопровайдера КриптоПро
|
|
35
|
+
* */
|
|
36
|
+
this.hasCryptoProvider = false;
|
|
37
|
+
/**
|
|
38
|
+
* @description Флаг выполнения проверки рабочего места
|
|
39
|
+
* */
|
|
40
|
+
this.isLoading = false;
|
|
41
|
+
/**
|
|
42
|
+
* @description Метод проверки состояния рабочего места
|
|
43
|
+
* */
|
|
44
|
+
this.checkWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
var _a;
|
|
46
|
+
this.isLoading = true;
|
|
47
|
+
let resultInfo = {};
|
|
48
|
+
try {
|
|
49
|
+
resultInfo = yield (0, cryptopro_cades_1.getSystemInfo)();
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
const pluginError = error;
|
|
53
|
+
switch (pluginError.code) {
|
|
54
|
+
case constants_1.PLUGIN_NOT_INSTALLED_CODE:
|
|
55
|
+
case constants_1.PLUGIN_NOT_INITIALIZED_CODE: {
|
|
56
|
+
this.isPluginInstalled = false;
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
case constants_1.CRYPTO_PROVIDER_NOT_FOUND_CODE: {
|
|
60
|
+
this.hasCryptoProvider = false;
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
default: {
|
|
64
|
+
ui_1.notify.error(pluginError.message);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
this.isPluginInstalled = resultInfo.cryptoProInstalled;
|
|
70
|
+
this.hasCryptoProvider = Boolean((_a = resultInfo.cryptoProviderName) === null || _a === void 0 ? void 0 : _a.length);
|
|
71
|
+
this.cspVersion = resultInfo.cspVersion;
|
|
72
|
+
this.hasErrors = !(this.isPluginInstalled && this.hasCryptoProvider);
|
|
73
|
+
this.isLoading = false;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
isPluginInstalled: this.isPluginInstalled,
|
|
77
|
+
hasCryptoProvider: this.hasCryptoProvider,
|
|
78
|
+
cspVersion: this.cspVersion,
|
|
79
|
+
hasErrors: this.hasErrors,
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* @description Метод сброса ошибок
|
|
84
|
+
* */
|
|
85
|
+
this.resetErrors = () => {
|
|
86
|
+
this.hasErrors = false;
|
|
87
|
+
};
|
|
88
|
+
// делаем из класса singleton
|
|
89
|
+
if (WorkspaceSetupService.instance) {
|
|
90
|
+
return WorkspaceSetupService.instance;
|
|
91
|
+
}
|
|
92
|
+
WorkspaceSetupService.instance = this;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.WorkspaceSetupService = WorkspaceSetupService;
|
|
96
|
+
WorkspaceSetupService.instance = null;
|
|
97
|
+
const createWorkspaceSetupService = () => new WorkspaceSetupService();
|
|
98
|
+
exports.createWorkspaceSetupService = createWorkspaceSetupService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './WorkspaceSetupService';
|