mblabs-roccato-backend-commons 0.0.13 → 1.0.1

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 (77) hide show
  1. package/bitbucket-pipelines.yml +53 -1
  2. package/dist/interfaces/aws.d.ts +67 -41
  3. package/dist/interfaces/azure.d.ts +61 -38
  4. package/dist/interfaces/firebase.d.ts +7 -3
  5. package/dist/interfaces/gcp.d.ts +11 -5
  6. package/dist/interfaces/grafana.d.ts +6 -2
  7. package/dist/interfaces/keycloak.d.ts +61 -3
  8. package/dist/interfaces/nodemailer.d.ts +20 -16
  9. package/dist/interfaces/redis.d.ts +49 -8
  10. package/dist/interfaces/sendgrid.d.ts +15 -13
  11. package/dist/services/aws/cloudwatch.d.ts +1 -1
  12. package/dist/services/aws/cloudwatch.js +38 -38
  13. package/dist/services/aws/pinpoint.d.ts +3 -3
  14. package/dist/services/aws/pinpoint.js +29 -29
  15. package/dist/services/aws/s3.d.ts +5 -5
  16. package/dist/services/aws/s3.js +59 -55
  17. package/dist/services/aws/secret-manager.d.ts +1 -1
  18. package/dist/services/aws/secret-manager.js +5 -5
  19. package/dist/services/aws/sqs.d.ts +3 -3
  20. package/dist/services/aws/sqs.js +16 -16
  21. package/dist/services/azure/application-insights.d.ts +4 -4
  22. package/dist/services/azure/application-insights.js +12 -12
  23. package/dist/services/azure/communication.d.ts +3 -3
  24. package/dist/services/azure/communication.js +17 -17
  25. package/dist/services/azure/keyvault.d.ts +1 -1
  26. package/dist/services/azure/keyvault.js +3 -3
  27. package/dist/services/azure/storage-blob.d.ts +3 -3
  28. package/dist/services/azure/storage-blob.js +22 -22
  29. package/dist/services/firebase.d.ts +2 -2
  30. package/dist/services/firebase.js +12 -10
  31. package/dist/services/gcp/drive.d.ts +1 -1
  32. package/dist/services/gcp/drive.js +4 -4
  33. package/dist/services/gcp/secrets.d.ts +1 -1
  34. package/dist/services/gcp/secrets.js +6 -8
  35. package/dist/services/gcp/sheets.d.ts +1 -1
  36. package/dist/services/gcp/sheets.js +6 -6
  37. package/dist/services/grafana.d.ts +2 -2
  38. package/dist/services/grafana.js +12 -12
  39. package/dist/services/keycloak.d.ts +5 -2
  40. package/dist/services/keycloak.js +119 -24
  41. package/dist/services/nodemailer.d.ts +2 -2
  42. package/dist/services/nodemailer.js +19 -109
  43. package/dist/services/redis.d.ts +6 -8
  44. package/dist/services/redis.js +53 -24
  45. package/dist/services/sendgrid.d.ts +1 -1
  46. package/dist/services/sendgrid.js +10 -10
  47. package/package.json +1 -1
  48. package/src/database/entities/address.ts +7 -7
  49. package/src/database/entities/company-address.ts +5 -5
  50. package/src/database/entities/company.ts +8 -8
  51. package/src/interfaces/aws.ts +81 -55
  52. package/src/interfaces/azure.ts +71 -50
  53. package/src/interfaces/firebase.ts +10 -6
  54. package/src/interfaces/gcp.ts +14 -8
  55. package/src/interfaces/grafana.ts +9 -5
  56. package/src/interfaces/keycloak.ts +68 -6
  57. package/src/interfaces/nodemailer.ts +22 -18
  58. package/src/interfaces/redis.ts +54 -8
  59. package/src/interfaces/sendgrid.ts +16 -14
  60. package/src/services/aws/cloudwatch.ts +39 -39
  61. package/src/services/aws/pinpoint.ts +30 -30
  62. package/src/services/aws/s3.ts +59 -55
  63. package/src/services/aws/secret-manager.ts +8 -7
  64. package/src/services/aws/sqs.ts +23 -17
  65. package/src/services/azure/application-insights.ts +12 -12
  66. package/src/services/azure/communication.ts +18 -18
  67. package/src/services/azure/keyvault.ts +3 -3
  68. package/src/services/azure/storage-blob.ts +34 -30
  69. package/src/services/firebase.ts +21 -11
  70. package/src/services/gcp/drive.ts +8 -5
  71. package/src/services/gcp/secrets.ts +9 -10
  72. package/src/services/gcp/sheets.ts +10 -7
  73. package/src/services/grafana.ts +18 -12
  74. package/src/services/keycloak.ts +148 -24
  75. package/src/services/nodemailer.ts +19 -110
  76. package/src/services/redis.ts +58 -22
  77. package/src/services/sendgrid.ts +11 -11
@@ -32,6 +32,54 @@ pipelines:
32
32
  script:
33
33
  - pipe: atlassian/git-secrets-scan:1.2.1
34
34
  branches:
35
+ develop:
36
+ - step:
37
+ name: "Build SDK"
38
+ caches:
39
+ - node
40
+ script:
41
+ - yarn clean-install
42
+ - yarn build
43
+ artifacts:
44
+ - dist/**
45
+
46
+ - step:
47
+ name: "Publish SDK"
48
+ caches:
49
+ - node
50
+ script:
51
+ - VERSION=$(npm version patch --no-git-tag-version)
52
+ - git add package.json
53
+ - git commit -m "chore(release):bump patch version [skip ci]"
54
+ - git tag $VERSION
55
+ - git push origin $VERSION
56
+ - pipe: atlassian/npm-publish:0.2.0
57
+ variables:
58
+ NPM_TOKEN: $NPM_TOKEN
59
+ homolog:
60
+ - step:
61
+ name: "Build SDK"
62
+ caches:
63
+ - node
64
+ script:
65
+ - yarn clean-install
66
+ - yarn build
67
+ artifacts:
68
+ - dist/**
69
+
70
+ - step:
71
+ name: "Publish SDK"
72
+ caches:
73
+ - node
74
+ script:
75
+ - VERSION=$(npm version minor --no-git-tag-version)
76
+ - git add package.json
77
+ - git commit -m "chore(release):bump minor version [skip ci]"
78
+ - git tag $VERSION
79
+ - git push origin $VERSION
80
+ - pipe: atlassian/npm-publish:0.2.0
81
+ variables:
82
+ NPM_TOKEN: $NPM_TOKEN
35
83
  master:
36
84
  - step:
37
85
  name: "Build SDK"
@@ -48,7 +96,11 @@ pipelines:
48
96
  caches:
49
97
  - node
50
98
  script:
51
- - ls -lh dist
99
+ - VERSION=$(npm version major --no-git-tag-version)
100
+ - git add package.json
101
+ - git commit -m "chore(release):bump major version [skip ci]"
102
+ - git tag $VERSION
103
+ - git push origin $VERSION
52
104
  - pipe: atlassian/npm-publish:0.2.0
53
105
  variables:
54
106
  NPM_TOKEN: $NPM_TOKEN
@@ -16,10 +16,12 @@ interface UploadOptions {
16
16
  export declare namespace AmazonCloudwatch {
17
17
  namespace CreateLogEvent {
18
18
  interface Request {
19
- application: string;
20
- group: string;
21
- stream: string;
22
- events: InputLogEvent[];
19
+ data: {
20
+ application: string;
21
+ group: string;
22
+ stream: string;
23
+ events: InputLogEvent[];
24
+ };
23
25
  credentials: Credentials;
24
26
  }
25
27
  }
@@ -27,33 +29,39 @@ export declare namespace AmazonCloudwatch {
27
29
  export declare namespace AmazonPinpoint {
28
30
  namespace SendMail {
29
31
  interface Request {
30
- applicationId: string;
31
- subject: string;
32
- text: string;
33
- emails: string | string[];
34
- from: string;
35
- variables?: Record<string, string | number>;
32
+ data: {
33
+ application: string;
34
+ subject: string;
35
+ text: string;
36
+ emails: string | string[];
37
+ from: string;
38
+ variables?: Record<string, string | number>;
39
+ };
36
40
  credentials: Credentials;
37
41
  }
38
42
  }
39
43
  namespace SendTemplateMail {
40
44
  interface Request {
41
- applicationId: string;
42
- template: string;
43
- emails: string | string[];
44
- from: string;
45
- variables?: Record<string, string | number>;
45
+ data: {
46
+ application: string;
47
+ template: string;
48
+ emails: string | string[];
49
+ from: string;
50
+ variables?: Record<string, string | number>;
51
+ };
46
52
  credentials: Credentials;
47
53
  }
48
54
  }
49
55
  namespace SendSMS {
50
56
  interface Request {
51
- applicationId: string;
52
- sender: string;
53
- text: string;
54
- phones: string | string[];
55
- type?: 'PROMOTIONAL' | 'TRANSACTIONAL';
56
- variables?: Record<string, string | number>;
57
+ data: {
58
+ application: string;
59
+ sender: string;
60
+ text: string;
61
+ phones: string | string[];
62
+ type?: 'PROMOTIONAL' | 'TRANSACTIONAL';
63
+ variables?: Record<string, string | number>;
64
+ };
57
65
  credentials: Credentials;
58
66
  }
59
67
  }
@@ -61,10 +69,12 @@ export declare namespace AmazonPinpoint {
61
69
  export declare namespace AmazonS3 {
62
70
  namespace GetSignedUrl {
63
71
  interface Request {
64
- filename: string;
65
- bucket: string;
66
- folder?: string;
67
- isUpload?: boolean;
72
+ data: {
73
+ filename: string;
74
+ bucket: string;
75
+ folder?: string;
76
+ isUpload?: boolean;
77
+ };
68
78
  credentials: Credentials;
69
79
  }
70
80
  interface Response {
@@ -73,9 +83,11 @@ export declare namespace AmazonS3 {
73
83
  }
74
84
  namespace UploadBase64 {
75
85
  interface Request {
76
- file: string;
77
- bucket: string;
78
- options?: UploadOptions;
86
+ data: {
87
+ file: string;
88
+ bucket: string;
89
+ options?: UploadOptions;
90
+ };
79
91
  credentials: Credentials;
80
92
  }
81
93
  interface Response {
@@ -86,9 +98,11 @@ export declare namespace AmazonS3 {
86
98
  }
87
99
  namespace UploadBuffer {
88
100
  interface Request {
89
- file: Buffer;
90
- bucket: string;
91
- options?: UploadOptions;
101
+ data: {
102
+ file: Buffer;
103
+ bucket: string;
104
+ options?: UploadOptions;
105
+ };
92
106
  credentials: Credentials;
93
107
  }
94
108
  interface Response {
@@ -99,16 +113,20 @@ export declare namespace AmazonS3 {
99
113
  }
100
114
  namespace DeleteFile {
101
115
  interface Request {
102
- filename: string;
103
- bucket: string;
104
- folder?: string;
116
+ data: {
117
+ filename: string;
118
+ bucket: string;
119
+ folder?: string;
120
+ };
105
121
  credentials: Credentials;
106
122
  }
107
123
  }
108
124
  namespace ListFiles {
109
125
  interface Request {
110
- bucket: string;
111
- folder?: string;
126
+ data: {
127
+ bucket: string;
128
+ folder?: string;
129
+ };
112
130
  credentials: Credentials;
113
131
  }
114
132
  interface Response {
@@ -119,7 +137,9 @@ export declare namespace AmazonS3 {
119
137
  export declare namespace AmazonSecretManager {
120
138
  namespace GetSecret {
121
139
  interface Request {
122
- secretId: string;
140
+ data: {
141
+ secret: string;
142
+ };
123
143
  credentials: Credentials;
124
144
  }
125
145
  interface Response<T> {
@@ -130,14 +150,18 @@ export declare namespace AmazonSecretManager {
130
150
  export declare namespace AmazonSQS {
131
151
  namespace PublishMessage {
132
152
  interface Request {
133
- queue: string;
134
- message: unknown;
153
+ data: {
154
+ queue: string;
155
+ message: unknown;
156
+ };
135
157
  credentials: Credentials;
136
158
  }
137
159
  }
138
160
  namespace ConsumeMessage {
139
161
  interface Request {
140
- queue: string;
162
+ data: {
163
+ queue: string;
164
+ };
141
165
  credentials: Credentials;
142
166
  }
143
167
  interface Response<T> {
@@ -146,7 +170,9 @@ export declare namespace AmazonSQS {
146
170
  }
147
171
  namespace ConsumeMessages {
148
172
  interface Request {
149
- queue: string;
173
+ data: {
174
+ queue: string;
175
+ };
150
176
  credentials: Credentials;
151
177
  }
152
178
  interface Response<T> {
@@ -6,30 +6,38 @@ interface Credentials {
6
6
  export declare namespace AzureApplicationInsights {
7
7
  namespace TrackTrace {
8
8
  interface Request {
9
- message: string;
10
- severity: string;
9
+ data: {
10
+ message: string;
11
+ severity: string;
12
+ };
11
13
  credentials: Credentials;
12
14
  }
13
15
  }
14
16
  namespace TrackEvent {
15
17
  interface Request {
16
- name: string;
17
- properties?: {
18
- [key: string]: string;
18
+ data: {
19
+ name: string;
20
+ properties?: {
21
+ [key: string]: string;
22
+ };
19
23
  };
20
24
  credentials: Credentials;
21
25
  }
22
26
  }
23
27
  namespace TrackException {
24
28
  interface Request {
25
- error: Error;
29
+ data: {
30
+ error: Error;
31
+ };
26
32
  credentials: Credentials;
27
33
  }
28
34
  }
29
35
  namespace TrackMetric {
30
36
  interface Request {
31
- name: string;
32
- value: number;
37
+ data: {
38
+ name: string;
39
+ value: number;
40
+ };
33
41
  credentials: Credentials;
34
42
  }
35
43
  }
@@ -37,29 +45,35 @@ export declare namespace AzureApplicationInsights {
37
45
  export declare namespace AzureCommunication {
38
46
  namespace SendMail {
39
47
  interface Request {
40
- subject: string;
41
- text: string;
42
- emails: string | string[];
43
- from: string;
44
- variables?: Record<string, string | number>;
48
+ data: {
49
+ subject: string;
50
+ text: string;
51
+ emails: string | string[];
52
+ from: string;
53
+ variables?: Record<string, string | number>;
54
+ };
45
55
  credentials: Credentials;
46
56
  }
47
57
  }
48
58
  namespace SendTemplateMail {
49
59
  interface Request {
50
- subject: string;
51
- template: string;
52
- emails: string | string[];
53
- from: string;
54
- variables?: Record<string, string | number>;
60
+ data: {
61
+ subject: string;
62
+ template: string;
63
+ emails: string | string[];
64
+ from: string;
65
+ variables?: Record<string, string | number>;
66
+ };
55
67
  credentials: Credentials;
56
68
  }
57
69
  }
58
70
  namespace SendSMS {
59
71
  interface Request {
60
- sender: string;
61
- text: string;
62
- phones: string | string[];
72
+ data: {
73
+ sender: string;
74
+ text: string;
75
+ phones: string | string[];
76
+ };
63
77
  credentials: Credentials;
64
78
  }
65
79
  }
@@ -67,8 +81,11 @@ export declare namespace AzureCommunication {
67
81
  export declare namespace AzureKeyVault {
68
82
  namespace GetSecret {
69
83
  interface Request {
70
- vault: string;
71
- secretName: string;
84
+ data: {
85
+ vault: string;
86
+ secretName: string;
87
+ };
88
+ credentials: Credentials;
72
89
  }
73
90
  interface Response<T> {
74
91
  secret: T;
@@ -78,18 +95,22 @@ export declare namespace AzureKeyVault {
78
95
  export declare namespace AzureStorageBlob {
79
96
  namespace UploadBuffer {
80
97
  interface Request {
81
- storageContainer: string;
82
- storageUrl: string;
83
- filename: string;
84
- file: Buffer;
98
+ data: {
99
+ storageContainer: string;
100
+ storageUrl: string;
101
+ filename: string;
102
+ file: Buffer;
103
+ };
85
104
  credentials: Credentials;
86
105
  }
87
106
  }
88
107
  namespace DownloadBuffer {
89
108
  interface Request {
90
- storageContainer: string;
91
- storageUrl: string;
92
- filename: string;
109
+ data: {
110
+ storageContainer: string;
111
+ storageUrl: string;
112
+ filename: string;
113
+ };
93
114
  credentials: Credentials;
94
115
  }
95
116
  interface Response {
@@ -98,14 +119,16 @@ export declare namespace AzureStorageBlob {
98
119
  }
99
120
  namespace GetPreSignedUrl {
100
121
  interface Request {
101
- filename: string;
102
- storageContainer: string;
103
- storageUrl: string;
104
- options?: {
105
- version?: string;
106
- hoursToExpire?: number;
107
- contentType?: string;
108
- contentEncoding?: string;
122
+ data: {
123
+ filename: string;
124
+ storageContainer: string;
125
+ storageUrl: string;
126
+ options?: {
127
+ version?: string;
128
+ hoursToExpire?: number;
129
+ contentType?: string;
130
+ contentEncoding?: string;
131
+ };
109
132
  };
110
133
  credentials: Credentials;
111
134
  }
@@ -7,14 +7,18 @@ interface Credentials {
7
7
  export declare namespace Firebase {
8
8
  namespace SendNotification {
9
9
  interface Request {
10
- message: FirebaseAdmin.messaging.MulticastMessage;
11
- isTest: boolean;
10
+ data: {
11
+ message: FirebaseAdmin.messaging.MulticastMessage;
12
+ isTest: boolean;
13
+ };
12
14
  credentials: Credentials;
13
15
  }
14
16
  }
15
17
  namespace PublishConfig {
16
18
  interface Request {
17
- template: string;
19
+ data: {
20
+ template: string;
21
+ };
18
22
  credentials: Credentials;
19
23
  }
20
24
  }
@@ -5,7 +5,9 @@ interface Credentials {
5
5
  export declare namespace GoogleDrive {
6
6
  namespace ReadFile {
7
7
  interface Request {
8
- fileId: string;
8
+ data: {
9
+ file: string;
10
+ };
9
11
  credentials: Credentials;
10
12
  }
11
13
  interface Response {
@@ -16,8 +18,10 @@ export declare namespace GoogleDrive {
16
18
  export declare namespace GoogleSheets {
17
19
  namespace ReadSheet {
18
20
  interface Request {
19
- spreadsheetId: string;
20
- tabs: string[];
21
+ data: {
22
+ spreadsheet: string;
23
+ tabs: string[];
24
+ };
21
25
  credentials: Credentials;
22
26
  }
23
27
  interface Response {
@@ -28,8 +32,10 @@ export declare namespace GoogleSheets {
28
32
  export declare namespace GoogleSecrets {
29
33
  namespace GetSecret {
30
34
  interface Request {
31
- projectId: string;
32
- secretId: string;
35
+ data: {
36
+ project: string;
37
+ secret: string;
38
+ };
33
39
  credentials: Credentials;
34
40
  }
35
41
  interface Response<T> {
@@ -5,7 +5,9 @@ interface Credentials {
5
5
  export declare namespace Grafana {
6
6
  namespace GetDashboard {
7
7
  interface Request {
8
- uid: string;
8
+ data: {
9
+ uid: string;
10
+ };
9
11
  credentials: Credentials;
10
12
  }
11
13
  interface Response {
@@ -14,7 +16,9 @@ export declare namespace Grafana {
14
16
  }
15
17
  namespace SearchDashboard {
16
18
  interface Request {
17
- query: string;
19
+ data: {
20
+ query: string;
21
+ };
18
22
  credentials: Credentials;
19
23
  }
20
24
  interface Response {
@@ -8,8 +8,27 @@ export declare namespace Keycloak {
8
8
  namespace Authenticate {
9
9
  interface Request {
10
10
  url: string;
11
- username: string;
12
- password: string;
11
+ realm: string;
12
+ data: {
13
+ username: string;
14
+ password: string;
15
+ };
16
+ credentials: Credentials;
17
+ }
18
+ interface Response {
19
+ access_token: string;
20
+ expires_in: number;
21
+ refresh_expires_in: number;
22
+ refresh_token: string;
23
+ token_type: string;
24
+ profileType?: number;
25
+ active?: boolean;
26
+ }
27
+ }
28
+ namespace AuthenticateServer {
29
+ interface Request {
30
+ url: string;
31
+ realm: string;
13
32
  credentials: Credentials;
14
33
  }
15
34
  interface Response {
@@ -25,7 +44,10 @@ export declare namespace Keycloak {
25
44
  namespace RefreshAccess {
26
45
  interface Request {
27
46
  url: string;
28
- refreshToken: string;
47
+ realm: string;
48
+ data: {
49
+ refreshToken: string;
50
+ };
29
51
  credentials: Credentials;
30
52
  }
31
53
  interface Response {
@@ -38,9 +60,45 @@ export declare namespace Keycloak {
38
60
  active?: boolean;
39
61
  }
40
62
  }
63
+ namespace CreateUser {
64
+ interface Request {
65
+ url: string;
66
+ realm: string;
67
+ data: {
68
+ username: string;
69
+ firstName: string;
70
+ lastName?: string;
71
+ email: string;
72
+ password: string;
73
+ isTemporaryPassword?: boolean;
74
+ groups: string[];
75
+ };
76
+ credentials: Credentials;
77
+ }
78
+ }
79
+ namespace UpdateUser {
80
+ interface Request {
81
+ url: string;
82
+ realm: string;
83
+ data: {
84
+ id: string;
85
+ username?: string;
86
+ firstName?: string;
87
+ lastName?: string;
88
+ email?: string;
89
+ password?: string;
90
+ isTemporaryPassword?: boolean;
91
+ groups?: string[];
92
+ };
93
+ credentials: Credentials;
94
+ }
95
+ }
41
96
  }
42
97
  export interface IKeycloakService {
43
98
  authenticate(req: Keycloak.Authenticate.Request): Promise<Keycloak.Authenticate.Response>;
99
+ authenticateServer(req: Keycloak.AuthenticateServer.Request): Promise<Keycloak.AuthenticateServer.Response>;
44
100
  refreshAccess(req: Keycloak.RefreshAccess.Request): Promise<Keycloak.RefreshAccess.Response>;
101
+ createUser(req: Keycloak.CreateUser.Request): Promise<void>;
102
+ updateUser(req: Keycloak.UpdateUser.Request): Promise<void>;
45
103
  }
46
104
  export {};
@@ -10,29 +10,33 @@ interface Credentials {
10
10
  export declare namespace NodeMailer {
11
11
  namespace Send {
12
12
  interface Request {
13
- from: {
14
- name: string;
15
- address: string;
13
+ data: {
14
+ from: {
15
+ name: string;
16
+ address: string;
17
+ };
18
+ to: string;
19
+ subject: string;
20
+ text: string;
16
21
  };
17
- to: string;
18
- subject: string;
19
- text: string;
20
22
  credentials: Credentials;
21
23
  }
22
24
  }
23
25
  namespace SendWithTemplate {
24
26
  interface Request {
25
- from: {
26
- name: string;
27
- address: string;
27
+ data: {
28
+ from: {
29
+ name: string;
30
+ address: string;
31
+ };
32
+ to: string;
33
+ subject: string;
34
+ html: string;
35
+ attachments: {
36
+ filename: string;
37
+ content: Buffer;
38
+ }[];
28
39
  };
29
- to: string;
30
- subject: string;
31
- html: string;
32
- attachments: {
33
- filename: string;
34
- content: Buffer;
35
- }[];
36
40
  credentials: Credentials;
37
41
  }
38
42
  }