itrm-tools 1.3.52 → 1.3.54

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.
@@ -0,0 +1,13 @@
1
+ export declare class EncryptService {
2
+ private readonly dek;
3
+ private readonly searchSalt;
4
+ private static instance;
5
+ private readonly ALGORITHM;
6
+ private constructor();
7
+ static initialize(dek: Buffer, searchSalt: string): EncryptService;
8
+ static getInstance(): EncryptService;
9
+ encrypt(plaintext: string): string;
10
+ decrypt(cipherPayload: string): string;
11
+ private canBeDecrypted;
12
+ generateBlindIndex(value: string): string;
13
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EncryptService = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ class EncryptService {
9
+ dek;
10
+ searchSalt;
11
+ static instance;
12
+ ALGORITHM = "aes-256-gcm";
13
+ constructor(dek, searchSalt) {
14
+ this.dek = dek;
15
+ this.searchSalt = searchSalt;
16
+ }
17
+ static initialize(dek, searchSalt) {
18
+ if (!EncryptService.instance)
19
+ EncryptService.instance = new EncryptService(dek, searchSalt);
20
+ return EncryptService.instance;
21
+ }
22
+ static getInstance() {
23
+ if (!EncryptService.instance)
24
+ throw new Error("EncryptService no ha sido inicializado.");
25
+ return EncryptService.instance;
26
+ }
27
+ encrypt(plaintext) {
28
+ const iv = crypto_1.default.randomBytes(12);
29
+ const cipher = crypto_1.default.createCipheriv(this.ALGORITHM, this.dek, iv, { authTagLength: 16 });
30
+ let encrypted = cipher.update(plaintext, "utf8", "hex");
31
+ encrypted += cipher.final("hex");
32
+ const authTag = cipher.getAuthTag().toString("hex");
33
+ return `v1:${iv.toString("hex")}:${authTag}:${encrypted}`;
34
+ }
35
+ decrypt(cipherPayload) {
36
+ if (this.canBeDecrypted(cipherPayload)) {
37
+ const [version, ivHex, authTagHex, ciphertextHex] = cipherPayload.split(":");
38
+ if (version === "v1") {
39
+ const cipher = crypto_1.default.createDecipheriv(this.ALGORITHM, this.dek, Buffer.from(ivHex, "hex"), { authTagLength: 16 });
40
+ cipher.setAuthTag(Buffer.from(authTagHex, "hex"));
41
+ let decrypted = cipher.update(ciphertextHex, "hex", "utf8");
42
+ decrypted += cipher.final("utf8");
43
+ return decrypted;
44
+ }
45
+ else
46
+ throw new Error("Versión de cifrado no soportada.");
47
+ }
48
+ return cipherPayload;
49
+ }
50
+ canBeDecrypted(cipherPayload) {
51
+ return cipherPayload != undefined && typeof cipherPayload === "string" && cipherPayload.startsWith("v1:");
52
+ }
53
+ generateBlindIndex(value) {
54
+ if (!value)
55
+ return "";
56
+ return crypto_1.default
57
+ .createHmac("sha256", this.searchSalt)
58
+ .update(value.trim().toLowerCase())
59
+ .digest("hex");
60
+ }
61
+ }
62
+ exports.EncryptService = EncryptService;
63
+ //# sourceMappingURL=Encrypt.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Encrypt.service.js","sourceRoot":"","sources":["../../../src/cryptography/kms/Encrypt.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function fetchUnencryptedDEK(keyName: string, encryptedDekBase64: string): Promise<Buffer>;
2
+ export declare function decryptJSON(rawValue: any): any;
3
+ export declare function decryptString(rawValue: any): string | null;
4
+ export declare function encryptValue(value: any): string;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchUnencryptedDEK = fetchUnencryptedDEK;
4
+ exports.decryptJSON = decryptJSON;
5
+ exports.decryptString = decryptString;
6
+ exports.encryptValue = encryptValue;
7
+ const kms_1 = require("@google-cloud/kms");
8
+ const Encrypt_service_1 = require("./Encrypt.service");
9
+ const kmsClient = new kms_1.KeyManagementServiceClient();
10
+ async function fetchUnencryptedDEK(keyName, encryptedDekBase64) {
11
+ if (keyName && encryptedDekBase64) {
12
+ const ciphertext = Buffer.from(encryptedDekBase64, "base64");
13
+ const [decryptResponse] = await kmsClient.decrypt({
14
+ name: keyName,
15
+ ciphertext: ciphertext,
16
+ });
17
+ if (decryptResponse.plaintext)
18
+ return Buffer.from(decryptResponse.plaintext);
19
+ throw new Error("No se pudo desencriptar la DEK utilizando GCP KMS.");
20
+ }
21
+ throw new Error("GCP_KMS_KEY_NAME o ENCRYPTED_DEK_BASE64 faltantes.");
22
+ }
23
+ function decryptJSON(rawValue) {
24
+ if (rawValue) {
25
+ const decrypted = Encrypt_service_1.EncryptService.getInstance().decrypt(rawValue);
26
+ try {
27
+ return JSON.parse(decrypted);
28
+ }
29
+ catch {
30
+ return decrypted;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ function decryptString(rawValue) {
36
+ return rawValue ? Encrypt_service_1.EncryptService.getInstance().decrypt(rawValue) : null;
37
+ }
38
+ function encryptValue(value) {
39
+ const strValue = typeof value === "string" ? value : JSON.stringify(value);
40
+ return Encrypt_service_1.EncryptService.getInstance().encrypt(strValue);
41
+ }
42
+ //# sourceMappingURL=Kms.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kms.service.js","sourceRoot":"","sources":["../../../src/cryptography/kms/Kms.service.ts"],"names":[],"mappings":";;AAKA,kDAiBC;AAED,kCAUC;AAED,sCAEC;AAED,oCAGC;AA3CD,2CAA+D;AAC/D,uDAAmD;AAEnD,MAAM,SAAS,GAAG,IAAI,gCAA0B,EAAE,CAAC;AAE5C,KAAK,UAAU,mBAAmB,CACrC,OAAe,EACf,kBAA0B;IAE1B,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7D,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;YAC9C,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,SAAS;YACzB,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,SAAuB,CAAC,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,WAAW,CAAC,QAAa;IACrC,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,gCAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa,CAAC,QAAa;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,gCAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAgB,YAAY,CAAC,KAAU;IACnC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,gCAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BelongsToManyOptions, BelongsToOptions, CountOptions, DestroyOptions, FindOptions, HasManyOptions, HasOneOptions, ModelAttributes, ModelOptions, UpdateOptions } from "@sequelize/core";
1
+ import { BelongsToManyOptions, BelongsToOptions, BulkCreateOptions, CountOptions, CreateOptions, DestroyOptions, FindOptions, HasManyOptions, HasOneOptions, ModelAttributes, ModelOptions, UpdateOptions } from "@sequelize/core";
2
2
  import { SequelizeConnection } from "./SequelizeConnection";
3
3
  export declare interface ModelDefinition {
4
4
  name: string;
@@ -11,8 +11,8 @@ export declare class SequelizeModelManager<S> {
11
11
  constructor(definition: ModelDefinition);
12
12
  define(connection: SequelizeConnection): Promise<import("@sequelize/core").ModelStatic<import("@sequelize/core").Model<any, any>>>;
13
13
  sync(syncOptions?: any): any;
14
- create(values: S): any;
15
- bulkCreate(values: S[]): any;
14
+ create(values: S, options?: CreateOptions): any;
15
+ bulkCreate(values: S[], options?: BulkCreateOptions): any;
16
16
  findAll(options?: FindOptions): any;
17
17
  findAndCountAll(options?: FindOptions): any;
18
18
  count(options?: Omit<CountOptions<any>, "group">): any;
@@ -15,11 +15,11 @@ class SequelizeModelManager {
15
15
  sync(syncOptions) {
16
16
  return this.model.sync(syncOptions);
17
17
  }
18
- create(values) {
19
- return this.model.create(values);
18
+ create(values, options) {
19
+ return this.model.create(values, options);
20
20
  }
21
- bulkCreate(values) {
22
- return this.model.bulkCreate(values);
21
+ bulkCreate(values, options) {
22
+ return this.model.bulkCreate(values, { individualHooks: true, ...options });
23
23
  }
24
24
  findAll(options) {
25
25
  return this.model.findAll(options);
@@ -31,7 +31,7 @@ class SequelizeModelManager {
31
31
  return this.model.count(options);
32
32
  }
33
33
  update(values, options) {
34
- return this.model.update(values, options);
34
+ return this.model.update(values, { individualHooks: true, ...options });
35
35
  }
36
36
  destroy(options) {
37
37
  return this.model.destroy(options);
@@ -1 +1 @@
1
- {"version":3,"file":"SequelizeModelManager.js","sourceRoot":"","sources":["../../../src/database/sequelize/SequelizeModelManager.ts"],"names":[],"mappings":";;;AASA,MAAa,qBAAqB;IACtB,UAAU,CAAkB;IAC7B,KAAK,CAAM;IAElB,YAAY,UAA2B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,UAA+B;QAC/C,IAAI,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,WAAiB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,MAAS;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAEM,UAAU,CAAC,MAAW;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,OAAqB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,eAAe,CAAC,OAAqB;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,OAA0C;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,MAA6B,EAAE,OAAsB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,OAAwB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,OAAmC,EAAE,OAAuC;QACtF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,OAAO,CAAC,OAAmC,EAAE,OAAwC;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,SAAS,CAAC,OAAmC,EAAE,OAA0C;QAC5F,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAEM,aAAa,CAAC,OAAmC,EAAE,OAA8B;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACJ;AA7DD,sDA6DC"}
1
+ {"version":3,"file":"SequelizeModelManager.js","sourceRoot":"","sources":["../../../src/database/sequelize/SequelizeModelManager.ts"],"names":[],"mappings":";;;AASA,MAAa,qBAAqB;IACtB,UAAU,CAAkB;IAC7B,KAAK,CAAM;IAElB,YAAY,UAA2B;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,UAA+B;QAC/C,IAAI,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,WAAiB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,MAAS,EAAE,OAAuB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,UAAU,CAAC,MAAW,EAAE,OAA2B;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAEM,OAAO,CAAC,OAAqB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,eAAe,CAAC,OAAqB;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,OAA0C;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,MAA6B,EAAE,OAAsB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,OAAO,CAAC,OAAwB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,OAAmC,EAAE,OAAuC;QACtF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAEM,OAAO,CAAC,OAAmC,EAAE,OAAwC;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,SAAS,CAAC,OAAmC,EAAE,OAA0C;QAC5F,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAEM,aAAa,CAAC,OAAmC,EAAE,OAA8B;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACJ;AA7DD,sDA6DC"}
package/dist/index.d.ts CHANGED
@@ -52,6 +52,8 @@ export { KindOfPersonManager as KindOfPersonManager, IKindOfPerson as IKindOfPer
52
52
  export { WebhookManager as WebhookManager, IWebhook as IWebhook, IWebhookSearchDetails as IWebhookSearchDetails } from './api/request/crud/common/WebhookManager';
53
53
  export { CrudManager as CrudManager } from './api/request/crud/CrudManager';
54
54
  export { CrudServiceManager as CrudServiceManager, StandardIdRequestDefinition as StandardIdRequestDefinition } from './api/request/crud/CrudServiceManager';
55
+ export { EncryptService as EncryptService } from './cryptography/kms/Encrypt.service';
56
+ export { fetchUnencryptedDEK as fetchUnencryptedDEK, decryptJSON as decryptJSON, decryptString as decryptString, encryptValue as encryptValue } from './cryptography/kms/Kms.service';
55
57
  export { CipheringAlgorithm as CipheringAlgorithm } from './cryptography/CipheringAlgorithm';
56
58
  export { EncryptionAlgorithm as EncryptionAlgorithm } from './cryptography/EncryptionAlgorithm';
57
59
  export { Signer as Signer } from './cryptography/Signer';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ServiceSessionManager = exports.UserManager = exports.UserCredentialsManager = exports.TypeManager = exports.StatusManager = exports.RoleManager = exports.PlatformManager = exports.KeyManager = exports.ComponentManager = exports.AvailablePlatformManager = exports.ApplicationManager = exports.ActivityHistoryManager = exports.QueueManager = exports.SimpleCheckableAPIRouter = exports.CorsCheckApiRouter = exports.CheckableAPIRouter = exports.CheckableFileUploadingPostRequest = exports.CheckablePutRequest = exports.CheckablePostRequest = exports.CheckableGetRequest = exports.CheckableDeleteRequest = exports.APIChecker = exports.CheckableAPIRequest = exports.DeleteRequest = exports.PutRequest = exports.PostRequest = exports.GetRequest = exports.RequestAxiosCall = exports.SimpleAPIRouter = exports.APIRouter = exports.APIRequestBuilder = exports.RequestParameterType = exports.RequestContext = exports.RequestMethod = exports.APIRequest = exports.ExternalApiConnection = exports.ExpressFileUploadingConfiguration = exports.ExpressStandardConfiguration = exports.ExpressCookieParserConfiguration = exports.ExpressLogableConfig = exports.StandardGetRequestBuilder = exports.HttpsAPIService = exports.ITRMAPIServiceGlobal = exports.APIService = exports.buildQuery = exports.HttpCode = exports.mapErrorCodeToHttpStatus = exports.ResponseUtils = exports.ApiServiceError = exports.AlegraConnectionManager = void 0;
4
- exports.BrebApiConnection = exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.JwtUtils = exports.PasswordUtils = exports.ApiKeySigner = exports.StandardApiKeyGenerator = exports.requestSecretKey = exports.encryptEnvFile = exports.deriveKey = exports.decodeEnvVars = exports.decodeEnvFile = exports.GcmInvalidKeyError = exports.GcmFormatError = exports.GcmAuthTagError = exports.GcmCipheringAlgorithm = exports.AesCipheringAlgorithm = exports.CrudServiceManager = exports.WebhookManager = exports.KindOfPersonManager = exports.IdentificationTypeManager = exports.CityManager = exports.DepartmentManager = exports.CountryManager = void 0;
4
+ exports.BrebApiConnection = exports.PAYMENT_TYPES = exports.DOCUMENT_TYPES = exports.BANKS = exports.round = exports.CoingeckoPriceFinder = exports.Coin = exports.LoggerWebSocket = exports.LoggerManager = exports.Logger = exports.SequelizeModelManager = exports.SequelizeConnection = exports.MongooseModelManager = exports.JwtUtils = exports.PasswordUtils = exports.ApiKeySigner = exports.StandardApiKeyGenerator = exports.requestSecretKey = exports.encryptEnvFile = exports.deriveKey = exports.decodeEnvVars = exports.decodeEnvFile = exports.GcmInvalidKeyError = exports.GcmFormatError = exports.GcmAuthTagError = exports.GcmCipheringAlgorithm = exports.AesCipheringAlgorithm = exports.encryptValue = exports.decryptString = exports.decryptJSON = exports.fetchUnencryptedDEK = exports.EncryptService = exports.CrudServiceManager = exports.WebhookManager = exports.KindOfPersonManager = exports.IdentificationTypeManager = exports.CityManager = exports.DepartmentManager = exports.CountryManager = void 0;
5
5
  var AlegraConnectionManager_1 = require("./api/alegra/AlegraConnectionManager");
6
6
  Object.defineProperty(exports, "AlegraConnectionManager", { enumerable: true, get: function () { return AlegraConnectionManager_1.AlegraConnectionManager; } });
7
7
  var Response_1 = require("./api/utils/Response");
@@ -109,6 +109,13 @@ var WebhookManager_1 = require("./api/request/crud/common/WebhookManager");
109
109
  Object.defineProperty(exports, "WebhookManager", { enumerable: true, get: function () { return WebhookManager_1.WebhookManager; } });
110
110
  var CrudServiceManager_1 = require("./api/request/crud/CrudServiceManager");
111
111
  Object.defineProperty(exports, "CrudServiceManager", { enumerable: true, get: function () { return CrudServiceManager_1.CrudServiceManager; } });
112
+ var Encrypt_service_1 = require("./cryptography/kms/Encrypt.service");
113
+ Object.defineProperty(exports, "EncryptService", { enumerable: true, get: function () { return Encrypt_service_1.EncryptService; } });
114
+ var Kms_service_1 = require("./cryptography/kms/Kms.service");
115
+ Object.defineProperty(exports, "fetchUnencryptedDEK", { enumerable: true, get: function () { return Kms_service_1.fetchUnencryptedDEK; } });
116
+ Object.defineProperty(exports, "decryptJSON", { enumerable: true, get: function () { return Kms_service_1.decryptJSON; } });
117
+ Object.defineProperty(exports, "decryptString", { enumerable: true, get: function () { return Kms_service_1.decryptString; } });
118
+ Object.defineProperty(exports, "encryptValue", { enumerable: true, get: function () { return Kms_service_1.encryptValue; } });
112
119
  var AesCipheringAlgorithm_1 = require("./cryptography/algorithm/AesCipheringAlgorithm");
113
120
  Object.defineProperty(exports, "AesCipheringAlgorithm", { enumerable: true, get: function () { return AesCipheringAlgorithm_1.AesCipheringAlgorithm; } });
114
121
  var GcmCipheringAlgorithm_1 = require("./cryptography/algorithm/GcmCipheringAlgorithm");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "itrm-tools",
3
- "version": "1.3.52",
3
+ "version": "1.3.54",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -46,7 +46,7 @@
46
46
  "@types/mocha": "^10.0.10",
47
47
  "@types/morgan": "^1.9.10",
48
48
  "@types/multer": "^2.2.0",
49
- "@types/node": "^26.1.2",
49
+ "@types/node": "^26.5.1",
50
50
  "@types/swagger-ui-express": "^4.1.8",
51
51
  "@types/uuid": "^10.0.0",
52
52
  "@types/ws": "^8.18.1",
@@ -63,6 +63,7 @@
63
63
  "typescript": "^6.0.3"
64
64
  },
65
65
  "dependencies": {
66
+ "@google-cloud/kms": "^6.1.0",
66
67
  "@scalar/express-api-reference": "^0.10.11",
67
68
  "@sequelize/core": "^7.0.0-alpha.48",
68
69
  "axios": "^1.18.1",