@fiado/api-invoker 1.5.22 → 1.5.24

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 (29) hide show
  1. package/bin/account-fiadoinc/queue/TransactionPublisher.d.ts +9 -0
  2. package/bin/account-fiadoinc/queue/TransactionPublisher.js +36 -0
  3. package/bin/account-fiadoinc/queue/interfaces/ITransactionPublisher.d.ts +7 -0
  4. package/bin/activity/ActivityApi.d.ts +17 -0
  5. package/bin/activity/ActivityApi.js +72 -0
  6. package/bin/activity/index.d.ts +2 -0
  7. package/bin/activity/index.js +18 -0
  8. package/bin/activity/interfaces/IActivityApi.d.ts +39 -0
  9. package/bin/container.config.js +2 -0
  10. package/bin/index.d.ts +1 -0
  11. package/bin/index.js +1 -0
  12. package/bin/notificationWebsockets/index.d.ts +2 -0
  13. package/bin/notificationWebsockets/index.js +18 -0
  14. package/bin/notificationWebsockets/queue/NotificationWSMessagePublisher.d.ts +7 -0
  15. package/bin/notificationWebsockets/queue/NotificationWSMessagePublisher.js +37 -0
  16. package/bin/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.d.ts +4 -0
  17. package/bin/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.js +2 -0
  18. package/bin/referral-business/PayrollApi.d.ts +9 -0
  19. package/bin/referral-business/PayrollApi.js +37 -0
  20. package/package.json +2 -2
  21. package/src/container.config.ts +3 -0
  22. package/src/index.ts +2 -1
  23. package/src/notificationWebsockets/index.ts +2 -0
  24. package/src/notificationWebsockets/queue/NotificationWSMessagePublisher.ts +26 -0
  25. package/src/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.ts +5 -0
  26. package/bin/cognitoConnector/interfaces/ICognitoConnectorApiV2.d.ts +0 -46
  27. package/bin/report-processor-business/api/IReportProcessorBusiness.d.ts +0 -3
  28. /package/bin/{cognitoConnector/interfaces/ICognitoConnectorApiV2.js → account-fiadoinc/queue/interfaces/ITransactionPublisher.js} +0 -0
  29. /package/bin/{report-processor-business/api/IReportProcessorBusiness.js → activity/interfaces/IActivityApi.js} +0 -0
@@ -0,0 +1,9 @@
1
+ import { ITransactionPublisher } from "./interfaces/ITransactionPublisher";
2
+ import { ProviderDocumentUploadRequest } from "@fiado/type-kit/bin/provider";
3
+ export declare class TransactionPublisher implements ITransactionPublisher {
4
+ private readonly FIADO_INC_KYC_MESSAGE_QUEUE;
5
+ publish(message: {
6
+ externalUserId: string;
7
+ input: ProviderDocumentUploadRequest;
8
+ }): Promise<void>;
9
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TransactionPublisher = void 0;
10
+ const client_sqs_1 = require("@aws-sdk/client-sqs");
11
+ const inversify_1 = require("inversify");
12
+ let TransactionPublisher = class TransactionPublisher {
13
+ constructor() {
14
+ this.FIADO_INC_KYC_MESSAGE_QUEUE = process.env.FIADO_INC_KYC_MESSAGE_QUEUE;
15
+ }
16
+ async publish(message) {
17
+ try {
18
+ const client = new client_sqs_1.SQSClient();
19
+ const sendMessageRequest = {
20
+ QueueUrl: this.FIADO_INC_KYC_MESSAGE_QUEUE,
21
+ MessageBody: JSON.stringify(message),
22
+ MessageGroupId: message.externalUserId,
23
+ MessageDeduplicationId: message.externalUserId
24
+ };
25
+ const command = new client_sqs_1.SendMessageCommand(sendMessageRequest);
26
+ await client.send(command);
27
+ }
28
+ catch (error) {
29
+ throw new Error(`Error publishing message to queue ${': ' + error.message}`);
30
+ }
31
+ }
32
+ };
33
+ exports.TransactionPublisher = TransactionPublisher;
34
+ exports.TransactionPublisher = TransactionPublisher = __decorate([
35
+ (0, inversify_1.injectable)()
36
+ ], TransactionPublisher);
@@ -0,0 +1,7 @@
1
+ import { ProviderDocumentUploadRequest } from "@fiado/type-kit/bin/provider";
2
+ export interface ITransactionPublisher {
3
+ publish(params: {
4
+ externalUserId: string;
5
+ input: ProviderDocumentUploadRequest;
6
+ }): Promise<void>;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { IHttpRequest } from "@fiado/http-client";
2
+ import { IActivityApi } from './interfaces/IActivityApi';
3
+ import { TypeOfDirectoryId } from '@fiado/type-kit/bin/directory';
4
+ export declare class ActivityApi implements IActivityApi {
5
+ private httpRequest;
6
+ private readonly baseUrl;
7
+ constructor(httpRequest: IHttpRequest);
8
+ getActivities(typeOfActivities: string[]): Promise<any>;
9
+ getActivitiesByDirectoryIdAndTypeOfActivity(directoryId: string, typeOfActivities: string[]): Promise<any>;
10
+ postActivity(params: {
11
+ directoryId: string;
12
+ typeOfDirectoryId: TypeOfDirectoryId;
13
+ typeOfActivity: string;
14
+ amount: string;
15
+ date: string;
16
+ }): Promise<any>;
17
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ActivityApi = void 0;
19
+ const dotenv_1 = __importDefault(require("dotenv"));
20
+ const inversify_1 = require("inversify");
21
+ dotenv_1.default.config();
22
+ let ActivityApi = class ActivityApi {
23
+ constructor(httpRequest) {
24
+ this.httpRequest = httpRequest;
25
+ this.baseUrl = process.env.ACTIVITY_LAMBDA_URL || "";
26
+ }
27
+ async getActivities(typeOfActivities) {
28
+ let url = `${this.baseUrl}activities`;
29
+ if (typeOfActivities.length > 0) {
30
+ url = `${this.baseUrl}activities?${typeOfActivities.map(id => `typeOfActivities=${encodeURIComponent(id)}`).join('&')}`;
31
+ }
32
+ const operationName = "getActivities";
33
+ return await this.httpRequest.post(`${url}`, null, { 'operationName': operationName });
34
+ }
35
+ async getActivitiesByDirectoryIdAndTypeOfActivity(directoryId, typeOfActivities) {
36
+ if (directoryId == null || directoryId == undefined || directoryId == "") {
37
+ throw new Error("At least directory ID is required.");
38
+ }
39
+ let url = `${this.baseUrl}activities/directory/${directoryId}`;
40
+ if (typeOfActivities.length > 0) {
41
+ url = `${this.baseUrl}activities/directory/${directoryId}?${typeOfActivities.map(id => `typeOfActivities=${encodeURIComponent(id)}`).join('&')}`;
42
+ }
43
+ const operationName = "getActivitiesByDirectoryIdAndTypeOfActivity";
44
+ return await this.httpRequest.post(`${url}`, null, { 'operationName': operationName });
45
+ }
46
+ async postActivity(params) {
47
+ if (params.directoryId == null || params.directoryId == undefined || params.directoryId == "") {
48
+ throw new Error("At least directory ID is required.");
49
+ }
50
+ if (params.typeOfDirectoryId == null || params.typeOfDirectoryId == undefined) {
51
+ throw new Error("At least typeOfDirectoryId is required.");
52
+ }
53
+ if (params.typeOfActivity == null || params.typeOfActivity == undefined || params.typeOfActivity == "") {
54
+ throw new Error("At least typeOfActivity is required.");
55
+ }
56
+ if (params.amount == null || params.amount == undefined || params.amount == "") {
57
+ throw new Error("At least amount is required.");
58
+ }
59
+ if (params.date == null || params.date == undefined || params.date == "") {
60
+ throw new Error("At least date is required.");
61
+ }
62
+ const url = `${this.baseUrl}/activities/create`;
63
+ const operationName = "postActivity";
64
+ return await this.httpRequest.post(`${url}`, params, { 'operationName': operationName });
65
+ }
66
+ };
67
+ exports.ActivityApi = ActivityApi;
68
+ exports.ActivityApi = ActivityApi = __decorate([
69
+ (0, inversify_1.injectable)(),
70
+ __param(0, (0, inversify_1.inject)("IHttpRequest")),
71
+ __metadata("design:paramtypes", [Object])
72
+ ], ActivityApi);
@@ -0,0 +1,2 @@
1
+ export * from './interfaces/IActivityApi';
2
+ export * from './ActivityApi';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./interfaces/IActivityApi"), exports);
18
+ __exportStar(require("./ActivityApi"), exports);
@@ -0,0 +1,39 @@
1
+ import { TypeOfDirectoryId } from "@fiado/type-kit/bin/directory";
2
+ /**
3
+ * Interfaz para el servicio Directory que permite operaciones sobre directorios.
4
+ */
5
+ export interface IActivityApi {
6
+ /**
7
+ * Obtiene una lista de entidades de la tabla ActivityDirectory.
8
+ * @param directoryId Directorio que se va a consultar.
9
+ * @param typeOfActivities Array de tipos de actividades (Opcional).
10
+ * @returns Retorna un arreglo de objetos de ActivityDirectory.
11
+ * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
12
+ */
13
+ getActivitiesByDirectoryIdAndTypeOfActivity(directoryId: string, typeOfActivities: string[]): Promise<any>;
14
+ /**
15
+ * Obtener actividades globales.
16
+ * @param typeOfActivity Tipo de actividad
17
+ * Puede devolver un arreglo vacío si no se encuentran coincidencias.
18
+ * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
19
+ */
20
+ getActivities(typeOfActivities: string[]): Promise<any>;
21
+ /**
22
+ * Proceso para agregar a las actividades.
23
+ * @param directoryId Directorio
24
+ * @param typeOfDirectoryId Tipo de directorio
25
+ * @param typeOfActivity Tipo de actividad
26
+ * @param amount Monto de la actividad
27
+ * @param date Fecha de la actividad
28
+ * @returns Retorna un objeto de ActivityDirectory.
29
+ * Puede devolver un arreglo vacío si no se encuentran coincidencias.
30
+ * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
31
+ */
32
+ postActivity(params: {
33
+ directoryId: string;
34
+ typeOfDirectoryId: TypeOfDirectoryId;
35
+ typeOfActivity: string;
36
+ amount: string;
37
+ date: string;
38
+ }): Promise<any>;
39
+ }
@@ -67,6 +67,7 @@ const payroll_business_1 = require("./payroll-business");
67
67
  const referral_business_1 = require("./referral-business");
68
68
  const event_history_business_1 = require("./event-history-business");
69
69
  const ReportProcessorBusinessApi_1 = __importDefault(require("./report-processor-business/api/ReportProcessorBusinessApi"));
70
+ const NotificationWSMessagePublisher_1 = __importDefault(require("./notificationWebsockets/queue/NotificationWSMessagePublisher"));
70
71
  exports.apiInvokerBindings = new inversify_1.ContainerModule((bind) => {
71
72
  // UTILS bindings
72
73
  bind("InvokerUtils").to(InvokerUtils_1.InvokerUtils);
@@ -82,6 +83,7 @@ exports.apiInvokerBindings = new inversify_1.ContainerModule((bind) => {
82
83
  bind("IAccountPagoConfiadoApi").to(AccountPagoConfiadoApi_1.default);
83
84
  bind("IAccountFiadoSAApi").to(AccountFiadoSAApi_1.default);
84
85
  bind("INotificationMessagesPublisher").to(NotificationMessagePublisher_1.default);
86
+ bind("INotificationWSMessagesPublisher").to(NotificationWSMessagePublisher_1.default);
85
87
  bind("ISessionActivityPublisher").to(sessionActivity_1.SessionActivityPublisher);
86
88
  bind("ITransactionPublisher").to(transaction_1.TransactionPublisher);
87
89
  bind("ITransactionApi").to(TransactionApi_1.default);
package/bin/index.d.ts CHANGED
@@ -54,3 +54,4 @@ export * from "./payroll-business";
54
54
  export * from "./referral-business";
55
55
  export * from "./event-history-business";
56
56
  export * from "./report-processor-business";
57
+ export * from "./notificationWebsockets";
package/bin/index.js CHANGED
@@ -70,3 +70,4 @@ __exportStar(require("./payroll-business"), exports);
70
70
  __exportStar(require("./referral-business"), exports);
71
71
  __exportStar(require("./event-history-business"), exports);
72
72
  __exportStar(require("./report-processor-business"), exports);
73
+ __exportStar(require("./notificationWebsockets"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './queue/NotificationWSMessagePublisher';
2
+ export * from './queue/interfaces/INotificationWSMessagesPublisher';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./queue/NotificationWSMessagePublisher"), exports);
18
+ __exportStar(require("./queue/interfaces/INotificationWSMessagesPublisher"), exports);
@@ -0,0 +1,7 @@
1
+ import { INotificationWSMessagesPublisher } from "./interfaces/INotificationWSMessagesPublisher";
2
+ import { NotificationWSQueueMessageRequest } from "@fiado/type-kit/bin/notificationWS";
3
+ export default class NotificationWSMessagePublisher implements INotificationWSMessagesPublisher {
4
+ constructor();
5
+ private readonly NOTIFICATION_WS_MESSAGES_QUEUE;
6
+ publish(message: NotificationWSQueueMessageRequest<any>): Promise<void>;
7
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const client_sqs_1 = require("@aws-sdk/client-sqs");
13
+ const inversify_1 = require("inversify");
14
+ let NotificationWSMessagePublisher = class NotificationWSMessagePublisher {
15
+ constructor() {
16
+ this.NOTIFICATION_WS_MESSAGES_QUEUE = process.env.NOTIFICATION_WS_MESSAGES_QUEUE;
17
+ }
18
+ async publish(message) {
19
+ try {
20
+ const client = new client_sqs_1.SQSClient();
21
+ const sendMessageRequest = {
22
+ QueueUrl: this.NOTIFICATION_WS_MESSAGES_QUEUE,
23
+ MessageBody: JSON.stringify(message)
24
+ };
25
+ const command = new client_sqs_1.SendMessageCommand(sendMessageRequest);
26
+ await client.send(command);
27
+ }
28
+ catch (error) {
29
+ throw new Error(`Error publishing message to queue ${': ' + error.message}`);
30
+ }
31
+ }
32
+ };
33
+ NotificationWSMessagePublisher = __decorate([
34
+ (0, inversify_1.injectable)(),
35
+ __metadata("design:paramtypes", [])
36
+ ], NotificationWSMessagePublisher);
37
+ exports.default = NotificationWSMessagePublisher;
@@ -0,0 +1,4 @@
1
+ import { NotificationWSQueueMessageRequest } from "@fiado/type-kit/bin/notificationWS";
2
+ export interface INotificationWSMessagesPublisher {
3
+ publish(message: NotificationWSQueueMessageRequest<any>): Promise<void>;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import { IHttpRequest } from "@fiado/http-client";
2
+ import { IReferralBusinessApi } from "./interfaces/IReferralBusinessApi";
3
+ import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse";
4
+ export declare class ReferralBusinessApi implements IReferralBusinessApi {
5
+ private httpRequest;
6
+ private readonly baseUrl;
7
+ constructor(httpRequest: IHttpRequest);
8
+ getByDirectoryId(directoryId: string): Promise<FiadoApiResponse<any>>;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ReferralBusinessApi = void 0;
19
+ const inversify_1 = require("inversify");
20
+ const dotenv_1 = __importDefault(require("dotenv"));
21
+ dotenv_1.default.config();
22
+ let ReferralBusinessApi = class ReferralBusinessApi {
23
+ constructor(httpRequest) {
24
+ this.httpRequest = httpRequest;
25
+ this.baseUrl = process.env.PAYROLL_BUSINESS_LAMBDA_URL || "";
26
+ }
27
+ async getByDirectoryId(directoryId) {
28
+ const url = `${this.baseUrl}private/agents/directoryId/${directoryId}`;
29
+ return await this.httpRequest.get(url);
30
+ }
31
+ };
32
+ exports.ReferralBusinessApi = ReferralBusinessApi;
33
+ exports.ReferralBusinessApi = ReferralBusinessApi = __decorate([
34
+ (0, inversify_1.injectable)(),
35
+ __param(0, (0, inversify_1.inject)("IHttpRequest")),
36
+ __metadata("design:paramtypes", [Object])
37
+ ], ReferralBusinessApi);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "1.5.22",
3
+ "version": "1.5.24",
4
4
  "description": "Sirve como un puente entre diferentes funciones lambda, facilitando la comunicación entre ellas a través de invocaciones http",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "@fiado/gateway-adapter": "^1.1.50",
17
17
  "@fiado/http-client": "^1.0.7",
18
18
  "@fiado/logger": "^1.0.3",
19
- "@fiado/type-kit": "^2.0.76",
19
+ "@fiado/type-kit": "^2.1.16",
20
20
  "dotenv": "^16.4.7",
21
21
  "inversify": "^6.2.2",
22
22
  "reflect-metadata": "^0.2.2"
@@ -86,6 +86,8 @@ import { IReferralBusinessApi, ReferralBusinessApi } from "./referral-business";
86
86
  import { EventHistoryApi, IEventHistoryApi } from "./event-history-business";
87
87
  import ReportProcessorBusinessApi from "./report-processor-business/api/ReportProcessorBusinessApi";
88
88
  import { IReportProcessorBusinessApi } from "./report-processor-business";
89
+ import { INotificationWSMessagesPublisher } from "./notificationWebsockets";
90
+ import NotificationWSMessagePublisher from "./notificationWebsockets/queue/NotificationWSMessagePublisher";
89
91
 
90
92
  export const apiInvokerBindings = new ContainerModule((bind: interfaces.Bind) => {
91
93
  // UTILS bindings
@@ -103,6 +105,7 @@ export const apiInvokerBindings = new ContainerModule((bind: interfaces.Bind) =>
103
105
  bind<IAccountPagoConfiadoApi>("IAccountPagoConfiadoApi").to(AccountPagoConfiadoApi);
104
106
  bind<IAccountFiadoSAApi>("IAccountFiadoSAApi").to(AccountFiadoSAApi);
105
107
  bind<INotificationMessagesPublisher>("INotificationMessagesPublisher").to(NotificationMessagePublisher);
108
+ bind<INotificationWSMessagesPublisher>("INotificationWSMessagesPublisher").to(NotificationWSMessagePublisher);
106
109
  bind<ISessionActivityPublisher>("ISessionActivityPublisher").to(SessionActivityPublisher);
107
110
  bind<ITransactionPublisher>("ITransactionPublisher").to(TransactionPublisher);
108
111
  bind<ITransactionApi>("ITransactionApi").to(TransactionApi);
package/src/index.ts CHANGED
@@ -53,4 +53,5 @@ export * from "./onboarding-business";
53
53
  export * from "./payroll-business";
54
54
  export * from "./referral-business";
55
55
  export * from "./event-history-business";
56
- export * from "./report-processor-business";
56
+ export * from "./report-processor-business";
57
+ export * from "./notificationWebsockets";
@@ -0,0 +1,2 @@
1
+ export * from './queue/NotificationWSMessagePublisher';
2
+ export * from './queue/interfaces/INotificationWSMessagesPublisher';
@@ -0,0 +1,26 @@
1
+ import {INotificationWSMessagesPublisher} from "./interfaces/INotificationWSMessagesPublisher";
2
+ import {NotificationWSQueueMessageRequest} from "@fiado/type-kit/bin/notificationWS";
3
+ import {SendMessageCommand, SendMessageRequest, SQSClient} from "@aws-sdk/client-sqs";
4
+ import {injectable} from "inversify";
5
+
6
+
7
+ @injectable()
8
+ export default class NotificationWSMessagePublisher implements INotificationWSMessagesPublisher {
9
+
10
+ constructor() {}
11
+
12
+ private readonly NOTIFICATION_WS_MESSAGES_QUEUE = process.env.NOTIFICATION_WS_MESSAGES_QUEUE
13
+
14
+ async publish(message: NotificationWSQueueMessageRequest<any>): Promise<void> {
15
+ try {
16
+ const client: SQSClient = new SQSClient();
17
+ const sendMessageRequest: SendMessageRequest = {
18
+ QueueUrl: this.NOTIFICATION_WS_MESSAGES_QUEUE,
19
+ MessageBody: JSON.stringify(message)
20
+ };
21
+ const command: SendMessageCommand = new SendMessageCommand(sendMessageRequest);
22
+ await client.send(command);
23
+ } catch (error) {
24
+ throw new Error(`Error publishing message to queue ${': ' + error.message}`);
25
+ }
26
+ }}
@@ -0,0 +1,5 @@
1
+ import { NotificationWSQueueMessageRequest } from "@fiado/type-kit/bin/notificationWS";
2
+
3
+ export interface INotificationWSMessagesPublisher {
4
+ publish(message: NotificationWSQueueMessageRequest<any>): Promise<void>;
5
+ }
@@ -1,46 +0,0 @@
1
- import { ChangePasswordRequest, GetUserRequest, GetUserResponse, RefreshTokenRequest, RefreshTokenResponse, RespondToAuthChallengeRequest, SetPasswordRequest, SignInRequest, SignInResponse, SignUpConfirmRequest, SignUpRequest, SignUpResponse } from "@fiado/type-kit/bin/cognitoConnector";
2
- export interface ICognitoApi {
3
- /**
4
- * Healthcheck for the cognito-connector
5
- */
6
- healthcheck(): Promise<HealthcheckResponse>;
7
- /**
8
- * Create a new user in Cognito
9
- */
10
- signUp(request: SignUpRequest): Promise<SignUpResponse>;
11
- /**
12
- * Confirm sign-up for a user in Cognito
13
- */
14
- signUpConfirm(request: SignUpConfirmRequest): Promise<void>;
15
- /**
16
- * Sign in a user
17
- */
18
- signIn(request: SignInRequest): Promise<SignInResponse>;
19
- /**
20
- * Sign out a user
21
- */
22
- signOut(): Promise<void>;
23
- /**
24
- * Change a user's password
25
- */
26
- changePassword(request: ChangePasswordRequest): Promise<void>;
27
- /**
28
- * Retrieve user details
29
- */
30
- getUser(request: GetUserRequest): Promise<GetUserResponse>;
31
- /**
32
- * Refresh a user's tokens
33
- */
34
- refreshToken(request: RefreshTokenRequest): Promise<RefreshTokenResponse>;
35
- /**
36
- * Respond to an auth challenge
37
- */
38
- respondToAuthChallenge(request: RespondToAuthChallengeRequest): Promise<any>;
39
- /**
40
- * Reset a user's password
41
- */
42
- resetPassword(request: SetPasswordRequest): Promise<void>;
43
- }
44
- export interface HealthcheckResponse {
45
- status: string;
46
- }
@@ -1,3 +0,0 @@
1
- export interface IReportProcessorBusiness {
2
- processReports(key: string): Promise<void>;
3
- }