@bgord/bun 1.21.8 → 1.21.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/alert-channel-composite.adapter.js +1 -1
- package/dist/alert-channel-composite.adapter.js.map +1 -1
- package/dist/cache-repository-redis.adapter.js.map +1 -1
- package/dist/crypto-aes-gcm.service.d.ts +2 -2
- package/dist/crypto-aes-gcm.service.d.ts.map +1 -1
- package/dist/crypto-aes-gcm.service.js +2 -2
- package/dist/crypto-aes-gcm.service.js.map +1 -1
- package/dist/crypto-key-provider-file.adapter.d.ts.map +1 -1
- package/dist/crypto-key-provider-file.adapter.js +4 -1
- package/dist/crypto-key-provider-file.adapter.js.map +1 -1
- package/dist/crypto-key-provider-memory.adapter.js.map +1 -1
- package/dist/encryption-iv.vo.d.ts +1 -1
- package/dist/encryption-iv.vo.d.ts.map +1 -1
- package/dist/encryption-key.vo.d.ts +1 -1
- package/dist/encryption-key.vo.d.ts.map +1 -1
- package/dist/healthcheck-hono.handler.d.ts +1 -67
- package/dist/healthcheck-hono.handler.d.ts.map +1 -1
- package/dist/healthcheck-hono.handler.js +2 -2
- package/dist/healthcheck-hono.handler.js.map +1 -1
- package/dist/job-registry.adapter.js.map +1 -1
- package/dist/languages.vo.js +1 -1
- package/dist/languages.vo.js.map +1 -1
- package/dist/liveness-hono.handler.d.ts +1 -3
- package/dist/liveness-hono.handler.d.ts.map +1 -1
- package/dist/liveness-hono.handler.js +2 -2
- package/dist/liveness-hono.handler.js.map +1 -1
- package/dist/message-bus-with-logger.adapter.d.ts.map +1 -1
- package/dist/message-bus-with-logger.adapter.js.map +1 -1
- package/dist/readiness-hono.handler.d.ts +1 -4
- package/dist/readiness-hono.handler.d.ts.map +1 -1
- package/dist/readiness-hono.handler.js +2 -2
- package/dist/readiness-hono.handler.js.map +1 -1
- package/dist/request-context-hono.adapter.d.ts.map +1 -1
- package/dist/request-context-hono.adapter.js +10 -0
- package/dist/request-context-hono.adapter.js.map +1 -1
- package/dist/request-context.port.d.ts +6 -0
- package/dist/request-context.port.d.ts.map +1 -1
- package/dist/shield-maintenance-hono.strategy.js +1 -1
- package/dist/shield-maintenance-hono.strategy.js.map +1 -1
- package/dist/shield-security-hono.strategy.d.ts.map +1 -1
- package/dist/shield-security-hono.strategy.js +4 -4
- package/dist/shield-security-hono.strategy.js.map +1 -1
- package/dist/translations-hono.handler.js +1 -1
- package/dist/translations-hono.handler.js.map +1 -1
- package/package.json +8 -8
- package/src/alert-channel-composite.adapter.ts +1 -1
- package/src/cache-repository-redis.adapter.ts +1 -1
- package/src/crypto-aes-gcm.service.ts +8 -12
- package/src/crypto-key-provider-file.adapter.ts +4 -7
- package/src/crypto-key-provider-memory.adapter.ts +1 -1
- package/src/encryption-iv.vo.ts +1 -1
- package/src/encryption-key.vo.ts +1 -1
- package/src/healthcheck-hono.handler.ts +2 -2
- package/src/job-registry.adapter.ts +1 -1
- package/src/languages.vo.ts +1 -1
- package/src/liveness-hono.handler.ts +2 -2
- package/src/message-bus-with-logger.adapter.ts +2 -2
- package/src/readiness-hono.handler.ts +2 -2
- package/src/request-context-hono.adapter.ts +9 -0
- package/src/request-context.port.ts +5 -0
- package/src/shield-maintenance-hono.strategy.ts +1 -1
- package/src/shield-security-hono.strategy.ts +4 -5
- package/src/translations-hono.handler.ts +1 -1
|
@@ -16,7 +16,7 @@ export class AlertChannelCompositeAdapter {
|
|
|
16
16
|
const results = await Promise.allSettled(this.channels.map((channel) => channel.send(alert)));
|
|
17
17
|
if (results.some((result) => result.status === "fulfilled"))
|
|
18
18
|
return;
|
|
19
|
-
const reasons = results.
|
|
19
|
+
const reasons = results.flatMap((result) => (result.status === "rejected" ? [result.reason] : []));
|
|
20
20
|
throw new AggregateError(reasons, AlertChannelCompositeError.AllFailed);
|
|
21
21
|
}
|
|
22
22
|
async verify() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-channel-composite.adapter.js","sourceRoot":"","sources":["../src/alert-channel-composite.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,GAAG,EAAE,sCAAsC;IAC3C,GAAG,EAAE,sCAAsC;IAC3C,SAAS,EAAE,oCAAoC;CAChD,CAAC;AAEF,MAAM,OAAO,4BAA4B;IACV,QAAQ;IAArC,YAA6B,QAAyC;wBAAzC,QAAQ;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;YAAE,OAAO;QAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"alert-channel-composite.adapter.js","sourceRoot":"","sources":["../src/alert-channel-composite.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,GAAG,EAAE,sCAAsC;IAC3C,GAAG,EAAE,sCAAsC;IAC3C,SAAS,EAAE,oCAAoC;CAChD,CAAC;AAEF,MAAM,OAAO,4BAA4B;IACV,QAAQ;IAArC,YAA6B,QAAyC;wBAAzC,QAAQ;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC;YAAE,OAAO;QAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnG,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE1F,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1F,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-repository-redis.adapter.js","sourceRoot":"","sources":["../src/cache-repository-redis.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,2BAA2B;IAEnB,MAAM;IACN,MAAM;IAFzB,YACmB,MAAuB,EACvB,MAA8B;sBAD9B,MAAM;sBACN,MAAM;IACtB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAI,OAAa;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"cache-repository-redis.adapter.js","sourceRoot":"","sources":["../src/cache-repository-redis.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,2BAA2B;IAEnB,MAAM;IACN,MAAM;IAFzB,YACmB,MAAuB,EACvB,MAA8B;sBAD9B,MAAM;sBACN,MAAM;IACtB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAI,OAAa;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,OAAa,EAAE,KAAQ;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAa;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@ export declare const CryptoAesGcmError: {
|
|
|
3
3
|
};
|
|
4
4
|
export declare class CryptoAesGcm {
|
|
5
5
|
static readonly ALGORITHM = "AES-GCM";
|
|
6
|
-
static encrypt(key: CryptoKey, plaintext: ArrayBuffer, iv: Uint8Array): Promise<Uint8Array>;
|
|
7
|
-
static decrypt(key: CryptoKey, payload: Uint8Array): Promise<ArrayBuffer>;
|
|
6
|
+
static encrypt(key: CryptoKey, plaintext: ArrayBuffer, iv: Uint8Array<ArrayBuffer>): Promise<Uint8Array>;
|
|
7
|
+
static decrypt(key: CryptoKey, payload: Uint8Array<ArrayBuffer>): Promise<ArrayBuffer>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=crypto-aes-gcm.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-aes-gcm.service.d.ts","sourceRoot":"","sources":["../src/crypto-aes-gcm.service.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;IAAK,cAAc;CAAoC,CAAC;AAEtF,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAa;IAEtC,OAAa,OAAO,
|
|
1
|
+
{"version":3,"file":"crypto-aes-gcm.service.d.ts","sourceRoot":"","sources":["../src/crypto-aes-gcm.service.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;IAAK,cAAc;CAAoC,CAAC;AAEtF,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,SAAS,aAAa;IAEtC,OAAa,OAAO,CAClB,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,WAAW,EACtB,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,GAC1B,OAAO,CAAC,UAAU,CAAC,CAUrB;IAED,OAAa,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAO3F;CACF"}
|
|
@@ -4,7 +4,7 @@ export const CryptoAesGcmError = { InvalidPayload: "aes.gcm.crypto.invalid.paylo
|
|
|
4
4
|
export class CryptoAesGcm {
|
|
5
5
|
static ALGORITHM = "AES-GCM";
|
|
6
6
|
static async encrypt(key, plaintext, iv) {
|
|
7
|
-
const encrypted = await crypto.subtle.encrypt({ name: CryptoAesGcm.ALGORITHM, iv
|
|
7
|
+
const encrypted = await crypto.subtle.encrypt({ name: CryptoAesGcm.ALGORITHM, iv }, key, plaintext);
|
|
8
8
|
const ciphertext = new Uint8Array(encrypted);
|
|
9
9
|
const output = new Uint8Array(iv.length + ciphertext.length);
|
|
10
10
|
output.set(iv, 0);
|
|
@@ -16,7 +16,7 @@ export class CryptoAesGcm {
|
|
|
16
16
|
throw new Error(CryptoAesGcmError.InvalidPayload);
|
|
17
17
|
const iv = payload.subarray(0, EncryptionIV.LENGTH);
|
|
18
18
|
const ciphertext = payload.subarray(EncryptionIV.LENGTH);
|
|
19
|
-
return crypto.subtle.decrypt({ name: CryptoAesGcm.ALGORITHM, iv
|
|
19
|
+
return crypto.subtle.decrypt({ name: CryptoAesGcm.ALGORITHM, iv }, key, ciphertext);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=crypto-aes-gcm.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-aes-gcm.service.js","sourceRoot":"","sources":["../src/crypto-aes-gcm.service.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC;AAEtF,MAAM,OAAO,YAAY;IACvB,MAAM,CAAU,SAAS,GAAG,SAAS,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"crypto-aes-gcm.service.js","sourceRoot":"","sources":["../src/crypto-aes-gcm.service.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,cAAc,EAAE,gCAAgC,EAAE,CAAC;AAEtF,MAAM,OAAO,YAAY;IACvB,MAAM,CAAU,SAAS,GAAG,SAAS,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,GAAc,EACd,SAAsB,EACtB,EAA2B;QAE3B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAEpG,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAc,EAAE,OAAgC;QACnE,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEhG,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEzD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-key-provider-file.adapter.d.ts","sourceRoot":"","sources":["../src/crypto-key-provider-file.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,iCAAiC;IAC5C,WAAW;CACZ,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE/F,qBAAa,4BAA6B,YAAW,qBAAqB;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EACrD,IAAI,EAAE,YAAY,EACjC;IAEE,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"crypto-key-provider-file.adapter.d.ts","sourceRoot":"","sources":["../src/crypto-key-provider-file.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,iCAAiC;IAC5C,WAAW;CACZ,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE/F,qBAAa,4BAA6B,YAAW,qBAAqB;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,YACmB,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EACrD,IAAI,EAAE,YAAY,EACjC;IAEE,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAa9B;CACF"}
|
|
@@ -15,7 +15,10 @@ export class CryptoKeyProviderFileAdapter {
|
|
|
15
15
|
throw new Error(CryptoKeyProviderFileAdapterError.MissingFile);
|
|
16
16
|
const content = await this.deps.FileReaderText.read(this.path);
|
|
17
17
|
const encryptionKey = EncryptionKey.fromString(content.trim());
|
|
18
|
-
return crypto.subtle.importKey("raw", encryptionKey.toBytes(), { name: "AES-GCM" }, false, [
|
|
18
|
+
return crypto.subtle.importKey("raw", encryptionKey.toBytes(), { name: "AES-GCM" }, false, [
|
|
19
|
+
"encrypt",
|
|
20
|
+
"decrypt",
|
|
21
|
+
]);
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=crypto-key-provider-file.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-key-provider-file.adapter.js","sourceRoot":"","sources":["../src/crypto-key-provider-file.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,WAAW,EAAE,+CAA+C;CAC7D,CAAC;AAIF,MAAM,OAAO,4BAA4B;IAEpB,IAAI;IACJ,IAAI;IAFvB,YACmB,IAAqD,EACrD,IAAkB;oBADlB,IAAI;oBACJ,IAAI;IACpB,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"crypto-key-provider-file.adapter.js","sourceRoot":"","sources":["../src/crypto-key-provider-file.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,WAAW,EAAE,+CAA+C;CAC7D,CAAC;AAIF,MAAM,OAAO,4BAA4B;IAEpB,IAAI;IACJ,IAAI;IAFvB,YACmB,IAAqD,EACrD,IAAkB;oBADlB,IAAI;oBACJ,IAAI;IACpB,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/D,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE;YACzF,SAAS;YACT,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-key-provider-memory.adapter.js","sourceRoot":"","sources":["../src/crypto-key-provider-memory.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,OAAO,8BAA8B;IACZ,oBAAoB;IAAjD,YAA6B,oBAA4C;oCAA5C,oBAAoB;IAA2B,CAAC;IAE7E,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,KAAK,EACL,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"crypto-key-provider-memory.adapter.js","sourceRoot":"","sources":["../src/crypto-key-provider-memory.adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,OAAO,8BAA8B;IACZ,oBAAoB;IAAjD,YAA6B,oBAA4C;oCAA5C,oBAAoB;IAA2B,CAAC;IAE7E,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,KAAK,EACL,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-iv.vo.d.ts","sourceRoot":"","sources":["../src/encryption-iv.vo.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM;IAE5B,MAAM,CAAC,QAAQ,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"encryption-iv.vo.d.ts","sourceRoot":"","sources":["../src/encryption-iv.vo.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM;IAE5B,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,WAAW,CAAC,CAKzC;CACF"}
|
|
@@ -9,7 +9,7 @@ export declare class EncryptionKey {
|
|
|
9
9
|
static fromString(candidate: string): EncryptionKey;
|
|
10
10
|
static fromBytes(buffer: Uint8Array): EncryptionKey;
|
|
11
11
|
equals(another: EncryptionKey): boolean;
|
|
12
|
-
toBytes(): Uint8Array
|
|
12
|
+
toBytes(): Uint8Array<ArrayBuffer>;
|
|
13
13
|
toString(): string;
|
|
14
14
|
toJSON(): string;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-key.vo.d.ts","sourceRoot":"","sources":["../src/encryption-key.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,eAAO,MAAM,kBAAkB;IAAK,aAAa;CAAmC,CAAC;AAErF,qBAAa,aAAa;IACJ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAxC,OAAO,eAA6D;IAEpE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAElE;IAED,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAElD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAIlD;IAED,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEtC;IAED,OAAO,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"encryption-key.vo.d.ts","sourceRoot":"","sources":["../src/encryption-key.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,eAAO,MAAM,kBAAkB;IAAK,aAAa;CAAmC,CAAC;AAErF,qBAAa,aAAa;IACJ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAxC,OAAO,eAA6D;IAEpE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAElE;IAED,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAElD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAIlD;IAED,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEtC;IAED,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,CAEjC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;CACF"}
|
|
@@ -3,72 +3,6 @@ import { type HealthcheckConfig, type HealthcheckDependencies } from "./healthch
|
|
|
3
3
|
export declare class HealthcheckHonoHandler implements HandlerHonoPort {
|
|
4
4
|
private readonly handler;
|
|
5
5
|
constructor(config: HealthcheckConfig, deps: HealthcheckDependencies);
|
|
6
|
-
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response
|
|
7
|
-
status: import("./healthcheck.handler").HealthcheckStatusEnum;
|
|
8
|
-
code: (typeof import("./healthcheck.handler").HealthcheckStatusCode)[keyof typeof import("./healthcheck.handler").HealthcheckStatusCode];
|
|
9
|
-
deployment: {
|
|
10
|
-
version: string;
|
|
11
|
-
timestamp: import("@bgord/tools").TimestampValueType;
|
|
12
|
-
date: string;
|
|
13
|
-
sha: import("./commit-sha-value.vo").CommitShaValueType;
|
|
14
|
-
size: string;
|
|
15
|
-
environment: import("./node-env.vo").NodeEnvironmentEnum;
|
|
16
|
-
};
|
|
17
|
-
server: {
|
|
18
|
-
pid: typeof process.pid;
|
|
19
|
-
hostname: ReturnType<typeof import("node:os").hostname>;
|
|
20
|
-
cpus: import("@bgord/tools").IntegerNonNegativeType;
|
|
21
|
-
startup: import("@bgord/tools").TimestampValueType;
|
|
22
|
-
uptime: {
|
|
23
|
-
formatted: string;
|
|
24
|
-
ms: import("@bgord/tools").DurationMsType;
|
|
25
|
-
};
|
|
26
|
-
memory: {
|
|
27
|
-
total: {
|
|
28
|
-
bytes: import("@bgord/tools").Size["bytes"];
|
|
29
|
-
formatted: ReturnType<import("@bgord/tools").Size["format"]>;
|
|
30
|
-
};
|
|
31
|
-
heap: {
|
|
32
|
-
used: {
|
|
33
|
-
bytes: import("@bgord/tools").Size["bytes"];
|
|
34
|
-
formatted: ReturnType<import("@bgord/tools").Size["format"]>;
|
|
35
|
-
};
|
|
36
|
-
total: {
|
|
37
|
-
bytes: import("@bgord/tools").Size["bytes"];
|
|
38
|
-
formatted: ReturnType<import("@bgord/tools").Size["format"]>;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
eventLoop: {
|
|
43
|
-
lag: {
|
|
44
|
-
p50: import("@bgord/tools").DurationMsType;
|
|
45
|
-
p95: import("@bgord/tools").DurationMsType;
|
|
46
|
-
p99: import("@bgord/tools").DurationMsType;
|
|
47
|
-
};
|
|
48
|
-
utilization: import("./event-loop-utilization.service").EventLoopUtilizationSnapshot;
|
|
49
|
-
};
|
|
50
|
-
inFlight: import("@bgord/tools").IntegerType;
|
|
51
|
-
};
|
|
52
|
-
details: readonly {
|
|
53
|
-
label: import("./prerequisite.vo").PrerequisiteLabelType;
|
|
54
|
-
outcome: import("./prerequisite-verifier.port").PrerequisiteVerificationResult;
|
|
55
|
-
ms: import("@bgord/tools").DurationMsType;
|
|
56
|
-
}[];
|
|
57
|
-
logger?: {
|
|
58
|
-
accepted: number;
|
|
59
|
-
dropped: number;
|
|
60
|
-
deliveryFailures: number;
|
|
61
|
-
state: import("./logger-stats-provider.port").LoggerState;
|
|
62
|
-
} | undefined;
|
|
63
|
-
queue?: {
|
|
64
|
-
pending: import("@bgord/tools").IntegerNonNegativeType;
|
|
65
|
-
claimed: import("@bgord/tools").IntegerNonNegativeType;
|
|
66
|
-
completed: import("@bgord/tools").IntegerNonNegativeType;
|
|
67
|
-
failed: import("@bgord/tools").IntegerNonNegativeType;
|
|
68
|
-
oldestPending: import("@bgord/tools").TimestampValueType | null;
|
|
69
|
-
} | undefined;
|
|
70
|
-
ms: import("@bgord/tools").Duration["ms"];
|
|
71
|
-
timestamp: import("@bgord/tools").TimestampValueType;
|
|
72
|
-
}, 200 | 207 | 424, "json">>];
|
|
6
|
+
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response>];
|
|
73
7
|
}
|
|
74
8
|
//# sourceMappingURL=healthcheck-hono.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthcheck-hono.handler.d.ts","sourceRoot":"","sources":["../src/healthcheck-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAE7B,MAAM,uBAAuB,CAAC;AAI/B,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YAAY,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,EAEnE;IAED,MAAM
|
|
1
|
+
{"version":3,"file":"healthcheck-hono.handler.d.ts","sourceRoot":"","sources":["../src/healthcheck-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAE7B,MAAM,uBAAuB,CAAC;AAI/B,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YAAY,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,EAEnE;IAED,MAAM,uEAML;CACF"}
|
|
@@ -7,9 +7,9 @@ export class HealthcheckHonoHandler {
|
|
|
7
7
|
this.handler = new HealthcheckHandler(config, deps);
|
|
8
8
|
}
|
|
9
9
|
handle() {
|
|
10
|
-
return factory.createHandlers(async (
|
|
10
|
+
return factory.createHandlers(async () => {
|
|
11
11
|
const healthcheck = await this.handler.check();
|
|
12
|
-
return
|
|
12
|
+
return Response.json(healthcheck, { status: healthcheck.code });
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthcheck-hono.handler.js","sourceRoot":"","sources":["../src/healthcheck-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAGL,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAqB;IAE7C,YAAY,MAAyB,EAAE,IAA6B;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"healthcheck-hono.handler.js","sourceRoot":"","sources":["../src/healthcheck-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAGL,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAqB;IAE7C,YAAY,MAAyB,EAAE,IAA6B;QAClE,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAE/C,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-registry.adapter.js","sourceRoot":"","sources":["../src/job-registry.adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAY9E,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE,yCAAyC;IACtD,UAAU,EAAE,wCAAwC;CACrD,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACZ,GAAG,CAAiD;IAC5D,KAAK,CAAoC;IAElD,YAAY,QAAiC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,IAAwB;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,GAAY;QACnB,MAAM,IAAI,GAAI,GAAqC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc,CAAC,IAAwB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,IAAwB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"job-registry.adapter.js","sourceRoot":"","sources":["../src/job-registry.adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAY9E,MAAM,uBAAuB,GAAG;IAC9B,WAAW,EAAE,yCAAyC;IACtD,UAAU,EAAE,wCAAwC;CACrD,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACZ,GAAG,CAAiD;IAC5D,KAAK,CAAoC;IAElD,YAAY,QAAiC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,IAAwB;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,GAAY;QACnB,MAAM,IAAI,GAAI,GAAqC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,cAAc,CAAC,IAAwB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,IAAwB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEhE,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;CACF"}
|
package/dist/languages.vo.js
CHANGED
|
@@ -17,7 +17,7 @@ export class Languages {
|
|
|
17
17
|
return this.values.reduce((result, language) => ({ ...result, [language]: language }), {});
|
|
18
18
|
}
|
|
19
19
|
isSupported(value) {
|
|
20
|
-
return this.values.
|
|
20
|
+
return this.values.some((language) => language === value);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=languages.vo.js.map
|
package/dist/languages.vo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languages.vo.js","sourceRoot":"","sources":["../src/languages.vo.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,iBAAiB;IACxB,oBAAoB,EAAE,kCAAkC;CACzD,CAAC;AAEF,MAAM,OAAO,SAAS;IAET,MAAM;IACN,QAAQ;IAFnB,YACW,MAAwB,EACxB,QAAW;sBADX,MAAM;wBACN,QAAQ;QAEjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC3D,EAAkB,CACnB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAc;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"languages.vo.js","sourceRoot":"","sources":["../src/languages.vo.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,iBAAiB;IACxB,oBAAoB,EAAE,kCAAkC;CACzD,CAAC;AAEF,MAAM,OAAO,SAAS;IAET,MAAM;IACN,QAAQ;IAFnB,YACW,MAAwB,EACxB,QAAW;sBADX,MAAM;wBACN,QAAQ;QAEjB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CACvB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC3D,EAAkB,CACnB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAc;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { HandlerHonoPort } from "./handler-hono.port";
|
|
2
2
|
export declare class LivenessHonoHandler implements HandlerHonoPort {
|
|
3
3
|
private readonly handler;
|
|
4
|
-
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response
|
|
5
|
-
ok: true;
|
|
6
|
-
}, 200, "json">>];
|
|
4
|
+
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response>];
|
|
7
5
|
}
|
|
8
6
|
//# sourceMappingURL=liveness-hono.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness-hono.handler.d.ts","sourceRoot":"","sources":["../src/liveness-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,MAAM
|
|
1
|
+
{"version":3,"file":"liveness-hono.handler.d.ts","sourceRoot":"","sources":["../src/liveness-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,MAAM,uEAML;CACF"}
|
|
@@ -4,9 +4,9 @@ const factory = createFactory();
|
|
|
4
4
|
export class LivenessHonoHandler {
|
|
5
5
|
handler = new LivenessHandler();
|
|
6
6
|
handle() {
|
|
7
|
-
return factory.createHandlers(async (
|
|
7
|
+
return factory.createHandlers(async () => {
|
|
8
8
|
const { headers, ...body } = this.handler.execute();
|
|
9
|
-
return
|
|
9
|
+
return Response.json(body, { status: 200, headers });
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveness-hono.handler.js","sourceRoot":"","sources":["../src/liveness-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,mBAAmB;IACb,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IAEjD,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"liveness-hono.handler.js","sourceRoot":"","sources":["../src/liveness-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,mBAAmB;IACb,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IAEjD,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEpD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-bus-with-logger.adapter.d.ts","sourceRoot":"","sources":["../src/message-bus-with-logger.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"message-bus-with-logger.adapter.d.ts","sourceRoot":"","sources":["../src/message-bus-with-logger.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,KAAK,YAAY,CAAC,QAAQ,SAAS,OAAO,IAAI;IAAE,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEtG,qBAAa,2BAA2B,CAAC,QAAQ,SAAS,OAAO,CAAE,YAAW,cAAc,CAAC,QAAQ,CAAC;IAGxF,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyD;IAE9E,YAA6B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAI;IAEvD,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASxD;IAED,EAAE,CAAC,WAAW,SAAS,MAAM,YAAY,CAAC,QAAQ,CAAC,EACjD,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC9E,IAAI,CAEN;CACF;AAED,eAAO,MAAM,yBAAyB,oCAA8B,CAAC;AACrE,eAAO,MAAM,2BAA2B,oCAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-bus-with-logger.adapter.js","sourceRoot":"","sources":["../src/message-bus-with-logger.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,OAAO,2BAA2B;IAGT,IAAI;IAFhB,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAE9E,YAA6B,IAA4B;oBAA5B,IAAI;IAA2B,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAqB,OAAU;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU;YAClC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"message-bus-with-logger.adapter.js","sourceRoot":"","sources":["../src/message-bus-with-logger.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOnE,MAAM,OAAO,2BAA2B;IAGT,IAAI;IAFhB,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAE9E,YAA6B,IAA4B;oBAA5B,IAAI;IAA2B,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAqB,OAAU;QACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU;YAClC,QAAQ,EAAE,OAAO;YACjB,aAAa,EAAE,kBAAkB,CAAC,GAAG,EAAE;YACvC,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,EAAE,CACA,IAAiB,EACjB,OAA+E;QAE/E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC"}
|
|
@@ -3,9 +3,6 @@ import { type ReadinessConfig } from "./readiness.handler";
|
|
|
3
3
|
export declare class ReadinessHonoHandler implements HandlerHonoPort {
|
|
4
4
|
private readonly handler;
|
|
5
5
|
constructor(config: ReadinessConfig);
|
|
6
|
-
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response
|
|
7
|
-
label: import("./prerequisite.vo").PrerequisiteLabelType;
|
|
8
|
-
outcome: import("./prerequisite-verifier.port").PrerequisiteVerificationResult;
|
|
9
|
-
}[], import("./readiness.handler").ReadinessStatusCode, "json">>];
|
|
6
|
+
handle(): [import("hono/types").H<import("hono").Env, string, {}, Response>];
|
|
10
7
|
}
|
|
11
8
|
//# sourceMappingURL=readiness-hono.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness-hono.handler.d.ts","sourceRoot":"","sources":["../src/readiness-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAI7E,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C,YAAY,MAAM,EAAE,eAAe,EAElC;IAED,MAAM
|
|
1
|
+
{"version":3,"file":"readiness-hono.handler.d.ts","sourceRoot":"","sources":["../src/readiness-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAI7E,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C,YAAY,MAAM,EAAE,eAAe,EAElC;IAED,MAAM,uEAML;CACF"}
|
|
@@ -7,9 +7,9 @@ export class ReadinessHonoHandler {
|
|
|
7
7
|
this.handler = new ReadinessHandler(config);
|
|
8
8
|
}
|
|
9
9
|
handle() {
|
|
10
|
-
return factory.createHandlers(async (
|
|
10
|
+
return factory.createHandlers(async () => {
|
|
11
11
|
const result = await this.handler.check();
|
|
12
|
-
return
|
|
12
|
+
return Response.json(result.details, { status: result.code, headers: result.headers });
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness-hono.handler.js","sourceRoot":"","sources":["../src/readiness-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAwB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAmB;IAE3C,YAAY,MAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"readiness-hono.handler.js","sourceRoot":"","sources":["../src/readiness-hono.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAwB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,oBAAoB;IACd,OAAO,CAAmB;IAE3C,YAAY,MAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAE1C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context-hono.adapter.d.ts","sourceRoot":"","sources":["../src/request-context-hono.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"request-context-hono.adapter.d.ts","sourceRoot":"","sources":["../src/request-context-hono.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,qBAAa,yBAA0B,YAAW,cAAc;IAC9D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IAElD,YAAY,OAAO,EAAE,OAAO,EA8D3B;CACF"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import * as tools from "@bgord/tools";
|
|
3
3
|
import { getConnInfo } from "hono/bun";
|
|
4
4
|
import { getCookie } from "hono/cookie";
|
|
5
|
+
import { HTTPException } from "hono/http-exception";
|
|
6
|
+
import { ShieldAuthStrategyError } from "./shield-auth.strategy";
|
|
5
7
|
export class RequestContextHonoAdapter {
|
|
6
8
|
request;
|
|
7
9
|
identity;
|
|
@@ -47,6 +49,14 @@ export class RequestContextHonoAdapter {
|
|
|
47
49
|
};
|
|
48
50
|
this.identity = {
|
|
49
51
|
userId: () => context.get("user")?.id,
|
|
52
|
+
authenticatedUserId: () => {
|
|
53
|
+
const user = context.get("user");
|
|
54
|
+
if (user === undefined)
|
|
55
|
+
throw new Error(ShieldAuthStrategyError.NotAttached);
|
|
56
|
+
if (user === null)
|
|
57
|
+
throw new HTTPException(401, { message: ShieldAuthStrategyError.Rejected });
|
|
58
|
+
return user.id;
|
|
59
|
+
},
|
|
50
60
|
ip: () => context.req.header("x-real-ip") ||
|
|
51
61
|
context.req.header("x-forwarded-for")?.split(",")[0]?.trim() ||
|
|
52
62
|
getConnInfo(context).remote.address,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context-hono.adapter.js","sourceRoot":"","sources":["../src/request-context-hono.adapter.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"request-context-hono.adapter.js","sourceRoot":"","sources":["../src/request-context-hono.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export interface RequestContext {
|
|
|
19
19
|
};
|
|
20
20
|
readonly identity: {
|
|
21
21
|
userId(): UUIDType | undefined;
|
|
22
|
+
authenticatedUserId(): UUIDType;
|
|
22
23
|
ip(): string | undefined;
|
|
23
24
|
remoteIp(): string | undefined;
|
|
24
25
|
ua(): string | undefined;
|
|
@@ -107,6 +108,11 @@ export interface HasIdentityUserId {
|
|
|
107
108
|
userId(): UUIDType | undefined;
|
|
108
109
|
};
|
|
109
110
|
}
|
|
111
|
+
export interface HasIdentityAuthenticatedUserId {
|
|
112
|
+
readonly identity: {
|
|
113
|
+
authenticatedUserId(): UUIDType;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
110
116
|
export interface HasIdentityIp {
|
|
111
117
|
readonly identity: {
|
|
112
118
|
ip(): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-context.port.d.ts","sourceRoot":"","sources":["../src/request-context.port.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-context.port.d.ts","sourceRoot":"","sources":["../src/request-context.port.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export class ShieldMaintenanceHonoStrategy {
|
|
|
13
13
|
const maintenance = await this.strategy.evaluate();
|
|
14
14
|
if (!maintenance.enabled)
|
|
15
15
|
return next();
|
|
16
|
-
return
|
|
16
|
+
return Response.json(maintenance.body, { status: maintenance.code, headers: maintenance.headers });
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-maintenance-hono.strategy.js","sourceRoot":"","sources":["../src/shield-maintenance-hono.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAgC,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAExG,MAAM,OAAO,6BAA6B;IACvB,QAAQ,CAA4B;IAErD,YAAY,MAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAEnD,IAAI,CAAC,WAAW,CAAC,OAAO;gBAAE,OAAO,IAAI,EAAE,CAAC;YAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"shield-maintenance-hono.strategy.js","sourceRoot":"","sources":["../src/shield-maintenance-hono.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAgC,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAExG,MAAM,OAAO,6BAA6B;IACvB,QAAQ,CAA4B;IAErD,YAAY,MAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEjD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAEnD,IAAI,CAAC,WAAW,CAAC,OAAO;gBAAE,OAAO,IAAI,EAAE,CAAC;YAExC,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-security-hono.strategy.d.ts","sourceRoot":"","sources":["../src/shield-security-hono.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"shield-security-hono.strategy.d.ts","sourceRoot":"","sources":["../src/shield-security-hono.strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,KAAK,YAAY,GAAG;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAE7C,eAAO,MAAM,+BAA+B;IAC1C,SAAS;CACV,CAAC;AAEF,qBAAa,0BAA2B,YAAW,kBAAkB;IAKjE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAElD,YACE,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,EACtB,IAAI,EAAE,YAAY,EAGpC;IAED,MAAM,IAAI,iBAAiB,CAoC1B;CACF"}
|
|
@@ -20,18 +20,18 @@ export class ShieldSecurityHonoStrategy {
|
|
|
20
20
|
case "allow":
|
|
21
21
|
return next();
|
|
22
22
|
case "deny":
|
|
23
|
-
return
|
|
23
|
+
return new Response(action.reason, { status: action.response.status });
|
|
24
24
|
case "mirage":
|
|
25
|
-
return
|
|
25
|
+
return Response.json({}, { status: action.response.status });
|
|
26
26
|
case "delay": {
|
|
27
27
|
await this.deps.Sleeper.wait(action.duration);
|
|
28
28
|
switch (action.after.kind) {
|
|
29
29
|
case "allow":
|
|
30
30
|
return next();
|
|
31
31
|
case "deny":
|
|
32
|
-
return
|
|
32
|
+
return new Response(action.after.reason, { status: action.after.response.status });
|
|
33
33
|
case "mirage":
|
|
34
|
-
return
|
|
34
|
+
return Response.json({}, { status: action.after.response.status });
|
|
35
35
|
default:
|
|
36
36
|
throw new Error(ShieldSecurityHonoStrategyError.Unhandled);
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-security-hono.strategy.js","sourceRoot":"","sources":["../src/shield-security-hono.strategy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shield-security-hono.strategy.js","sourceRoot":"","sources":["../src/shield-security-hono.strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,SAAS,EAAE,+CAA+C;CAC3D,CAAC;AAEF,MAAM,OAAO,0BAA0B;IAKlB,IAAI;IAJN,QAAQ,CAAyB;IAElD,YACE,QAAuC,EACtB,IAAkB;oBAAlB,IAAI;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAErD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,EAAE,CAAC;YAE3B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,OAAO;oBACV,OAAO,IAAI,EAAE,CAAC;gBAEhB,KAAK,MAAM;oBACT,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEzE,KAAK,QAAQ;oBACX,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAE/D,KAAK,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAE9C,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC1B,KAAK,OAAO;4BACV,OAAO,IAAI,EAAE,CAAC;wBAEhB,KAAK,MAAM;4BACT,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBAErF,KAAK,QAAQ;4BACX,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;wBAErE;4BACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAEjD,YAAY,MAAoB,EAAE,IAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAqD,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5F,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"translations-hono.handler.js","sourceRoot":"","sources":["../src/translations-hono.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAyB;IAEjD,YAAY,MAAoB,EAAE,IAAkB;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,cAAc,CAAqD,KAAK,EAAE,CAAC,EAAE,EAAE;YAC5F,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgord/bun",
|
|
3
|
-
"version": "1.21.
|
|
3
|
+
"version": "1.21.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bartosz Gordon",
|
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@biomejs/biome": "2.5.8",
|
|
24
24
|
"@standard-schema/spec": "1.1.0",
|
|
25
|
-
"@stryker-mutator/core": "
|
|
26
|
-
"@stryker-mutator/typescript-checker": "
|
|
25
|
+
"@stryker-mutator/core": "10.0.0",
|
|
26
|
+
"@stryker-mutator/typescript-checker": "10.0.0",
|
|
27
27
|
"@types/bun": "1.3.14",
|
|
28
28
|
"@types/nodemailer": "8.0.1",
|
|
29
29
|
"@types/yazl": "3.3.1",
|
|
30
|
-
"better-auth": "1.6.
|
|
30
|
+
"better-auth": "1.6.28",
|
|
31
31
|
"cspell": "10.0.1",
|
|
32
32
|
"csv": "6.6.3",
|
|
33
|
-
"fallow": "3.
|
|
33
|
+
"fallow": "3.16.0",
|
|
34
34
|
"lefthook": "2.1.10",
|
|
35
|
-
"lockfile-lint": "5.0.
|
|
35
|
+
"lockfile-lint": "5.0.1",
|
|
36
36
|
"nodemailer": "9.0.5",
|
|
37
37
|
"publint": "0.3.23",
|
|
38
38
|
"shellcheck": "4.1.0",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"yazl": "3.3.1"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bgord/tools": "1.6.
|
|
43
|
+
"@bgord/tools": "1.6.7",
|
|
44
44
|
"emittery": "2.0.0",
|
|
45
45
|
"hono": "4.13.2",
|
|
46
46
|
"node-cache": "5.1.2"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"better-auth": "1.6.
|
|
49
|
+
"better-auth": "1.6.28",
|
|
50
50
|
"csv": "6.6.3",
|
|
51
51
|
"nodemailer": "9.0.5",
|
|
52
52
|
"yazl": "3.3.1"
|
|
@@ -18,7 +18,7 @@ export class AlertChannelCompositeAdapter implements AlertChannelPort {
|
|
|
18
18
|
|
|
19
19
|
if (results.some((result) => result.status === "fulfilled")) return;
|
|
20
20
|
|
|
21
|
-
const reasons = results.
|
|
21
|
+
const reasons = results.flatMap((result) => (result.status === "rejected" ? [result.reason] : []));
|
|
22
22
|
|
|
23
23
|
throw new AggregateError(reasons, AlertChannelCompositeError.AllFailed);
|
|
24
24
|
}
|
|
@@ -12,7 +12,7 @@ export class CacheRepositoryRedisAdapter implements CacheRepositoryPort {
|
|
|
12
12
|
async get<T>(subject: Hash): Promise<T | null> {
|
|
13
13
|
const value = await this.client.get(subject.get());
|
|
14
14
|
if (value === null) return null;
|
|
15
|
-
return JSON.parse(value)
|
|
15
|
+
return JSON.parse(value);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
async set<T>(subject: Hash, value: T): Promise<void> {
|
|
@@ -6,12 +6,12 @@ export const CryptoAesGcmError = { InvalidPayload: "aes.gcm.crypto.invalid.paylo
|
|
|
6
6
|
export class CryptoAesGcm {
|
|
7
7
|
static readonly ALGORITHM = "AES-GCM";
|
|
8
8
|
|
|
9
|
-
static async encrypt(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
);
|
|
9
|
+
static async encrypt(
|
|
10
|
+
key: CryptoKey,
|
|
11
|
+
plaintext: ArrayBuffer,
|
|
12
|
+
iv: Uint8Array<ArrayBuffer>,
|
|
13
|
+
): Promise<Uint8Array> {
|
|
14
|
+
const encrypted = await crypto.subtle.encrypt({ name: CryptoAesGcm.ALGORITHM, iv }, key, plaintext);
|
|
15
15
|
|
|
16
16
|
const ciphertext = new Uint8Array(encrypted);
|
|
17
17
|
const output = new Uint8Array(iv.length + ciphertext.length);
|
|
@@ -22,16 +22,12 @@ export class CryptoAesGcm {
|
|
|
22
22
|
return output;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
static async decrypt(key: CryptoKey, payload: Uint8Array): Promise<ArrayBuffer> {
|
|
25
|
+
static async decrypt(key: CryptoKey, payload: Uint8Array<ArrayBuffer>): Promise<ArrayBuffer> {
|
|
26
26
|
if (payload.length < EncryptionIV.LENGTH + 1) throw new Error(CryptoAesGcmError.InvalidPayload);
|
|
27
27
|
|
|
28
28
|
const iv = payload.subarray(0, EncryptionIV.LENGTH);
|
|
29
29
|
const ciphertext = payload.subarray(EncryptionIV.LENGTH);
|
|
30
30
|
|
|
31
|
-
return crypto.subtle.decrypt(
|
|
32
|
-
{ name: CryptoAesGcm.ALGORITHM, iv: iv as BufferSource },
|
|
33
|
-
key,
|
|
34
|
-
ciphertext as BufferSource,
|
|
35
|
-
);
|
|
31
|
+
return crypto.subtle.decrypt({ name: CryptoAesGcm.ALGORITHM, iv }, key, ciphertext);
|
|
36
32
|
}
|
|
37
33
|
}
|
|
@@ -25,12 +25,9 @@ export class CryptoKeyProviderFileAdapter implements CryptoKeyProviderPort {
|
|
|
25
25
|
|
|
26
26
|
const encryptionKey = EncryptionKey.fromString(content.trim());
|
|
27
27
|
|
|
28
|
-
return crypto.subtle.importKey(
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
false,
|
|
33
|
-
["encrypt", "decrypt"],
|
|
34
|
-
);
|
|
28
|
+
return crypto.subtle.importKey("raw", encryptionKey.toBytes(), { name: "AES-GCM" }, false, [
|
|
29
|
+
"encrypt",
|
|
30
|
+
"decrypt",
|
|
31
|
+
]);
|
|
35
32
|
}
|
|
36
33
|
}
|
|
@@ -8,7 +8,7 @@ export class CryptoKeyProviderMemoryAdapter implements CryptoKeyProviderPort {
|
|
|
8
8
|
async get(): Promise<CryptoKey> {
|
|
9
9
|
return crypto.subtle.importKey(
|
|
10
10
|
"raw",
|
|
11
|
-
EncryptionKey.fromString(this.ENCRYPTION_KEY_VALUE).toBytes()
|
|
11
|
+
EncryptionKey.fromString(this.ENCRYPTION_KEY_VALUE).toBytes(),
|
|
12
12
|
{ name: "AES-GCM" },
|
|
13
13
|
false,
|
|
14
14
|
["encrypt", "decrypt"],
|
package/src/encryption-iv.vo.ts
CHANGED
package/src/encryption-key.vo.ts
CHANGED
|
@@ -16,10 +16,10 @@ export class HealthcheckHonoHandler implements HandlerHonoPort {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
handle() {
|
|
19
|
-
return factory.createHandlers(async (
|
|
19
|
+
return factory.createHandlers(async () => {
|
|
20
20
|
const healthcheck = await this.handler.check();
|
|
21
21
|
|
|
22
|
-
return
|
|
22
|
+
return Response.json(healthcheck, { status: healthcheck.code });
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -53,6 +53,6 @@ export class JobRegistryAdapter<Job extends GenericJob> implements JobRegistryPo
|
|
|
53
53
|
const entry = this.map.get(name);
|
|
54
54
|
if (!entry) throw new Error(JobRegistryAdapterError.UnknownJob);
|
|
55
55
|
|
|
56
|
-
return entry.handler
|
|
56
|
+
return entry.handler;
|
|
57
57
|
}
|
|
58
58
|
}
|
package/src/languages.vo.ts
CHANGED
|
@@ -8,10 +8,10 @@ export class LivenessHonoHandler implements HandlerHonoPort {
|
|
|
8
8
|
private readonly handler = new LivenessHandler();
|
|
9
9
|
|
|
10
10
|
handle() {
|
|
11
|
-
return factory.createHandlers(async (
|
|
11
|
+
return factory.createHandlers(async () => {
|
|
12
12
|
const { headers, ...body } = this.handler.execute();
|
|
13
13
|
|
|
14
|
-
return
|
|
14
|
+
return Response.json(body, { status: 200, headers });
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CorrelationStorage } from "./correlation-storage.service";
|
|
2
|
-
import type {
|
|
2
|
+
import type { LoggerPort } from "./logger.port";
|
|
3
3
|
import type { Message, ToMessageMap } from "./message.types";
|
|
4
4
|
import type { MessageBusPort } from "./message-bus.port";
|
|
5
5
|
|
|
@@ -13,7 +13,7 @@ export class MessageBusWithLoggerAdapter<Messages extends Message> implements Me
|
|
|
13
13
|
async emit<M extends Messages>(message: M): Promise<void> {
|
|
14
14
|
this.deps.Logger.info({
|
|
15
15
|
message: `${message.name} emitted`,
|
|
16
|
-
metadata: message
|
|
16
|
+
metadata: message,
|
|
17
17
|
correlationId: CorrelationStorage.get(),
|
|
18
18
|
...this.base,
|
|
19
19
|
});
|
|
@@ -12,10 +12,10 @@ export class ReadinessHonoHandler implements HandlerHonoPort {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
handle() {
|
|
15
|
-
return factory.createHandlers(async (
|
|
15
|
+
return factory.createHandlers(async () => {
|
|
16
16
|
const result = await this.handler.check();
|
|
17
17
|
|
|
18
|
-
return
|
|
18
|
+
return Response.json(result.details, { status: result.code, headers: result.headers });
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
}
|
|
@@ -3,7 +3,9 @@ import * as tools from "@bgord/tools";
|
|
|
3
3
|
import type { Context } from "hono";
|
|
4
4
|
import { getConnInfo } from "hono/bun";
|
|
5
5
|
import { getCookie } from "hono/cookie";
|
|
6
|
+
import { HTTPException } from "hono/http-exception";
|
|
6
7
|
import type { RequestContext } from "./request-context.port";
|
|
8
|
+
import { ShieldAuthStrategyError } from "./shield-auth.strategy";
|
|
7
9
|
|
|
8
10
|
export class RequestContextHonoAdapter implements RequestContext {
|
|
9
11
|
readonly request: RequestContext["request"];
|
|
@@ -49,6 +51,13 @@ export class RequestContextHonoAdapter implements RequestContext {
|
|
|
49
51
|
|
|
50
52
|
this.identity = {
|
|
51
53
|
userId: () => context.get("user")?.id,
|
|
54
|
+
authenticatedUserId: () => {
|
|
55
|
+
const user = context.get("user");
|
|
56
|
+
|
|
57
|
+
if (user === undefined) throw new Error(ShieldAuthStrategyError.NotAttached);
|
|
58
|
+
if (user === null) throw new HTTPException(401, { message: ShieldAuthStrategyError.Rejected });
|
|
59
|
+
return user.id;
|
|
60
|
+
},
|
|
52
61
|
ip: () =>
|
|
53
62
|
context.req.header("x-real-ip") ||
|
|
54
63
|
context.req.header("x-forwarded-for")?.split(",")[0]?.trim() ||
|
|
@@ -21,6 +21,7 @@ export interface RequestContext {
|
|
|
21
21
|
|
|
22
22
|
readonly identity: {
|
|
23
23
|
userId(): UUIDType | undefined;
|
|
24
|
+
authenticatedUserId(): UUIDType;
|
|
24
25
|
ip(): string | undefined;
|
|
25
26
|
remoteIp(): string | undefined;
|
|
26
27
|
ua(): string | undefined;
|
|
@@ -93,6 +94,10 @@ export interface HasIdentityUserId {
|
|
|
93
94
|
readonly identity: { userId(): UUIDType | undefined };
|
|
94
95
|
}
|
|
95
96
|
|
|
97
|
+
export interface HasIdentityAuthenticatedUserId {
|
|
98
|
+
readonly identity: { authenticatedUserId(): UUIDType };
|
|
99
|
+
}
|
|
100
|
+
|
|
96
101
|
export interface HasIdentityIp {
|
|
97
102
|
readonly identity: { ip(): string | undefined };
|
|
98
103
|
}
|
|
@@ -20,7 +20,7 @@ export class ShieldMaintenanceHonoStrategy implements MiddlewareHonoPort {
|
|
|
20
20
|
|
|
21
21
|
if (!maintenance.enabled) return next();
|
|
22
22
|
|
|
23
|
-
return
|
|
23
|
+
return Response.json(maintenance.body, { status: maintenance.code, headers: maintenance.headers });
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { MiddlewareHandler } from "hono";
|
|
2
|
-
import type { ContentfulStatusCode } from "hono/utils/http-status";
|
|
3
2
|
import type { MiddlewareHonoPort } from "./middleware-hono.port";
|
|
4
3
|
import { RequestContextHonoAdapter } from "./request-context-hono.adapter";
|
|
5
4
|
import type { SecurityPolicy } from "./security-policy.vo";
|
|
@@ -34,10 +33,10 @@ export class ShieldSecurityHonoStrategy implements MiddlewareHonoPort {
|
|
|
34
33
|
return next();
|
|
35
34
|
|
|
36
35
|
case "deny":
|
|
37
|
-
return
|
|
36
|
+
return new Response(action.reason, { status: action.response.status });
|
|
38
37
|
|
|
39
38
|
case "mirage":
|
|
40
|
-
return
|
|
39
|
+
return Response.json({}, { status: action.response.status });
|
|
41
40
|
|
|
42
41
|
case "delay": {
|
|
43
42
|
await this.deps.Sleeper.wait(action.duration);
|
|
@@ -47,10 +46,10 @@ export class ShieldSecurityHonoStrategy implements MiddlewareHonoPort {
|
|
|
47
46
|
return next();
|
|
48
47
|
|
|
49
48
|
case "deny":
|
|
50
|
-
return
|
|
49
|
+
return new Response(action.after.reason, { status: action.after.response.status });
|
|
51
50
|
|
|
52
51
|
case "mirage":
|
|
53
|
-
return
|
|
52
|
+
return Response.json({}, { status: action.after.response.status });
|
|
54
53
|
|
|
55
54
|
default:
|
|
56
55
|
throw new Error(ShieldSecurityHonoStrategyError.Unhandled);
|