@gerege-systems/eid-mongolia-sdk 0.11.0 → 0.12.0
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/README.md +7 -2
- package/dist/{browser-BVR6gtrx.d.cts → browser-B_xuB7Rt.d.cts} +12 -2
- package/dist/{browser-BVR6gtrx.d.ts → browser-B_xuB7Rt.d.ts} +12 -2
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/index.cjs +6 -2
- package/dist/index.d.cts +9 -2
- package/dist/index.d.ts +9 -2
- package/dist/index.js +6 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -218,7 +218,8 @@ import { ForbiddenError, ApiError, ON_BEHALF_ERROR_CODES } from "@gerege-systems
|
|
|
218
218
|
|
|
219
219
|
// 1. Иргэн сүүлийн 24 цагт танай RP-ээр нэвтэрсэн байх ёстой.
|
|
220
220
|
const { representations } = await eid.organization.getRepresentations("PNOMN-12345678");
|
|
221
|
-
// → [{ orgEtsi: "NTRMN-6235972", orgName: "Гэрэгэ Системс ХХК", role: "ceo",
|
|
221
|
+
// → [{ orgEtsi: "NTRMN-6235972", orgName: "Гэрэгэ Системс ХХК", role: "ceo", roleLabel: "Гүйцэтгэх захирал",
|
|
222
|
+
// rightType: "ADMIN", … }]
|
|
222
223
|
|
|
223
224
|
// 2. PDF (PAdES, CA угсарна) — санал болгох урсгал.
|
|
224
225
|
try {
|
|
@@ -258,8 +259,12 @@ prepare 429 `PDF_PREPARE_BUSY`, 503 `LTV_UNAVAILABLE` / `TSA_UNAVAILABLE`; docum
|
|
|
258
259
|
хүртэл уншина; хэтэрвэл `ResponseTooLargeError`. JSON хариу 4 MiB-ээс хэтэрвэл мөн `ResponseTooLargeError` (таслахгүй).
|
|
259
260
|
`getRepresentations`-ийн `raw` — серверийн түүхий JSON.
|
|
260
261
|
|
|
262
|
+
**Албан тушаал харуулахдаа `roleLabel` ашигла** (representations болон session-ий `onBehalfOf`) — `role` нь машин
|
|
263
|
+
утга (`ceo` / `founder` / `stakeholder` эсвэл MANAGER-т бичсэн текст), өөрөө орчуулахгүй. Хэл: `new EidClient({ …,
|
|
264
|
+
language: "en" })` → дуудлага бүрд `Accept-Language`; анхдагч илгээхгүй (сервер mn). Хуучин CA-д `roleLabel` байхгүй.
|
|
265
|
+
|
|
261
266
|
Олон талт гэрээ: А байгууллагын гаралтыг өөрчлөлтгүй Б-ийн `prepare`-д (`docID`, өөр `onBehalfOf`) илгээнэ.
|
|
262
|
-
Session-ий `onBehalfOf` блок (`role`/`rightType`) нь хариу угсрах үеийн бүртгэл; `pdf.signer.onBehalfOf`/`claimedRole`
|
|
267
|
+
Session-ий `onBehalfOf` блок (`role`/`roleLabel`/`rightType`) нь хариу угсрах үеийн бүртгэл; `pdf.signer.onBehalfOf`/`claimedRole`
|
|
263
268
|
нь баримтад бичигдсэн утга.
|
|
264
269
|
|
|
265
270
|
## 3b. Иргэний PKI самбар (`PKI_READ` эрх)
|
|
@@ -212,8 +212,16 @@ interface Representation {
|
|
|
212
212
|
orgRegister: string;
|
|
213
213
|
orgName: string;
|
|
214
214
|
orgNameEn?: string;
|
|
215
|
-
/**
|
|
215
|
+
/**
|
|
216
|
+
* Албан тушаалын машин утга (ХУР-аас холбогдсонд `ceo` / `founder` / `stakeholder`, MANAGER-т ADMIN-ий бичсэн
|
|
217
|
+
* текст) — өөрөө орчуулахгүй, хүнд {@link Representation.roleLabel}-ийг харуулна.
|
|
218
|
+
*/
|
|
216
219
|
role?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Албан тушаалын хүнд харуулах нэр (CA нэг газраас; хэл: `ClientConfig.language` → `Accept-Language`, анхдагч mn).
|
|
222
|
+
* Хуучин CA-д байхгүй.
|
|
223
|
+
*/
|
|
224
|
+
roleLabel?: string;
|
|
217
225
|
rightType: "ADMIN" | "MANAGER" | string;
|
|
218
226
|
source: "REGISTRY" | "MANUAL" | string;
|
|
219
227
|
/** ISO 8601. */
|
|
@@ -233,8 +241,10 @@ interface OrgResult {
|
|
|
233
241
|
/** `NTRMN-<улсын бүртгэлийн дугаар>`. */
|
|
234
242
|
orgEtsi: string;
|
|
235
243
|
orgName: string | null;
|
|
236
|
-
/** Албан
|
|
244
|
+
/** Албан тушаалын машин утга (`ceo`, MANUAL текст) — өөрөө орчуулахгүй. Эрх хураагдсан бол null. */
|
|
237
245
|
role: string | null;
|
|
246
|
+
/** Албан тушаалын хүнд харуулах нэр ({@link Representation.roleLabel}). Эрх хураагдсан / хуучин CA бол байхгүй. */
|
|
247
|
+
roleLabel?: string;
|
|
238
248
|
/** ADMIN | MANAGER. Эрх хураагдсан бол null. */
|
|
239
249
|
rightType: string | null;
|
|
240
250
|
}
|
|
@@ -212,8 +212,16 @@ interface Representation {
|
|
|
212
212
|
orgRegister: string;
|
|
213
213
|
orgName: string;
|
|
214
214
|
orgNameEn?: string;
|
|
215
|
-
/**
|
|
215
|
+
/**
|
|
216
|
+
* Албан тушаалын машин утга (ХУР-аас холбогдсонд `ceo` / `founder` / `stakeholder`, MANAGER-т ADMIN-ий бичсэн
|
|
217
|
+
* текст) — өөрөө орчуулахгүй, хүнд {@link Representation.roleLabel}-ийг харуулна.
|
|
218
|
+
*/
|
|
216
219
|
role?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Албан тушаалын хүнд харуулах нэр (CA нэг газраас; хэл: `ClientConfig.language` → `Accept-Language`, анхдагч mn).
|
|
222
|
+
* Хуучин CA-д байхгүй.
|
|
223
|
+
*/
|
|
224
|
+
roleLabel?: string;
|
|
217
225
|
rightType: "ADMIN" | "MANAGER" | string;
|
|
218
226
|
source: "REGISTRY" | "MANUAL" | string;
|
|
219
227
|
/** ISO 8601. */
|
|
@@ -233,8 +241,10 @@ interface OrgResult {
|
|
|
233
241
|
/** `NTRMN-<улсын бүртгэлийн дугаар>`. */
|
|
234
242
|
orgEtsi: string;
|
|
235
243
|
orgName: string | null;
|
|
236
|
-
/** Албан
|
|
244
|
+
/** Албан тушаалын машин утга (`ceo`, MANUAL текст) — өөрөө орчуулахгүй. Эрх хураагдсан бол null. */
|
|
237
245
|
role: string | null;
|
|
246
|
+
/** Албан тушаалын хүнд харуулах нэр ({@link Representation.roleLabel}). Эрх хураагдсан / хуучин CA бол байхгүй. */
|
|
247
|
+
roleLabel?: string;
|
|
238
248
|
/** ADMIN | MANAGER. Эрх хураагдсан бол null. */
|
|
239
249
|
rightType: string | null;
|
|
240
250
|
}
|
package/dist/browser.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { f as DeviceLinkError, g as DeviceLinkInput, D as DeviceLinkSession, E as EidError, k as NavigatorLike, n as OpenOrShowQROptions, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR } from './browser-
|
|
1
|
+
export { f as DeviceLinkError, g as DeviceLinkInput, D as DeviceLinkSession, E as EidError, k as NavigatorLike, n as OpenOrShowQROptions, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR } from './browser-B_xuB7Rt.cjs';
|
package/dist/browser.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { f as DeviceLinkError, g as DeviceLinkInput, D as DeviceLinkSession, E as EidError, k as NavigatorLike, n as OpenOrShowQROptions, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR } from './browser-
|
|
1
|
+
export { f as DeviceLinkError, g as DeviceLinkInput, D as DeviceLinkSession, E as EidError, k as NavigatorLike, n as OpenOrShowQROptions, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR } from './browser-B_xuB7Rt.js';
|
package/dist/index.cjs
CHANGED
|
@@ -235,7 +235,8 @@ var Http = class {
|
|
|
235
235
|
method,
|
|
236
236
|
headers: {
|
|
237
237
|
Authorization: `Bearer ${this.cfg.apiSecret}`,
|
|
238
|
-
...contentType ? { "Content-Type": contentType } : {}
|
|
238
|
+
...contentType ? { "Content-Type": contentType } : {},
|
|
239
|
+
...this.cfg.language ? { "Accept-Language": this.cfg.language } : {}
|
|
239
240
|
},
|
|
240
241
|
body,
|
|
241
242
|
signal: AbortSignal.timeout(timeoutMs ?? this.cfg.timeoutMs ?? DEFAULT_TIMEOUT_MS)
|
|
@@ -645,10 +646,12 @@ function parseOrg(raw) {
|
|
|
645
646
|
const o = asRecord(raw);
|
|
646
647
|
const etsi = str(o.orgEtsi);
|
|
647
648
|
if (!etsi) return null;
|
|
649
|
+
const roleLabel = str(o.roleLabel);
|
|
648
650
|
return {
|
|
649
651
|
orgEtsi: etsi,
|
|
650
652
|
orgName: str(o.orgName),
|
|
651
653
|
role: str(o.role),
|
|
654
|
+
...roleLabel ? { roleLabel } : {},
|
|
652
655
|
rightType: str(o.rightType)
|
|
653
656
|
};
|
|
654
657
|
}
|
|
@@ -1776,7 +1779,8 @@ var EidClient = class {
|
|
|
1776
1779
|
apiSecret: cfg.credentials.apiSecret,
|
|
1777
1780
|
timeoutMs: cfg.timeoutMs,
|
|
1778
1781
|
dispatcher: cfg.dispatcher,
|
|
1779
|
-
fetchImpl: cfg.fetchImpl
|
|
1782
|
+
fetchImpl: cfg.fetchImpl,
|
|
1783
|
+
language: cfg.language?.trim() || void 0
|
|
1780
1784
|
});
|
|
1781
1785
|
const level = cfg.defaultCertificateLevel ?? "QUALIFIED";
|
|
1782
1786
|
this.auth = new AuthApi(http, cfg.credentials, { certificateLevel: level });
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RpCredentials, C as CertificateLevel, I as Interaction, S as SignatureAlgorithm, H as HashAlgorithm, N as NotificationSession, D as DeviceLinkSession, a as SessionResult, P as PersonBlock, b as PdfSessionBlock, c as RepresentationsResponse, A as AcspContext, F as FlowType, E as EidError } from './browser-
|
|
2
|
-
export { d as ApiError, e as AuthenticationError, f as DeviceLinkError, g as DeviceLinkInput, h as EndResult, i as ForbiddenError, j as HttpErrorInit, k as NavigatorLike, l as NetworkError, O as ON_BEHALF_ERROR_CODES, m as OnBehalfErrorCode, n as OpenOrShowQROptions, o as OrgResult, p as PdfDocumentStatus, q as PdfSigner, r as RETRYABLE_ERROR_CODES, s as Representation, t as ResponseTooLargeError, u as RetryableErrorCode, v as SessionFailedError, w as SessionState, x as SignatureAlgorithmParameters, y as SignatureProtocol, T as TokenCertSessionBlock, z as TokenCertStatus, V as ValidationError, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR, K as parseRetryAfter } from './browser-
|
|
1
|
+
import { R as RpCredentials, C as CertificateLevel, I as Interaction, S as SignatureAlgorithm, H as HashAlgorithm, N as NotificationSession, D as DeviceLinkSession, a as SessionResult, P as PersonBlock, b as PdfSessionBlock, c as RepresentationsResponse, A as AcspContext, F as FlowType, E as EidError } from './browser-B_xuB7Rt.cjs';
|
|
2
|
+
export { d as ApiError, e as AuthenticationError, f as DeviceLinkError, g as DeviceLinkInput, h as EndResult, i as ForbiddenError, j as HttpErrorInit, k as NavigatorLike, l as NetworkError, O as ON_BEHALF_ERROR_CODES, m as OnBehalfErrorCode, n as OpenOrShowQROptions, o as OrgResult, p as PdfDocumentStatus, q as PdfSigner, r as RETRYABLE_ERROR_CODES, s as Representation, t as ResponseTooLargeError, u as RetryableErrorCode, v as SessionFailedError, w as SessionState, x as SignatureAlgorithmParameters, y as SignatureProtocol, T as TokenCertSessionBlock, z as TokenCertStatus, V as ValidationError, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR, K as parseRetryAfter } from './browser-B_xuB7Rt.cjs';
|
|
3
3
|
import { X509Certificate, KeyObject } from 'node:crypto';
|
|
4
4
|
|
|
5
5
|
interface HttpConfig {
|
|
@@ -17,6 +17,8 @@ interface HttpConfig {
|
|
|
17
17
|
dispatcher?: unknown;
|
|
18
18
|
/** Тест/custom орчинд fetch-ийг орлуулах (default — global fetch). */
|
|
19
19
|
fetchImpl?: typeof fetch;
|
|
20
|
+
/** `Accept-Language` header-ийн утга (ж: "en"); хоосон бол илгээхгүй. */
|
|
21
|
+
language?: string;
|
|
20
22
|
}
|
|
21
23
|
declare class Http {
|
|
22
24
|
private readonly cfg;
|
|
@@ -806,6 +808,11 @@ interface ClientConfig {
|
|
|
806
808
|
dispatcher?: unknown;
|
|
807
809
|
/** fetch орлуулагч (тест). */
|
|
808
810
|
fetchImpl?: typeof fetch;
|
|
811
|
+
/**
|
|
812
|
+
* Хүнд харуулах текстийн хэл (`roleLabel` г.м.) — дуудлага бүрд `Accept-Language` болж илгээгдэнэ (`"mn"` | `"en"`).
|
|
813
|
+
* Анхдагч: илгээхгүй (сервер mn).
|
|
814
|
+
*/
|
|
815
|
+
language?: string;
|
|
809
816
|
/** Trust anchor (Root CA) — validator-д. Production-д ЗААВАЛ. */
|
|
810
817
|
trust?: TrustConfig;
|
|
811
818
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as RpCredentials, C as CertificateLevel, I as Interaction, S as SignatureAlgorithm, H as HashAlgorithm, N as NotificationSession, D as DeviceLinkSession, a as SessionResult, P as PersonBlock, b as PdfSessionBlock, c as RepresentationsResponse, A as AcspContext, F as FlowType, E as EidError } from './browser-
|
|
2
|
-
export { d as ApiError, e as AuthenticationError, f as DeviceLinkError, g as DeviceLinkInput, h as EndResult, i as ForbiddenError, j as HttpErrorInit, k as NavigatorLike, l as NetworkError, O as ON_BEHALF_ERROR_CODES, m as OnBehalfErrorCode, n as OpenOrShowQROptions, o as OrgResult, p as PdfDocumentStatus, q as PdfSigner, r as RETRYABLE_ERROR_CODES, s as Representation, t as ResponseTooLargeError, u as RetryableErrorCode, v as SessionFailedError, w as SessionState, x as SignatureAlgorithmParameters, y as SignatureProtocol, T as TokenCertSessionBlock, z as TokenCertStatus, V as ValidationError, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR, K as parseRetryAfter } from './browser-
|
|
1
|
+
import { R as RpCredentials, C as CertificateLevel, I as Interaction, S as SignatureAlgorithm, H as HashAlgorithm, N as NotificationSession, D as DeviceLinkSession, a as SessionResult, P as PersonBlock, b as PdfSessionBlock, c as RepresentationsResponse, A as AcspContext, F as FlowType, E as EidError } from './browser-B_xuB7Rt.js';
|
|
2
|
+
export { d as ApiError, e as AuthenticationError, f as DeviceLinkError, g as DeviceLinkInput, h as EndResult, i as ForbiddenError, j as HttpErrorInit, k as NavigatorLike, l as NetworkError, O as ON_BEHALF_ERROR_CODES, m as OnBehalfErrorCode, n as OpenOrShowQROptions, o as OrgResult, p as PdfDocumentStatus, q as PdfSigner, r as RETRYABLE_ERROR_CODES, s as Representation, t as ResponseTooLargeError, u as RetryableErrorCode, v as SessionFailedError, w as SessionState, x as SignatureAlgorithmParameters, y as SignatureProtocol, T as TokenCertSessionBlock, z as TokenCertStatus, V as ValidationError, B as deviceLink, G as isMobileUserAgent, J as openOrShowQR, K as parseRetryAfter } from './browser-B_xuB7Rt.js';
|
|
3
3
|
import { X509Certificate, KeyObject } from 'node:crypto';
|
|
4
4
|
|
|
5
5
|
interface HttpConfig {
|
|
@@ -17,6 +17,8 @@ interface HttpConfig {
|
|
|
17
17
|
dispatcher?: unknown;
|
|
18
18
|
/** Тест/custom орчинд fetch-ийг орлуулах (default — global fetch). */
|
|
19
19
|
fetchImpl?: typeof fetch;
|
|
20
|
+
/** `Accept-Language` header-ийн утга (ж: "en"); хоосон бол илгээхгүй. */
|
|
21
|
+
language?: string;
|
|
20
22
|
}
|
|
21
23
|
declare class Http {
|
|
22
24
|
private readonly cfg;
|
|
@@ -806,6 +808,11 @@ interface ClientConfig {
|
|
|
806
808
|
dispatcher?: unknown;
|
|
807
809
|
/** fetch орлуулагч (тест). */
|
|
808
810
|
fetchImpl?: typeof fetch;
|
|
811
|
+
/**
|
|
812
|
+
* Хүнд харуулах текстийн хэл (`roleLabel` г.м.) — дуудлага бүрд `Accept-Language` болж илгээгдэнэ (`"mn"` | `"en"`).
|
|
813
|
+
* Анхдагч: илгээхгүй (сервер mn).
|
|
814
|
+
*/
|
|
815
|
+
language?: string;
|
|
809
816
|
/** Trust anchor (Root CA) — validator-д. Production-д ЗААВАЛ. */
|
|
810
817
|
trust?: TrustConfig;
|
|
811
818
|
}
|
package/dist/index.js
CHANGED
|
@@ -52,7 +52,8 @@ var Http = class {
|
|
|
52
52
|
method,
|
|
53
53
|
headers: {
|
|
54
54
|
Authorization: `Bearer ${this.cfg.apiSecret}`,
|
|
55
|
-
...contentType ? { "Content-Type": contentType } : {}
|
|
55
|
+
...contentType ? { "Content-Type": contentType } : {},
|
|
56
|
+
...this.cfg.language ? { "Accept-Language": this.cfg.language } : {}
|
|
56
57
|
},
|
|
57
58
|
body,
|
|
58
59
|
signal: AbortSignal.timeout(timeoutMs ?? this.cfg.timeoutMs ?? DEFAULT_TIMEOUT_MS)
|
|
@@ -462,10 +463,12 @@ function parseOrg(raw) {
|
|
|
462
463
|
const o = asRecord(raw);
|
|
463
464
|
const etsi = str(o.orgEtsi);
|
|
464
465
|
if (!etsi) return null;
|
|
466
|
+
const roleLabel = str(o.roleLabel);
|
|
465
467
|
return {
|
|
466
468
|
orgEtsi: etsi,
|
|
467
469
|
orgName: str(o.orgName),
|
|
468
470
|
role: str(o.role),
|
|
471
|
+
...roleLabel ? { roleLabel } : {},
|
|
469
472
|
rightType: str(o.rightType)
|
|
470
473
|
};
|
|
471
474
|
}
|
|
@@ -1593,7 +1596,8 @@ var EidClient = class {
|
|
|
1593
1596
|
apiSecret: cfg.credentials.apiSecret,
|
|
1594
1597
|
timeoutMs: cfg.timeoutMs,
|
|
1595
1598
|
dispatcher: cfg.dispatcher,
|
|
1596
|
-
fetchImpl: cfg.fetchImpl
|
|
1599
|
+
fetchImpl: cfg.fetchImpl,
|
|
1600
|
+
language: cfg.language?.trim() || void 0
|
|
1597
1601
|
});
|
|
1598
1602
|
const level = cfg.defaultCertificateLevel ?? "QUALIFIED";
|
|
1599
1603
|
this.auth = new AuthApi(http, cfg.credentials, { certificateLevel: level });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gerege-systems/eid-mongolia-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "e-ID Mongolia Relying Party SDK — иргэнээр утсаар нь нэвтрэлт ба хууль ёсны цахим гарын үсэг (RP-API v3, Smart-ID нийцтэй).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|