mblabs-roccato-backend-commons 1.0.7 → 1.1.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.
Files changed (95) hide show
  1. package/bitbucket-pipelines.yml +6 -48
  2. package/dist/database/entities/account.d.ts +1 -2
  3. package/dist/database/entities/account.js +2 -7
  4. package/dist/database/entities/address.d.ts +2 -1
  5. package/dist/database/entities/address.js +6 -5
  6. package/dist/database/entities/company-address.d.ts +2 -0
  7. package/dist/database/entities/company-address.js +7 -0
  8. package/dist/database/migrations/1748448589934-CreateAccountsTable.js +1 -6
  9. package/dist/database/migrations/1750432386920-CreateAddressTable.js +0 -5
  10. package/dist/database/migrations/index.js +0 -4
  11. package/dist/interfaces/aws.d.ts +41 -67
  12. package/dist/interfaces/azure.d.ts +38 -61
  13. package/dist/interfaces/firebase.d.ts +3 -7
  14. package/dist/interfaces/gcp.d.ts +5 -11
  15. package/dist/interfaces/grafana.d.ts +2 -6
  16. package/dist/interfaces/keycloak.d.ts +4 -171
  17. package/dist/interfaces/nodemailer.d.ts +16 -20
  18. package/dist/interfaces/redis.d.ts +8 -49
  19. package/dist/interfaces/sendgrid.d.ts +13 -15
  20. package/dist/services/aws/cloudwatch.d.ts +1 -1
  21. package/dist/services/aws/cloudwatch.js +38 -38
  22. package/dist/services/aws/pinpoint.d.ts +3 -3
  23. package/dist/services/aws/pinpoint.js +29 -29
  24. package/dist/services/aws/s3.d.ts +5 -5
  25. package/dist/services/aws/s3.js +55 -59
  26. package/dist/services/aws/secret-manager.d.ts +1 -1
  27. package/dist/services/aws/secret-manager.js +5 -5
  28. package/dist/services/aws/sqs.d.ts +3 -3
  29. package/dist/services/aws/sqs.js +16 -16
  30. package/dist/services/azure/application-insights.d.ts +4 -4
  31. package/dist/services/azure/application-insights.js +12 -12
  32. package/dist/services/azure/communication.d.ts +3 -3
  33. package/dist/services/azure/communication.js +17 -17
  34. package/dist/services/azure/keyvault.d.ts +1 -1
  35. package/dist/services/azure/keyvault.js +3 -3
  36. package/dist/services/azure/storage-blob.d.ts +3 -3
  37. package/dist/services/azure/storage-blob.js +22 -22
  38. package/dist/services/firebase.d.ts +2 -2
  39. package/dist/services/firebase.js +10 -12
  40. package/dist/services/gcp/drive.d.ts +1 -1
  41. package/dist/services/gcp/drive.js +4 -4
  42. package/dist/services/gcp/secrets.d.ts +1 -1
  43. package/dist/services/gcp/secrets.js +8 -6
  44. package/dist/services/gcp/sheets.d.ts +1 -1
  45. package/dist/services/gcp/sheets.js +6 -6
  46. package/dist/services/grafana.d.ts +2 -2
  47. package/dist/services/grafana.js +12 -12
  48. package/dist/services/keycloak.d.ts +2 -14
  49. package/dist/services/keycloak.js +24 -300
  50. package/dist/services/nodemailer.d.ts +2 -2
  51. package/dist/services/nodemailer.js +109 -19
  52. package/dist/services/redis.d.ts +8 -6
  53. package/dist/services/redis.js +24 -53
  54. package/dist/services/sendgrid.d.ts +1 -1
  55. package/dist/services/sendgrid.js +10 -10
  56. package/package.json +1 -1
  57. package/src/database/entities/account.ts +3 -5
  58. package/src/database/entities/address.ts +7 -4
  59. package/src/database/entities/company-address.ts +5 -0
  60. package/src/database/migrations/1748448589934-CreateAccountsTable.ts +1 -6
  61. package/src/database/migrations/1750432386920-CreateAddressTable.ts +0 -5
  62. package/src/database/migrations/index.ts +0 -4
  63. package/src/interfaces/aws.ts +55 -81
  64. package/src/interfaces/azure.ts +50 -71
  65. package/src/interfaces/firebase.ts +6 -10
  66. package/src/interfaces/gcp.ts +8 -14
  67. package/src/interfaces/grafana.ts +5 -9
  68. package/src/interfaces/keycloak.ts +7 -190
  69. package/src/interfaces/nodemailer.ts +18 -22
  70. package/src/interfaces/redis.ts +8 -54
  71. package/src/interfaces/sendgrid.ts +14 -16
  72. package/src/services/aws/cloudwatch.ts +39 -39
  73. package/src/services/aws/pinpoint.ts +30 -30
  74. package/src/services/aws/s3.ts +55 -59
  75. package/src/services/aws/secret-manager.ts +7 -8
  76. package/src/services/aws/sqs.ts +17 -23
  77. package/src/services/azure/application-insights.ts +12 -12
  78. package/src/services/azure/communication.ts +18 -18
  79. package/src/services/azure/keyvault.ts +3 -3
  80. package/src/services/azure/storage-blob.ts +30 -34
  81. package/src/services/firebase.ts +11 -21
  82. package/src/services/gcp/drive.ts +5 -8
  83. package/src/services/gcp/secrets.ts +10 -9
  84. package/src/services/gcp/sheets.ts +7 -10
  85. package/src/services/grafana.ts +12 -18
  86. package/src/services/keycloak.ts +25 -381
  87. package/src/services/nodemailer.ts +110 -19
  88. package/src/services/redis.ts +22 -58
  89. package/src/services/sendgrid.ts +11 -11
  90. package/dist/database/migrations/1750690818577-CreateAccountAddressTable.d.ts +0 -5
  91. package/dist/database/migrations/1750690818577-CreateAccountAddressTable.js +0 -94
  92. package/dist/database/migrations/1750691840822-CreateAccountDetailsTable.d.ts +0 -5
  93. package/dist/database/migrations/1750691840822-CreateAccountDetailsTable.js +0 -99
  94. package/src/database/migrations/1750690818577-CreateAccountAddressTable.ts +0 -98
  95. package/src/database/migrations/1750691840822-CreateAccountDetailsTable.ts +0 -99
@@ -7,120 +7,116 @@ const client_s3_1 = require("@aws-sdk/client-s3");
7
7
  const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
8
8
  const file_1 = __importDefault(require("../../services/file"));
9
9
  class AmazonS3Service {
10
- async uploadBase64({ credentials, data }) {
10
+ async uploadBase64(req) {
11
11
  const client = new client_s3_1.S3({
12
12
  credentials: {
13
- accessKeyId: credentials.accessKey,
14
- secretAccessKey: credentials.secretKey,
13
+ accessKeyId: req.credentials.accessKey,
14
+ secretAccessKey: req.credentials.secretKey,
15
15
  },
16
- region: credentials.region,
16
+ region: req.credentials.region,
17
17
  });
18
- const { buffer, extension } = file_1.default.getBase64Metadata(data.file);
19
- const key = data.options?.filename
20
- ? data.options?.filename
18
+ const { buffer, extension } = file_1.default.getBase64Metadata(req.file);
19
+ const key = req.options?.filename
20
+ ? req.options?.filename
21
21
  : file_1.default.getUniqueFilename(extension);
22
22
  const payload = {
23
- Key: this.getBucketPath(key, data.options?.folder),
23
+ Key: this.getBucketPath(key, req.options?.folder),
24
24
  Body: buffer,
25
- ContentEncoding: data.options?.contentEncoding,
26
- ContentType: data.options?.contentType,
27
- Bucket: data.bucket,
28
- ACL: data.options?.isPrivate ? 'private' : 'public-read',
25
+ ContentEncoding: req.options?.contentEncoding,
26
+ ContentType: req.options?.contentType,
27
+ Bucket: req.bucket,
28
+ ACL: req.options?.isPrivate ? 'private' : 'public-read',
29
29
  };
30
30
  await client.putObject(payload);
31
31
  const { url } = await this.getSignedUrl({
32
- data: {
33
- bucket: data.bucket,
34
- filename: key,
35
- folder: data.options?.folder,
36
- isUpload: false,
37
- },
38
- credentials,
32
+ bucket: req.bucket,
33
+ credentials: req.credentials,
34
+ filename: key,
35
+ folder: req.options?.folder,
36
+ isUpload: false,
39
37
  });
40
38
  return {
41
39
  key: payload.Key,
42
- bucket: data.bucket,
40
+ bucket: req.bucket,
43
41
  url,
44
42
  };
45
43
  }
46
- async uploadBuffer({ credentials, data }) {
44
+ async uploadBuffer(req) {
47
45
  const client = new client_s3_1.S3({
48
46
  credentials: {
49
- accessKeyId: credentials.accessKey,
50
- secretAccessKey: credentials.secretKey,
47
+ accessKeyId: req.credentials.accessKey,
48
+ secretAccessKey: req.credentials.secretKey,
51
49
  },
52
- region: credentials.region,
50
+ region: req.credentials.region,
53
51
  });
54
- const key = data.options?.filename
55
- ? data.options?.filename
52
+ const key = req.options?.filename
53
+ ? req.options?.filename
56
54
  : file_1.default.getUniqueFilename('');
57
55
  const payload = {
58
- Key: this.getBucketPath(key, data.options?.folder),
59
- Body: data.file,
60
- ContentEncoding: data.options?.contentEncoding,
61
- ContentType: data.options?.contentType,
62
- Bucket: data.bucket,
63
- ACL: data.options?.isPrivate ? 'private' : 'public-read',
56
+ Key: this.getBucketPath(key, req.options?.folder),
57
+ Body: req.file,
58
+ ContentEncoding: req.options?.contentEncoding,
59
+ ContentType: req.options?.contentType,
60
+ Bucket: req.bucket,
61
+ ACL: req.options?.isPrivate ? 'private' : 'public-read',
64
62
  };
65
63
  await client.putObject(payload);
66
64
  const { url } = await this.getSignedUrl({
67
- data: {
68
- bucket: data.bucket,
69
- filename: key,
70
- folder: data.options?.folder,
71
- isUpload: false,
72
- },
73
- credentials,
65
+ bucket: req.bucket,
66
+ credentials: req.credentials,
67
+ filename: key,
68
+ folder: req.options?.folder,
69
+ isUpload: false,
74
70
  });
75
71
  return {
76
72
  key: payload.Key,
77
- bucket: data.bucket,
73
+ bucket: req.bucket,
78
74
  url,
79
75
  };
80
76
  }
81
- async deleteFile({ credentials, data }) {
77
+ async deleteFile(req) {
82
78
  const client = new client_s3_1.S3({
83
79
  credentials: {
84
- accessKeyId: credentials.accessKey,
85
- secretAccessKey: credentials.secretKey,
80
+ accessKeyId: req.credentials.accessKey,
81
+ secretAccessKey: req.credentials.secretKey,
86
82
  },
87
- region: credentials.region,
83
+ region: req.credentials.region,
88
84
  });
89
85
  const payload = {
90
- Key: this.getBucketPath(data.filename, data.folder),
91
- Bucket: data.bucket,
86
+ Key: this.getBucketPath(req.filename, req.folder),
87
+ Bucket: req.bucket,
92
88
  };
93
89
  await client.deleteObject(payload);
94
90
  }
95
- async listFiles({ credentials, data }) {
91
+ async listFiles(req) {
96
92
  const client = new client_s3_1.S3({
97
93
  credentials: {
98
- accessKeyId: credentials.accessKey,
99
- secretAccessKey: credentials.secretKey,
94
+ accessKeyId: req.credentials.accessKey,
95
+ secretAccessKey: req.credentials.secretKey,
100
96
  },
101
- region: credentials.region,
97
+ region: req.credentials.region,
102
98
  });
103
99
  const { Contents } = await client.listObjectsV2({
104
- Bucket: data.bucket,
105
- Prefix: data.folder,
100
+ Bucket: req.bucket,
101
+ Prefix: req.folder,
106
102
  });
107
103
  return {
108
104
  files: Contents ?? [],
109
105
  };
110
106
  }
111
- async getSignedUrl({ credentials, data }) {
107
+ async getSignedUrl(req) {
112
108
  const client = new client_s3_1.S3({
113
109
  credentials: {
114
- accessKeyId: credentials.accessKey,
115
- secretAccessKey: credentials.secretKey,
110
+ accessKeyId: req.credentials.accessKey,
111
+ secretAccessKey: req.credentials.secretKey,
116
112
  },
117
- region: credentials.region,
113
+ region: req.credentials.region,
118
114
  });
119
115
  const payload = {
120
- Key: this.getBucketPath(data.filename, data.folder),
121
- Bucket: data.bucket,
116
+ Key: this.getBucketPath(req.filename, req.folder),
117
+ Bucket: req.bucket,
122
118
  };
123
- const method = data.isUpload
119
+ const method = req.isUpload
124
120
  ? new client_s3_1.PutObjectCommand(payload)
125
121
  : new client_s3_1.GetObjectCommand(payload);
126
122
  const url = await (0, s3_request_presigner_1.getSignedUrl)(client, method);
@@ -1,6 +1,6 @@
1
1
  import { AmazonSecretManager, IAmazonSecretManagerService } from '../../interfaces/aws';
2
2
  declare class AmazonSecretManagerService implements IAmazonSecretManagerService {
3
- getSecret<T>({ credentials, data, }: AmazonSecretManager.GetSecret.Request): Promise<AmazonSecretManager.GetSecret.Response<T>>;
3
+ getSecret<T>(req: AmazonSecretManager.GetSecret.Request): Promise<AmazonSecretManager.GetSecret.Response<T>>;
4
4
  }
5
5
  declare const _default: AmazonSecretManagerService;
6
6
  export default _default;
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
4
4
  const parser_1 = require("../../utils/parser");
5
5
  class AmazonSecretManagerService {
6
- async getSecret({ credentials, data, }) {
6
+ async getSecret(req) {
7
7
  const client = new client_secrets_manager_1.SecretsManager({
8
8
  credentials: {
9
- accessKeyId: credentials.accessKey,
10
- secretAccessKey: credentials.secretKey,
9
+ accessKeyId: req.credentials.accessKey,
10
+ secretAccessKey: req.credentials.secretKey,
11
11
  },
12
- region: credentials.region,
12
+ region: req.credentials.region,
13
13
  });
14
- const { SecretString, SecretBinary } = await client.getSecretValue({ SecretId: data.secret });
14
+ const { SecretString, SecretBinary } = await client.getSecretValue({ SecretId: req.secretId });
15
15
  if (SecretString) {
16
16
  const secret = (0, parser_1.parseRecord)(SecretString);
17
17
  return {
@@ -1,8 +1,8 @@
1
1
  import { AmazonSQS, IAmazonSQSService } from '../../interfaces/aws';
2
2
  declare class AmazonSQSService implements IAmazonSQSService {
3
- publishMessage({ credentials, data }: AmazonSQS.PublishMessage.Request): Promise<void>;
4
- consumeMessage<T>({ credentials, data, }: AmazonSQS.ConsumeMessage.Request): Promise<AmazonSQS.ConsumeMessage.Response<T>>;
5
- consumeMessages<T>({ credentials, data, }: AmazonSQS.ConsumeMessages.Request): Promise<AmazonSQS.ConsumeMessages.Response<T>>;
3
+ publishMessage(req: AmazonSQS.PublishMessage.Request): Promise<void>;
4
+ consumeMessage<T>(req: AmazonSQS.ConsumeMessage.Request): Promise<AmazonSQS.ConsumeMessage.Response<T>>;
5
+ consumeMessages<T>(req: AmazonSQS.ConsumeMessages.Request): Promise<AmazonSQS.ConsumeMessages.Response<T>>;
6
6
  }
7
7
  declare const _default: AmazonSQSService;
8
8
  export default _default;
@@ -3,29 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const client_sqs_1 = require("@aws-sdk/client-sqs");
4
4
  const utils_1 = require("../../utils");
5
5
  class AmazonSQSService {
6
- async publishMessage({ credentials, data }) {
6
+ async publishMessage(req) {
7
7
  const client = new client_sqs_1.SQS({
8
8
  credentials: {
9
- accessKeyId: credentials.accessKey,
10
- secretAccessKey: credentials.secretKey,
9
+ accessKeyId: req.credentials.accessKey,
10
+ secretAccessKey: req.credentials.secretKey,
11
11
  },
12
- region: credentials.region,
12
+ region: req.credentials.region,
13
13
  });
14
- const { QueueUrl } = await client.getQueueUrl({ QueueName: data.queue });
14
+ const { QueueUrl } = await client.getQueueUrl({ QueueName: req.queue });
15
15
  await client.sendMessage({
16
- MessageBody: JSON.stringify(data.message),
16
+ MessageBody: JSON.stringify(req.message),
17
17
  QueueUrl,
18
18
  });
19
19
  }
20
- async consumeMessage({ credentials, data, }) {
20
+ async consumeMessage(req) {
21
21
  const client = new client_sqs_1.SQS({
22
22
  credentials: {
23
- accessKeyId: credentials.accessKey,
24
- secretAccessKey: credentials.secretKey,
23
+ accessKeyId: req.credentials.accessKey,
24
+ secretAccessKey: req.credentials.secretKey,
25
25
  },
26
- region: credentials.region,
26
+ region: req.credentials.region,
27
27
  });
28
- const { QueueUrl } = await client.getQueueUrl({ QueueName: data.queue });
28
+ const { QueueUrl } = await client.getQueueUrl({ QueueName: req.queue });
29
29
  const { Messages } = await client.receiveMessage({
30
30
  QueueUrl,
31
31
  MaxNumberOfMessages: 1,
@@ -44,15 +44,15 @@ class AmazonSQSService {
44
44
  message: {},
45
45
  };
46
46
  }
47
- async consumeMessages({ credentials, data, }) {
47
+ async consumeMessages(req) {
48
48
  const client = new client_sqs_1.SQS({
49
49
  credentials: {
50
- accessKeyId: credentials.accessKey,
51
- secretAccessKey: credentials.secretKey,
50
+ accessKeyId: req.credentials.accessKey,
51
+ secretAccessKey: req.credentials.secretKey,
52
52
  },
53
- region: credentials.region,
53
+ region: req.credentials.region,
54
54
  });
55
- const { QueueUrl } = await client.getQueueUrl({ QueueName: data.queue });
55
+ const { QueueUrl } = await client.getQueueUrl({ QueueName: req.queue });
56
56
  const { Messages } = await client.receiveMessage({
57
57
  QueueUrl,
58
58
  MaxNumberOfMessages: 10,
@@ -1,9 +1,9 @@
1
1
  import { AzureApplicationInsights, IAzureApplicationInsightsService } from '../../interfaces/azure';
2
2
  declare class AzureApplicationInsightsService implements IAzureApplicationInsightsService {
3
- trackTrace({ credentials, data }: AzureApplicationInsights.TrackTrace.Request): Promise<void>;
4
- trackEvent({ credentials, data }: AzureApplicationInsights.TrackEvent.Request): Promise<void>;
5
- trackException({ credentials, data }: AzureApplicationInsights.TrackException.Request): Promise<void>;
6
- trackMetric({ credentials, data }: AzureApplicationInsights.TrackMetric.Request): Promise<void>;
3
+ trackTrace(req: AzureApplicationInsights.TrackTrace.Request): Promise<void>;
4
+ trackEvent(req: AzureApplicationInsights.TrackEvent.Request): Promise<void>;
5
+ trackException(req: AzureApplicationInsights.TrackException.Request): Promise<void>;
6
+ trackMetric(req: AzureApplicationInsights.TrackMetric.Request): Promise<void>;
7
7
  }
8
8
  declare const _default: AzureApplicationInsightsService;
9
9
  export default _default;
@@ -35,21 +35,21 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const ApplicationInsights = __importStar(require("applicationinsights"));
37
37
  class AzureApplicationInsightsService {
38
- async trackTrace({ credentials, data }) {
39
- const client = new ApplicationInsights.TelemetryClient(credentials.connection);
40
- client.trackTrace({ message: data.message, severity: data.severity });
38
+ async trackTrace(req) {
39
+ const client = new ApplicationInsights.TelemetryClient(req.credentials.connection);
40
+ client.trackTrace({ message: req.message, severity: req.severity });
41
41
  }
42
- async trackEvent({ credentials, data }) {
43
- const client = new ApplicationInsights.TelemetryClient(credentials.connection);
44
- client.trackEvent({ name: data.name, properties: data.properties });
42
+ async trackEvent(req) {
43
+ const client = new ApplicationInsights.TelemetryClient(req.credentials.connection);
44
+ client.trackEvent({ name: req.name, properties: req.properties });
45
45
  }
46
- async trackException({ credentials, data }) {
47
- const client = new ApplicationInsights.TelemetryClient(credentials.connection);
48
- client.trackException({ exception: data.error });
46
+ async trackException(req) {
47
+ const client = new ApplicationInsights.TelemetryClient(req.credentials.connection);
48
+ client.trackException({ exception: req.error });
49
49
  }
50
- async trackMetric({ credentials, data }) {
51
- const client = new ApplicationInsights.TelemetryClient(credentials.connection);
52
- client.trackMetric({ name: data.name, value: data.value });
50
+ async trackMetric(req) {
51
+ const client = new ApplicationInsights.TelemetryClient(req.credentials.connection);
52
+ client.trackMetric({ name: req.name, value: req.value });
53
53
  }
54
54
  }
55
55
  exports.default = new AzureApplicationInsightsService();
@@ -1,8 +1,8 @@
1
1
  import { AzureCommunication, IAzureCommunicationService } from '../../interfaces/azure';
2
2
  declare class AzureCommunicationService implements IAzureCommunicationService {
3
- sendMail({ credentials, data }: AzureCommunication.SendMail.Request): Promise<void>;
4
- sendTemplateMail({ credentials, data }: AzureCommunication.SendTemplateMail.Request): Promise<void>;
5
- sendSMS({ credentials, data }: AzureCommunication.SendSMS.Request): Promise<void>;
3
+ sendMail(req: AzureCommunication.SendMail.Request): Promise<void>;
4
+ sendTemplateMail(req: AzureCommunication.SendTemplateMail.Request): Promise<void>;
5
+ sendSMS(req: AzureCommunication.SendSMS.Request): Promise<void>;
6
6
  }
7
7
  declare const _default: AzureCommunicationService;
8
8
  export default _default;
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const communication_email_1 = require("@azure/communication-email");
4
4
  const communication_sms_1 = require("@azure/communication-sms");
5
5
  class AzureCommunicationService {
6
- async sendMail({ credentials, data }) {
7
- const client = new communication_email_1.EmailClient(credentials.connection);
8
- const recipients = Array.isArray(data.emails) ? data.emails : [data.emails];
6
+ async sendMail(req) {
7
+ const client = new communication_email_1.EmailClient(req.credentials.connection);
8
+ const recipients = Array.isArray(req.emails) ? req.emails : [req.emails];
9
9
  const addresses = recipients.map(recipient => ({ address: recipient }));
10
10
  const payload = {
11
- senderAddress: data.from,
11
+ senderAddress: req.from,
12
12
  content: {
13
- subject: data.subject,
14
- plainText: data.text,
13
+ subject: req.subject,
14
+ plainText: req.text,
15
15
  },
16
16
  recipients: {
17
17
  to: addresses,
@@ -20,15 +20,15 @@ class AzureCommunicationService {
20
20
  const poller = await client.beginSend(payload);
21
21
  await poller.pollUntilDone();
22
22
  }
23
- async sendTemplateMail({ credentials, data }) {
24
- const client = new communication_email_1.EmailClient(credentials.connection);
25
- const recipients = Array.isArray(data.emails) ? data.emails : [data.emails];
23
+ async sendTemplateMail(req) {
24
+ const client = new communication_email_1.EmailClient(req.credentials.connection);
25
+ const recipients = Array.isArray(req.emails) ? req.emails : [req.emails];
26
26
  const addresses = recipients.map(recipient => ({ address: recipient }));
27
27
  const payload = {
28
- senderAddress: data.from,
28
+ senderAddress: req.from,
29
29
  content: {
30
- subject: data.subject,
31
- html: data.template,
30
+ subject: req.subject,
31
+ html: req.template,
32
32
  },
33
33
  recipients: {
34
34
  to: addresses,
@@ -37,12 +37,12 @@ class AzureCommunicationService {
37
37
  const poller = await client.beginSend(payload);
38
38
  await poller.pollUntilDone();
39
39
  }
40
- async sendSMS({ credentials, data }) {
41
- const client = new communication_sms_1.SmsClient(credentials.connection);
42
- const recipients = Array.isArray(data.phones) ? data.phones : [data.phones];
40
+ async sendSMS(req) {
41
+ const client = new communication_sms_1.SmsClient(req.credentials.connection);
42
+ const recipients = Array.isArray(req.phones) ? req.phones : [req.phones];
43
43
  const payload = {
44
- from: data.sender,
45
- message: data.text,
44
+ from: req.sender,
45
+ message: req.text,
46
46
  to: recipients,
47
47
  };
48
48
  await client.send(payload);
@@ -1,6 +1,6 @@
1
1
  import { AzureKeyVault, IAzureKeyVaultService } from '../../interfaces/azure';
2
2
  declare class AzureKeyVaultService implements IAzureKeyVaultService {
3
- getSecret<T>({ data }: AzureKeyVault.GetSecret.Request): Promise<AzureKeyVault.GetSecret.Response<T>>;
3
+ getSecret<T>(req: AzureKeyVault.GetSecret.Request): Promise<AzureKeyVault.GetSecret.Response<T>>;
4
4
  }
5
5
  declare const _default: AzureKeyVaultService;
6
6
  export default _default;
@@ -4,10 +4,10 @@ const identity_1 = require("@azure/identity");
4
4
  const keyvault_secrets_1 = require("@azure/keyvault-secrets");
5
5
  const parser_1 = require("../../utils/parser");
6
6
  class AzureKeyVaultService {
7
- async getSecret({ data }) {
7
+ async getSecret(req) {
8
8
  const credential = new identity_1.DefaultAzureCredential();
9
- const client = new keyvault_secrets_1.SecretClient(data.vault, credential);
10
- const { value } = await client.getSecret(data.secretName);
9
+ const client = new keyvault_secrets_1.SecretClient(req.vault, credential);
10
+ const { value } = await client.getSecret(req.secretName);
11
11
  if (value) {
12
12
  const secret = (0, parser_1.parseRecord)(value);
13
13
  return {
@@ -1,8 +1,8 @@
1
1
  import { AzureStorageBlob, IAzureStorageBlobService } from '../../interfaces/azure';
2
2
  declare class AzureStorageBlobService implements IAzureStorageBlobService {
3
- uploadBuffer({ credentials, data, }: AzureStorageBlob.UploadBuffer.Request): Promise<void>;
4
- downloadBuffer({ credentials, data, }: AzureStorageBlob.DownloadBuffer.Request): Promise<AzureStorageBlob.DownloadBuffer.Response>;
5
- getPreSignedUrl({ credentials, data, }: AzureStorageBlob.GetPreSignedUrl.Request): Promise<AzureStorageBlob.GetPreSignedUrl.Response>;
3
+ uploadBuffer(req: AzureStorageBlob.UploadBuffer.Request): Promise<void>;
4
+ downloadBuffer(req: AzureStorageBlob.DownloadBuffer.Request): Promise<AzureStorageBlob.DownloadBuffer.Response>;
5
+ getPreSignedUrl(req: AzureStorageBlob.GetPreSignedUrl.Request): Promise<AzureStorageBlob.GetPreSignedUrl.Response>;
6
6
  }
7
7
  declare const _default: AzureStorageBlobService;
8
8
  export default _default;
@@ -7,41 +7,41 @@ const storage_blob_1 = require("@azure/storage-blob");
7
7
  const date_1 = __importDefault(require("../../services/date"));
8
8
  const file_1 = __importDefault(require("../../services/file"));
9
9
  class AzureStorageBlobService {
10
- async uploadBuffer({ credentials, data, }) {
11
- const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(credentials.accountName, credentials.accountKey);
12
- const client = new storage_blob_1.BlobServiceClient(data.storageUrl, sharedKeyCredential);
10
+ async uploadBuffer(req) {
11
+ const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(req.credentials.accountName, req.credentials.accountKey);
12
+ const client = new storage_blob_1.BlobServiceClient(req.storageUrl, sharedKeyCredential);
13
13
  await client
14
- .getContainerClient(data.storageContainer)
15
- .getBlockBlobClient(data.filename)
16
- .uploadData(data.file);
14
+ .getContainerClient(req.storageContainer)
15
+ .getBlockBlobClient(req.filename)
16
+ .uploadData(req.file);
17
17
  }
18
- async downloadBuffer({ credentials, data, }) {
19
- const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(credentials.accountName, credentials.accountKey);
20
- const client = new storage_blob_1.BlobServiceClient(data.storageUrl, sharedKeyCredential);
18
+ async downloadBuffer(req) {
19
+ const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(req.credentials.accountName, req.credentials.accountKey);
20
+ const client = new storage_blob_1.BlobServiceClient(req.storageUrl, sharedKeyCredential);
21
21
  const { readableStreamBody } = await client
22
- .getContainerClient(data.storageContainer)
23
- .getBlockBlobClient(data.filename)
22
+ .getContainerClient(req.storageContainer)
23
+ .getBlockBlobClient(req.filename)
24
24
  .download(0);
25
25
  const buffer = await file_1.default.streamToBuffer(readableStreamBody);
26
26
  return {
27
27
  file: buffer,
28
28
  };
29
29
  }
30
- async getPreSignedUrl({ credentials, data, }) {
31
- const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(credentials.accountName, credentials.accountKey);
30
+ async getPreSignedUrl(req) {
31
+ const sharedKeyCredential = new storage_blob_1.StorageSharedKeyCredential(req.credentials.accountName, req.credentials.accountKey);
32
32
  const payload = {
33
- containerName: data.storageContainer,
34
- blobName: data.filename,
35
- version: data.options?.version,
36
- contentEncoding: data.options?.contentEncoding,
37
- contentType: data.options?.contentType,
33
+ containerName: req.storageContainer,
34
+ blobName: req.filename,
35
+ version: req.options?.version,
36
+ contentEncoding: req.options?.contentEncoding,
37
+ contentType: req.options?.contentType,
38
38
  permissions: 'rwac',
39
- startsOn: data.options?.hoursToExpire &&
39
+ startsOn: req.options?.hoursToExpire &&
40
40
  date_1.default.getCurrentDate(),
41
- expiresOn: data.options?.hoursToExpire &&
42
- date_1.default.addHours(date_1.default.getCurrentDate(), Number(data.options?.hoursToExpire)),
41
+ expiresOn: req.options?.hoursToExpire &&
42
+ date_1.default.addHours(date_1.default.getCurrentDate(), Number(req.options?.hoursToExpire)),
43
43
  };
44
- const url = `https://${credentials.accountName}.blob.core.windows.net/${data.storageContainer}/${data.filename}`;
44
+ const url = `https://${req.credentials.accountName}.blob.core.windows.net/${req.storageContainer}/${req.filename}`;
45
45
  const token = (0, storage_blob_1.generateBlobSASQueryParameters)(payload, sharedKeyCredential).toString();
46
46
  return {
47
47
  url: `${url}?${token}`,
@@ -1,7 +1,7 @@
1
1
  import { Firebase, IFirebaseService } from '../interfaces/firebase';
2
2
  declare class FirebaseService implements IFirebaseService {
3
- publishConfig({ credentials, data, }: Firebase.PublishConfig.Request): Promise<void>;
4
- sendNotification({ credentials, data, }: Firebase.SendNotification.Request): Promise<void>;
3
+ publishConfig(req: Firebase.PublishConfig.Request): Promise<void>;
4
+ sendNotification(req: Firebase.SendNotification.Request): Promise<void>;
5
5
  }
6
6
  declare const _default: FirebaseService;
7
7
  export default _default;
@@ -5,28 +5,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const firebase_admin_1 = __importDefault(require("firebase-admin"));
7
7
  class FirebaseService {
8
- async publishConfig({ credentials, data, }) {
8
+ async publishConfig(req) {
9
9
  const client = firebase_admin_1.default.initializeApp({
10
- credential: firebase_admin_1.default.credential.cert(credentials.cert),
11
- databaseURL: credentials.database,
12
- }, credentials.instance);
10
+ credential: firebase_admin_1.default.credential.cert(req.credentials.cert),
11
+ databaseURL: req.credentials.database,
12
+ }, req.credentials.instance);
13
13
  const template = client
14
14
  .remoteConfig()
15
- .createTemplateFromJSON(data.template);
15
+ .createTemplateFromJSON(req.template);
16
16
  await client
17
17
  .remoteConfig()
18
18
  .publishTemplate(template);
19
- await client.delete();
20
19
  }
21
- async sendNotification({ credentials, data, }) {
20
+ async sendNotification(req) {
22
21
  const client = firebase_admin_1.default.initializeApp({
23
- credential: firebase_admin_1.default.credential.cert(credentials.cert),
24
- databaseURL: credentials.database,
25
- }, credentials.instance);
22
+ credential: firebase_admin_1.default.credential.cert(req.credentials.cert),
23
+ databaseURL: req.credentials.database,
24
+ }, req.credentials.instance);
26
25
  await client
27
26
  .messaging()
28
- .sendEachForMulticast(data.message, data.isTest);
29
- await client.delete();
27
+ .sendEachForMulticast(req.message, req.isTest);
30
28
  }
31
29
  }
32
30
  exports.default = new FirebaseService();
@@ -1,6 +1,6 @@
1
1
  import { GoogleDrive, IGoogleDriveService } from '../../interfaces/gcp';
2
2
  declare class GoogleDriveService implements IGoogleDriveService {
3
- readFile({ credentials, data, }: GoogleDrive.ReadFile.Request): Promise<GoogleDrive.ReadFile.Response>;
3
+ readFile(req: GoogleDrive.ReadFile.Request): Promise<GoogleDrive.ReadFile.Response>;
4
4
  }
5
5
  declare const _default: GoogleDriveService;
6
6
  export default _default;
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const googleapis_1 = require("googleapis");
4
4
  class GoogleDriveService {
5
- async readFile({ credentials, data, }) {
5
+ async readFile(req) {
6
6
  const instance = googleapis_1.google.drive({
7
7
  version: 'v3',
8
- auth: credentials.apiKey,
8
+ auth: req.credentials.apiKey,
9
9
  });
10
- const { data: response } = await instance.files.get({ fileId: data.file });
10
+ const { data } = await instance.files.get({ fileId: req.fileId });
11
11
  return {
12
- file: response,
12
+ file: data,
13
13
  };
14
14
  }
15
15
  }
@@ -1,6 +1,6 @@
1
1
  import { GoogleSecrets, IGoogleSecretsService } from '../../interfaces/gcp';
2
2
  declare class GoogleSecretsService implements IGoogleSecretsService {
3
- getSecret<T>({ credentials, data, }: GoogleSecrets.GetSecret.Request): Promise<GoogleSecrets.GetSecret.Response<T>>;
3
+ getSecret<T>(req: GoogleSecrets.GetSecret.Request): Promise<GoogleSecrets.GetSecret.Response<T>>;
4
4
  }
5
5
  declare const _default: GoogleSecretsService;
6
6
  export default _default;
@@ -3,15 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const secret_manager_1 = require("@google-cloud/secret-manager");
4
4
  const parser_1 = require("../../utils/parser");
5
5
  class GoogleSecretsService {
6
- async getSecret({ credentials, data, }) {
7
- const client = new secret_manager_1.SecretManagerServiceClient({ apiKey: credentials.apiKey });
6
+ async getSecret(req) {
7
+ const credentials = JSON.parse(req.credentials.apiKey);
8
+ const client = new secret_manager_1.SecretManagerServiceClient({ credentials });
8
9
  const [version] = await client.accessSecretVersion({
9
- name: `projects/${data.project}/secrets/${data.secret}/versions/latest`,
10
+ name: `projects/${req.projectId}/secrets/${req.secretId}/versions/latest`,
10
11
  });
11
- const buffer = (version.payload?.data ?? new Uint8Array());
12
- const secret = Buffer.from(buffer).toString('utf-8');
12
+ const data = (version.payload?.data ?? new Uint8Array());
13
+ const secretData = Buffer.from(data).toString('utf-8');
14
+ const secret = (0, parser_1.parseRecord)(secretData);
13
15
  return {
14
- secret: (0, parser_1.parseRecord)(secret),
16
+ secret,
15
17
  };
16
18
  }
17
19
  }
@@ -1,6 +1,6 @@
1
1
  import { GoogleSheets, IGoogleSheetsService } from '../../interfaces/gcp';
2
2
  declare class GoogleSheetsService implements IGoogleSheetsService {
3
- readSheet({ credentials, data, }: GoogleSheets.ReadSheet.Request): Promise<GoogleSheets.ReadSheet.Response>;
3
+ readSheet(req: GoogleSheets.ReadSheet.Request): Promise<GoogleSheets.ReadSheet.Response>;
4
4
  }
5
5
  declare const _default: GoogleSheetsService;
6
6
  export default _default;