@meebon/meebon-crypto 1.3.0 → 1.4.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.
@@ -1,4 +1,4 @@
1
- import { RequestHandler } from 'express';
1
+ import { Request, Response, NextFunction, RequestHandler } from 'express';
2
2
  import { MeebonCryptoKeyPair } from '../types/global';
3
3
  /**
4
4
  * Middleware to encrypt response bodies if the request header 'x-require-encryption' is present.
@@ -38,6 +38,6 @@ declare function encryptionMiddleware({ publicKey }: Omit<MeebonCryptoKeyPair, "
38
38
  * @param {string} param.privateKey - The private key used for decryption.
39
39
  * @returns {RequestHandler} The middleware function.
40
40
  */
41
- declare function decryptMiddleware({ privateKey }: Omit<MeebonCryptoKeyPair, "publicKey">): RequestHandler;
41
+ declare function decryptMiddleware({ privateKey }: Omit<MeebonCryptoKeyPair, "publicKey">): (req: Request, res: Response, next: NextFunction) => void;
42
42
  export { encryptionMiddleware, decryptMiddleware };
43
43
  //# sourceMappingURL=ExpressEncryptionMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressEncryptionMiddleware.d.ts","sourceRoot":"","sources":["../lib/ExpressEncryptionMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,cAAc,CA0BpG;AAID;;;;;;;;;;;;GAYG;AACH,iBAAS,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,cAAc,CAYjG;AAED,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"ExpressEncryptionMiddleware.d.ts","sourceRoot":"","sources":["../lib/ExpressEncryptionMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAqC,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,cAAc,CAkBpG;AAID;;;;;;;;;;;;GAYG;AACH,iBAAS,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,IACvE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,UAWxD;AAED,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -84,31 +84,23 @@ function encryptionMiddleware({ publicKey }) {
84
84
  const originalSend = res.send.bind(res);
85
85
  const originalJson = res.json.bind(res);
86
86
  res.send = function(body) {
87
- if (req.headers["x-require-encryption"]) {
88
- let bodyString = typeof body === "object" ? JSON.stringify(body) : body.toString();
89
- const encryptedBody = MeebonCrypto.encryptData(bodyString, publicKey);
90
- res.set("Content-Type", "text/plain");
91
- return originalSend(encryptedBody);
92
- } else {
93
- return originalSend(body);
94
- }
87
+ let bodyString = typeof body === "object" ? JSON.stringify(body) : body.toString();
88
+ const encryptedBody = MeebonCrypto.encryptData(bodyString, publicKey);
89
+ res.set("Content-Type", "text/plain");
90
+ return originalSend(encryptedBody);
95
91
  };
96
92
  res.json = function(body) {
97
- if (req.headers["x-require-encryption"]) {
98
- const bodyString = JSON.stringify(body);
99
- const encryptedBody = MeebonCrypto.encryptData(bodyString, publicKey);
100
- res.set("Content-Type", "text/plain");
101
- return originalSend(encryptedBody);
102
- } else {
103
- return originalJson(body);
104
- }
93
+ const bodyString = JSON.stringify(body);
94
+ const encryptedBody = MeebonCrypto.encryptData(bodyString, publicKey);
95
+ res.set("Content-Type", "text/plain");
96
+ return originalSend(encryptedBody);
105
97
  };
106
98
  next();
107
99
  };
108
100
  }
109
101
  function decryptMiddleware({ privateKey }) {
110
102
  return (req, res, next) => {
111
- if (req.headers["x-encrypted"] && typeof req.body === "string") {
103
+ if (typeof req.body === "string") {
112
104
  try {
113
105
  const decryptedText = MeebonCrypto.decryptData(req.body, privateKey);
114
106
  req.body = JSON.parse(decryptedText);
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@meebon/meebon-crypto",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "",
5
5
  "author": "kajalanS <103587022+kajalanS@users.noreply.github.com>",
6
6
  "homepage": "https://github.com/KsoftmHub/meebon-crypto?tab=readme-ov-file#getting-started",
7
7
  "license": "MIT",
8
8
  "main": "dist/index.js",
9
9
  "type": "module",
10
- "types": "types",
10
+ "types": "dist/index.d.ts",
11
11
  "directories": {
12
12
  "lib": "lib",
13
13
  "tests": "tests",
package/types/global.d.ts CHANGED
@@ -10,3 +10,11 @@ export interface MeebonCryptoKeyPair {
10
10
  privateKey: string;
11
11
  publicKey: string;
12
12
  }
13
+
14
+ export interface IDecryptRequest extends Request {
15
+ decrypt: (data: any) => any;
16
+ }
17
+
18
+ export interface IEncryptResponse extends Response {
19
+ encrypt: (data: any) => any;
20
+ }