@autologix-engineering/shared 1.0.848 → 1.0.850

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/package.json +1 -1
  2. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.d.ts +50 -0
  3. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js +218 -0
  4. package/src/lib/data-transfer-objects/src/create.update.ba.contract.dto.js.map +1 -0
  5. package/src/lib/data-transfer-objects/src/get.avis.customer.dto.d.ts +5 -0
  6. package/src/lib/data-transfer-objects/src/get.avis.customer.dto.js +17 -0
  7. package/src/lib/data-transfer-objects/src/get.avis.customer.dto.js.map +1 -0
  8. package/src/lib/data-transfer-objects/src/get.ba.contracts.dto.d.ts +1 -1
  9. package/src/lib/data-transfer-objects/src/get.ba.contracts.dto.js +1 -1
  10. package/src/lib/data-transfer-objects/src/get.ba.contracts.dto.js.map +1 -1
  11. package/src/lib/data-transfer-objects/src/get.vehicle.rates.invalid.rows.dto.d.ts +5 -0
  12. package/src/lib/data-transfer-objects/src/get.vehicle.rates.invalid.rows.dto.js +16 -0
  13. package/src/lib/data-transfer-objects/src/get.vehicle.rates.invalid.rows.dto.js.map +1 -0
  14. package/src/lib/data-transfer-objects/src/get.vehicle.rates.upload.template.dto.d.ts +4 -0
  15. package/src/lib/data-transfer-objects/src/get.vehicle.rates.upload.template.dto.js +12 -0
  16. package/src/lib/data-transfer-objects/src/get.vehicle.rates.upload.template.dto.js.map +1 -0
  17. package/src/lib/data-transfer-objects/src/index.d.ts +4 -0
  18. package/src/lib/data-transfer-objects/src/index.js +4 -0
  19. package/src/lib/data-transfer-objects/src/index.js.map +1 -1
  20. package/src/lib/enums/src/command.type.enum.d.ts +3 -0
  21. package/src/lib/enums/src/command.type.enum.js +3 -0
  22. package/src/lib/enums/src/command.type.enum.js.map +1 -1
  23. package/src/lib/enums/src/model.enum.d.ts +1 -0
  24. package/src/lib/enums/src/model.enum.js +1 -0
  25. package/src/lib/enums/src/model.enum.js.map +1 -1
  26. package/src/lib/enums/src/query.type.enum.d.ts +3 -0
  27. package/src/lib/enums/src/query.type.enum.js +3 -0
  28. package/src/lib/enums/src/query.type.enum.js.map +1 -1
  29. package/src/lib/models/src/ba.contract.model.d.ts +10 -2
  30. package/src/lib/models/src/ba.contract.model.js +6 -1
  31. package/src/lib/models/src/ba.contract.model.js.map +1 -1
  32. package/src/lib/models/src/business.associate.model.d.ts +1 -1
  33. package/src/lib/models/src/ccavenue.configuration.model.d.ts +26 -0
  34. package/src/lib/models/src/ccavenue.configuration.model.js +11 -0
  35. package/src/lib/models/src/ccavenue.configuration.model.js.map +1 -0
  36. package/src/lib/models/src/index.d.ts +1 -0
  37. package/src/lib/models/src/index.js +1 -0
  38. package/src/lib/models/src/index.js.map +1 -1
  39. package/src/lib/models/src/instant.invoice.body.model.d.ts +6 -2
  40. package/src/lib/models/src/instant.invoice.body.model.js +2 -0
  41. package/src/lib/models/src/instant.invoice.body.model.js.map +1 -1
  42. package/src/lib/models/src/payment.profile.model.d.ts +5 -0
  43. package/src/lib/models/src/payment.profile.model.js +2 -0
  44. package/src/lib/models/src/payment.profile.model.js.map +1 -1
  45. package/src/lib/models/src/vendor.knock.off.model.d.ts +5 -1
  46. package/src/lib/models/src/vendor.knock.off.model.js +2 -0
  47. package/src/lib/models/src/vendor.knock.off.model.js.map +1 -1
  48. package/src/lib/routes/src/command.registry.routes.d.ts +3 -0
  49. package/src/lib/routes/src/command.registry.routes.js +3 -0
  50. package/src/lib/routes/src/command.registry.routes.js.map +1 -1
  51. package/src/lib/routes/src/query.service.routes.d.ts +3 -0
  52. package/src/lib/routes/src/query.service.routes.js +3 -0
  53. package/src/lib/routes/src/query.service.routes.js.map +1 -1
  54. package/src/lib/utilities/src/aes.encryption.d.ts +5 -0
  55. package/src/lib/utilities/src/aes.encryption.js +72 -0
  56. package/src/lib/utilities/src/aes.encryption.js.map +1 -0
  57. package/src/lib/utilities/src/index.d.ts +1 -0
  58. package/src/lib/utilities/src/index.js +1 -0
  59. package/src/lib/utilities/src/index.js.map +1 -1
@@ -0,0 +1,72 @@
1
+ import { createCipheriv, createDecipheriv, createHash, randomBytes } from 'crypto';
2
+ const AES_128_CBC_ALGORITHM = 'aes-128-cbc';
3
+ const AES_256_GCM_ALGORITHM = 'aes-256-gcm';
4
+ const AES_256_GCM_IV_LENGTH = 12;
5
+ const AES_256_GCM_AUTH_TAG_LENGTH = 16;
6
+ export const DEFAULT_AES_128_CBC_IV = '\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f';
7
+ const bufferToUint8Array = (buffer) => Uint8Array.from(buffer);
8
+ const concatUint8Arrays = (chunks) => {
9
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
10
+ const combined = new Uint8Array(totalLength);
11
+ let offset = 0;
12
+ for (const chunk of chunks) {
13
+ combined.set(chunk, offset);
14
+ offset += chunk.length;
15
+ }
16
+ return combined;
17
+ };
18
+ const md5HashEncryptionKey = (key) => {
19
+ // the ccavenue documentation does not say why this was required
20
+ // but it was required to get the encryption to work using other open source libraries as a reference
21
+ const m = createHash('md5');
22
+ m.update(key);
23
+ return bufferToUint8Array(m.digest());
24
+ };
25
+ const normalizeAES256Key = (key) => {
26
+ const keyBuffer = Buffer.from(key, 'utf8');
27
+ if (keyBuffer.length !== 32) {
28
+ throw new Error('AES-256-GCM key must be 32 bytes.');
29
+ }
30
+ return bufferToUint8Array(keyBuffer);
31
+ };
32
+ export const encryptAES128CBC = (plainText, key) => {
33
+ const cipher = createCipheriv(AES_128_CBC_ALGORITHM, md5HashEncryptionKey(key), DEFAULT_AES_128_CBC_IV);
34
+ let encrypted = cipher.update(plainText, 'utf8', 'hex');
35
+ encrypted += cipher.final('hex');
36
+ return encrypted;
37
+ };
38
+ export const decryptAES128CBC = (cipherText, key) => {
39
+ const decipher = createDecipheriv(AES_128_CBC_ALGORITHM, md5HashEncryptionKey(key), DEFAULT_AES_128_CBC_IV);
40
+ let decrypted = decipher.update(cipherText, 'hex', 'utf8');
41
+ decrypted += decipher.final('utf8');
42
+ return decrypted;
43
+ };
44
+ export const encryptAES256GCM = (plainText, key) => {
45
+ const iv = bufferToUint8Array(randomBytes(AES_256_GCM_IV_LENGTH));
46
+ const cipher = createCipheriv(AES_256_GCM_ALGORITHM, normalizeAES256Key(key), iv);
47
+ const cipherText = concatUint8Arrays([
48
+ bufferToUint8Array(cipher.update(plainText, 'utf8')),
49
+ bufferToUint8Array(cipher.final())
50
+ ]);
51
+ const authTag = bufferToUint8Array(cipher.getAuthTag());
52
+ const payload = concatUint8Arrays([iv, cipherText, authTag]);
53
+ return Buffer.from(payload).toString('base64');
54
+ };
55
+ export const decryptAES256GCM = (cipherText, key) => {
56
+ const payload = bufferToUint8Array(Buffer.from(cipherText, 'base64'));
57
+ if (payload.length <= AES_256_GCM_IV_LENGTH + AES_256_GCM_AUTH_TAG_LENGTH) {
58
+ throw new Error('Invalid ciphertext');
59
+ }
60
+ const iv = payload.subarray(0, AES_256_GCM_IV_LENGTH);
61
+ const cipherTextLength = payload.length - AES_256_GCM_IV_LENGTH - AES_256_GCM_AUTH_TAG_LENGTH;
62
+ const encryptedBuffer = payload.subarray(AES_256_GCM_IV_LENGTH, AES_256_GCM_IV_LENGTH + cipherTextLength);
63
+ const authTag = payload.subarray(AES_256_GCM_IV_LENGTH + cipherTextLength);
64
+ const decipher = createDecipheriv(AES_256_GCM_ALGORITHM, normalizeAES256Key(key), iv);
65
+ decipher.setAuthTag(authTag);
66
+ const decrypted = concatUint8Arrays([
67
+ bufferToUint8Array(decipher.update(encryptedBuffer)),
68
+ bufferToUint8Array(decipher.final())
69
+ ]);
70
+ return Buffer.from(decrypted).toString('utf8');
71
+ };
72
+ //# sourceMappingURL=aes.encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aes.encryption.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/aes.encryption.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export * from './formatdate.date';
12
12
  export * from './generatetodaydateWithcustomTime';
13
13
  export * from './prepare.random.request.numer';
14
14
  export * from './validate.password.regex';
15
+ export * from './aes.encryption';
@@ -12,4 +12,5 @@ export * from './formatdate.date';
12
12
  export * from './generatetodaydateWithcustomTime';
13
13
  export * from './prepare.random.request.numer';
14
14
  export * from './validate.password.regex';
15
+ export * from './aes.encryption';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/shared/src/lib/utilities/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}