@astral/features 3.93.0 → 3.93.2

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 (142) hide show
  1. package/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/styles.js +1 -0
  2. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/AutocompleteListItem.d.ts +13 -0
  3. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/AutocompleteListItem.js +24 -0
  4. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/index.d.ts +1 -0
  5. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/index.js +17 -0
  6. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/styles.d.ts +684 -0
  7. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/styles.js +52 -0
  8. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/getShortFullName.d.ts +1 -0
  9. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/getShortFullName.js +12 -0
  10. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/index.d.ts +1 -0
  11. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/getShortFullName/index.js +17 -0
  12. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/index.d.ts +1 -0
  13. package/node/cryproPro/components/CryptoProCertAutocomplete/AutocompleteListItem/utils/index.js +17 -0
  14. package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.d.ts +6 -0
  15. package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.js +33 -0
  16. package/node/cryproPro/components/CryptoProCertAutocomplete/index.d.ts +1 -0
  17. package/node/cryproPro/components/CryptoProCertAutocomplete/index.js +17 -0
  18. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/index.d.ts +1 -0
  19. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/index.js +17 -0
  20. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/index.d.ts +1 -0
  21. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/index.js +17 -0
  22. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/transformCertificates.d.ts +12 -0
  23. package/node/cryproPro/components/CryptoProCertAutocomplete/utils/transformCertificates/transformCertificates.js +22 -0
  24. package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts +7 -0
  25. package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.js +15 -0
  26. package/node/cryproPro/components/CryptoProCertFormAutocomplete/index.d.ts +1 -0
  27. package/node/cryproPro/components/CryptoProCertFormAutocomplete/index.js +17 -0
  28. package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.d.ts +14 -0
  29. package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.js +17 -0
  30. package/node/cryproPro/components/CryptoProProvider/index.d.ts +1 -0
  31. package/node/cryproPro/components/CryptoProProvider/index.js +17 -0
  32. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/CryptoproviderInfo.d.ts +6 -0
  33. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/CryptoproviderInfo.js +29 -0
  34. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/index.d.ts +1 -0
  35. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/index.js +17 -0
  36. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/styles.d.ts +5 -0
  37. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/CryptoproviderInfo/styles.js +16 -0
  38. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/PluginInfo.d.ts +6 -0
  39. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/PluginInfo.js +15 -0
  40. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/index.d.ts +1 -0
  41. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/PluginInfo/index.js +17 -0
  42. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/SetupCryptoProWorkspaceModal.d.ts +8 -0
  43. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/SetupCryptoProWorkspaceModal.js +16 -0
  44. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/index.d.ts +1 -0
  45. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/index.js +17 -0
  46. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/styles.d.ts +9 -0
  47. package/node/cryproPro/components/SetupCryptoProWorkspaceModal/styles.js +21 -0
  48. package/node/cryproPro/components/index.d.ts +4 -0
  49. package/node/cryproPro/components/index.js +20 -0
  50. package/node/cryproPro/constants/enums.d.ts +5 -0
  51. package/node/cryproPro/constants/enums.js +9 -0
  52. package/node/cryproPro/constants/error.d.ts +3 -0
  53. package/node/cryproPro/constants/error.js +6 -0
  54. package/node/cryproPro/constants/index.d.ts +2 -0
  55. package/node/cryproPro/constants/index.js +18 -0
  56. package/node/cryproPro/index.d.ts +3 -0
  57. package/node/cryproPro/index.js +12 -0
  58. package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.d.ts +30 -0
  59. package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.js +61 -0
  60. package/node/cryproPro/services/CryptoProCertificateService/index.d.ts +2 -0
  61. package/node/cryproPro/services/CryptoProCertificateService/index.js +18 -0
  62. package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/convertBase64toBlob.d.ts +1 -0
  63. package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/convertBase64toBlob.js +7 -0
  64. package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.d.ts +1 -0
  65. package/node/cryproPro/services/CryptoProCertificateService/utils/convertBase64toBlob/index.js +17 -0
  66. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/getCertificateExpiresDate.d.ts +1 -0
  67. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/getCertificateExpiresDate.js +10 -0
  68. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/index.d.ts +1 -0
  69. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateExpiresDate/index.js +17 -0
  70. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/getCertificateOwnerShortName.d.ts +1 -0
  71. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/getCertificateOwnerShortName.js +15 -0
  72. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/index.d.ts +1 -0
  73. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateOwnerShortName/index.js +17 -0
  74. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/getCertificateType.d.ts +2 -0
  75. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/getCertificateType.js +16 -0
  76. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/index.d.ts +1 -0
  77. package/node/cryproPro/services/CryptoProCertificateService/utils/getCertificateType/index.js +17 -0
  78. package/node/cryproPro/services/CryptoProCertificateService/utils/index.d.ts +4 -0
  79. package/node/cryproPro/services/CryptoProCertificateService/utils/index.js +20 -0
  80. package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.d.ts +33 -0
  81. package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.js +56 -0
  82. package/node/cryproPro/services/CryptoProSignService/index.d.ts +1 -0
  83. package/node/cryproPro/services/CryptoProSignService/index.js +17 -0
  84. package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.d.ts +42 -0
  85. package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.js +98 -0
  86. package/node/cryproPro/services/WorkspaceSetupService/index.d.ts +1 -0
  87. package/node/cryproPro/services/WorkspaceSetupService/index.js +17 -0
  88. package/node/cryproPro/services/index.d.ts +3 -0
  89. package/node/cryproPro/services/index.js +19 -0
  90. package/node/cryproPro/stores/CryptoProStore/CryptoProStore.d.ts +89 -0
  91. package/node/cryproPro/stores/CryptoProStore/CryptoProStore.js +139 -0
  92. package/node/cryproPro/stores/CryptoProStore/index.d.ts +1 -0
  93. package/node/cryproPro/stores/CryptoProStore/index.js +17 -0
  94. package/node/cryproPro/stores/index.d.ts +1 -0
  95. package/node/cryproPro/stores/index.js +17 -0
  96. package/node/cryproPro/types.d.ts +1 -0
  97. package/node/cryproPro/types.js +5 -0
  98. package/node/index.d.ts +2 -0
  99. package/node/index.js +21 -0
  100. package/node/productSwitcher/components/AstralProductSwitcher/AstralProductSwitcher.d.ts +12 -0
  101. package/node/productSwitcher/components/AstralProductSwitcher/AstralProductSwitcher.js +29 -0
  102. package/node/productSwitcher/components/AstralProductSwitcher/index.d.ts +1 -0
  103. package/node/productSwitcher/components/AstralProductSwitcher/index.js +17 -0
  104. package/node/productSwitcher/components/IdentityProductSwitcher/IdentityProductSwitcher.d.ts +8 -0
  105. package/node/productSwitcher/components/IdentityProductSwitcher/IdentityProductSwitcher.js +20 -0
  106. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/index.d.ts +1 -0
  107. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/index.js +5 -0
  108. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/index.d.ts +1 -0
  109. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/index.js +17 -0
  110. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/useLogic.d.ts +12 -0
  111. package/node/productSwitcher/components/IdentityProductSwitcher/hooks/useLogic/useLogic.js +67 -0
  112. package/node/productSwitcher/components/IdentityProductSwitcher/index.d.ts +1 -0
  113. package/node/productSwitcher/components/IdentityProductSwitcher/index.js +17 -0
  114. package/node/productSwitcher/components/IdentityProductSwitcher/styles.d.ts +22 -0
  115. package/node/productSwitcher/components/IdentityProductSwitcher/styles.js +45 -0
  116. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/getIdentityTenants.d.ts +6 -0
  117. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/getIdentityTenants.js +25 -0
  118. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/index.d.ts +1 -0
  119. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getIdentityTenants/index.js +17 -0
  120. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/getTenantsProducts.d.ts +7 -0
  121. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/getTenantsProducts.js +28 -0
  122. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/index.d.ts +1 -0
  123. package/node/productSwitcher/components/IdentityProductSwitcher/utils/getTenantsProducts/index.js +17 -0
  124. package/node/productSwitcher/components/IdentityProductSwitcher/utils/index.d.ts +2 -0
  125. package/node/productSwitcher/components/IdentityProductSwitcher/utils/index.js +18 -0
  126. package/node/productSwitcher/components/index.d.ts +2 -0
  127. package/node/productSwitcher/components/index.js +18 -0
  128. package/node/productSwitcher/index.d.ts +1 -0
  129. package/node/productSwitcher/index.js +6 -0
  130. package/node/productSwitcher/types.d.ts +54 -0
  131. package/node/productSwitcher/types.js +2 -0
  132. package/node/productSwitcher/utils/formatIdentityProducts/formatIdentityProducts.d.ts +8 -0
  133. package/node/productSwitcher/utils/formatIdentityProducts/formatIdentityProducts.js +18 -0
  134. package/node/productSwitcher/utils/formatIdentityProducts/index.d.ts +1 -0
  135. package/node/productSwitcher/utils/formatIdentityProducts/index.js +17 -0
  136. package/node/productSwitcher/utils/getIdentityProducts/getIdentityProducts.d.ts +6 -0
  137. package/node/productSwitcher/utils/getIdentityProducts/getIdentityProducts.js +31 -0
  138. package/node/productSwitcher/utils/getIdentityProducts/index.d.ts +1 -0
  139. package/node/productSwitcher/utils/getIdentityProducts/index.js +17 -0
  140. package/node/productSwitcher/utils/index.d.ts +2 -0
  141. package/node/productSwitcher/utils/index.js +18 -0
  142. 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,3 @@
1
+ export declare const PLUGIN_NOT_INSTALLED_CODE = "CBP-1";
2
+ export declare const PLUGIN_NOT_INITIALIZED_CODE = "CBP-2";
3
+ export declare const CRYPTO_PROVIDER_NOT_FOUND_CODE = "CBP-8";
@@ -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,2 @@
1
+ export * from './error';
2
+ export * from './enums';
@@ -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,3 @@
1
+ export { SetupCryptoProWorkspaceModal, CryptoProCertFormAutocomplete, CryptoProCertAutocomplete, CryptoProProvider, } from './components';
2
+ export { CryptoProStore } from './stores';
3
+ export { Certificate } from './types';
@@ -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,2 @@
1
+ export * from './CryptoProCertificateService';
2
+ export * from './utils';
@@ -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;
@@ -0,0 +1 @@
1
+ export * from './convertBase64toBlob';
@@ -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';
@@ -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,2 @@
1
+ import { CertificateType } from '../../../../constants';
2
+ export declare const getCertificateType: (inn: string | null, ogrn: string | null) => CertificateType;
@@ -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;
@@ -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,4 @@
1
+ export * from './getCertificateExpiresDate';
2
+ export * from './getCertificateOwnerShortName';
3
+ export * from './getCertificateType';
4
+ export * from './convertBase64toBlob';
@@ -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';