@fiado/api-invoker 5.120.0 → 5.121.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.
@@ -2,6 +2,7 @@ import { ContainerModule } from "inversify";
2
2
  import { DirectoryApi } from "./directory/index.js";
3
3
  import { IdentityApi } from "./identity/index.js";
4
4
  import { FileStorageApi } from "./file-storage/index.js";
5
+ import { NotificationMessagesApi } from "./notificationMessages/index.js";
5
6
  import NotificationMessagePublisher from "./notificationMessages/queue/NotificationMessagePublisher.js";
6
7
  import TernApi from "./tern/api/TernApi.js";
7
8
  import PomeloApi from "./pomelo/api/PomeloApi.js";
@@ -164,6 +165,7 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
164
165
  bind("IBiometricsBusinessApi").to(BiometricsBusinessApi);
165
166
  bind("IAccountFiadoSAApi").to(AccountFiadoSAApi);
166
167
  bind("INotificationMessagesPublisher").to(NotificationMessagePublisher);
168
+ bind("INotificationMessagesApi").to(NotificationMessagesApi);
167
169
  bind("INotificationWSMessagesPublisher").to(NotificationWSMessagePublisher);
168
170
  bind("ISessionActivityPublisher").to(SessionActivityPublisher);
169
171
  bind("ITransactionPublisher").to(TransactionPublisher);
@@ -0,0 +1,12 @@
1
+ import type { IHttpRequest } from '@fiado/http-client';
2
+ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
3
+ import { MomentTemplateListResponse, MomentTemplateResponse, MomentTemplateUpsertRequest } from '@fiado/type-kit/bin/notificationMessages/index.js';
4
+ import { INotificationMessagesApi } from './interfaces/INotificationMessagesApi.js';
5
+ export declare class NotificationMessagesApi implements INotificationMessagesApi {
6
+ private readonly httpRequest;
7
+ private readonly baseUrl;
8
+ constructor(httpRequest: IHttpRequest);
9
+ upsertMomentTemplate(messageType: string, request: MomentTemplateUpsertRequest): Promise<FiadoApiResponse<MomentTemplateResponse>>;
10
+ listMomentTemplates(messageTypes: readonly string[]): Promise<FiadoApiResponse<MomentTemplateListResponse>>;
11
+ }
12
+ export {};
@@ -0,0 +1,35 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'inversify';
14
+ import { joinUrl } from '../../utils/joinUrl.js';
15
+ const MOMENT_TEMPLATES_PATH = 'notification-messages/private/moment-templates';
16
+ let NotificationMessagesApi = class NotificationMessagesApi {
17
+ httpRequest;
18
+ baseUrl = process.env.NOTIFICATION_MESSAGES_URL || '';
19
+ constructor(httpRequest) {
20
+ this.httpRequest = httpRequest;
21
+ }
22
+ async upsertMomentTemplate(messageType, request) {
23
+ const url = joinUrl(this.baseUrl, `${MOMENT_TEMPLATES_PATH}/${encodeURIComponent(messageType)}`);
24
+ return await this.httpRequest.put(url, request);
25
+ }
26
+ async listMomentTemplates(messageTypes) {
27
+ return await this.httpRequest.get(joinUrl(this.baseUrl, MOMENT_TEMPLATES_PATH), { messageTypes: messageTypes.join(',') });
28
+ }
29
+ };
30
+ NotificationMessagesApi = __decorate([
31
+ injectable(),
32
+ __param(0, inject('IHttpRequest')),
33
+ __metadata("design:paramtypes", [Object])
34
+ ], NotificationMessagesApi);
35
+ export { NotificationMessagesApi };
@@ -0,0 +1,10 @@
1
+ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
2
+ import { MomentTemplateListResponse, MomentTemplateResponse, MomentTemplateUpsertRequest } from '@fiado/type-kit/bin/notificationMessages/index.js';
3
+ /** Plantillas push de los momentos del crédito en notification-messages-business (API privada). */
4
+ export interface INotificationMessagesApi {
5
+ /** Crea o actualiza `ES_<messageType>`. Responde 409 si la fila es del wallet. */
6
+ upsertMomentTemplate(messageType: string, request: MomentTemplateUpsertRequest): Promise<FiadoApiResponse<MomentTemplateResponse>>;
7
+ /** Lectura en lote: la plantilla que no existe no viene en `items`. */
8
+ listMomentTemplates(messageTypes: readonly string[]): Promise<FiadoApiResponse<MomentTemplateListResponse>>;
9
+ }
10
+ export {};
@@ -1,2 +1,4 @@
1
1
  export * from './queue/NotificationMessagePublisher.js';
2
2
  export * from './queue/interfaces/INotificationMessagesPublisher.js';
3
+ export * from './api/NotificationMessagesApi.js';
4
+ export * from './api/interfaces/INotificationMessagesApi.js';
@@ -1,2 +1,4 @@
1
1
  export * from './queue/NotificationMessagePublisher.js';
2
2
  export * from './queue/interfaces/INotificationMessagesPublisher.js';
3
+ export * from './api/NotificationMessagesApi.js';
4
+ export * from './api/interfaces/INotificationMessagesApi.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "5.120.0",
3
+ "version": "5.121.0",
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
  "type": "module",
6
6
  "main": "bin/index.js",
@@ -34,7 +34,7 @@
34
34
  "@fiado/gateway-adapter": "^3.14.0",
35
35
  "@fiado/http-client": "^2.0.1",
36
36
  "@fiado/logger": "^1.1.3",
37
- "@fiado/type-kit": "^3.516.0",
37
+ "@fiado/type-kit": "^3.522.0",
38
38
  "dotenv": "^16.4.7"
39
39
  },
40
40
  "peerDependencies": {
@@ -2,7 +2,7 @@ import { ContainerModule } from "inversify";
2
2
  import { DirectoryApi, IDirectoryApi } from "./directory/index.js";
3
3
  import { IdentityApi, IIdentityApi } from "./identity/index.js";
4
4
  import { FileStorageApi, IFileStorageApi } from "./file-storage/index.js";
5
- import { INotificationMessagesPublisher } from "./notificationMessages/index.js";
5
+ import { INotificationMessagesApi, INotificationMessagesPublisher, NotificationMessagesApi } from "./notificationMessages/index.js";
6
6
  import NotificationMessagePublisher from "./notificationMessages/queue/NotificationMessagePublisher.js";
7
7
  import { ITernApi } from "./tern/index.js";
8
8
  import TernApi from "./tern/api/TernApi.js";
@@ -237,6 +237,7 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
237
237
  bind<IBiometricsBusinessApi>("IBiometricsBusinessApi").to(BiometricsBusinessApi);
238
238
  bind<IAccountFiadoSAApi>("IAccountFiadoSAApi").to(AccountFiadoSAApi);
239
239
  bind<INotificationMessagesPublisher>("INotificationMessagesPublisher").to(NotificationMessagePublisher);
240
+ bind<INotificationMessagesApi>("INotificationMessagesApi").to(NotificationMessagesApi);
240
241
  bind<INotificationWSMessagesPublisher>("INotificationWSMessagesPublisher").to(NotificationWSMessagePublisher);
241
242
  bind<ISessionActivityPublisher>("ISessionActivityPublisher").to(SessionActivityPublisher);
242
243
  bind<ITransactionPublisher>("ITransactionPublisher").to(TransactionPublisher);
@@ -0,0 +1,28 @@
1
+ import { inject, injectable } from 'inversify';
2
+ import type { IHttpRequest } from '@fiado/http-client';
3
+ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
4
+ import {
5
+ MomentTemplateListResponse,
6
+ MomentTemplateResponse,
7
+ MomentTemplateUpsertRequest,
8
+ } from '@fiado/type-kit/bin/notificationMessages/index.js';
9
+ import { INotificationMessagesApi } from './interfaces/INotificationMessagesApi.js';
10
+ import { joinUrl } from '../../utils/joinUrl.js';
11
+
12
+ const MOMENT_TEMPLATES_PATH = 'notification-messages/private/moment-templates';
13
+
14
+ @injectable()
15
+ export class NotificationMessagesApi implements INotificationMessagesApi {
16
+ private readonly baseUrl = process.env.NOTIFICATION_MESSAGES_URL || '';
17
+
18
+ constructor(@inject('IHttpRequest') private readonly httpRequest: IHttpRequest) {}
19
+
20
+ async upsertMomentTemplate(messageType: string, request: MomentTemplateUpsertRequest): Promise<FiadoApiResponse<MomentTemplateResponse>> {
21
+ const url = joinUrl(this.baseUrl, `${MOMENT_TEMPLATES_PATH}/${encodeURIComponent(messageType)}`);
22
+ return await this.httpRequest.put(url, request);
23
+ }
24
+
25
+ async listMomentTemplates(messageTypes: readonly string[]): Promise<FiadoApiResponse<MomentTemplateListResponse>> {
26
+ return await this.httpRequest.get(joinUrl(this.baseUrl, MOMENT_TEMPLATES_PATH), { messageTypes: messageTypes.join(',') });
27
+ }
28
+ }
@@ -0,0 +1,14 @@
1
+ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
2
+ import {
3
+ MomentTemplateListResponse,
4
+ MomentTemplateResponse,
5
+ MomentTemplateUpsertRequest,
6
+ } from '@fiado/type-kit/bin/notificationMessages/index.js';
7
+
8
+ /** Plantillas push de los momentos del crédito en notification-messages-business (API privada). */
9
+ export interface INotificationMessagesApi {
10
+ /** Crea o actualiza `ES_<messageType>`. Responde 409 si la fila es del wallet. */
11
+ upsertMomentTemplate(messageType: string, request: MomentTemplateUpsertRequest): Promise<FiadoApiResponse<MomentTemplateResponse>>;
12
+ /** Lectura en lote: la plantilla que no existe no viene en `items`. */
13
+ listMomentTemplates(messageTypes: readonly string[]): Promise<FiadoApiResponse<MomentTemplateListResponse>>;
14
+ }
@@ -1,2 +1,4 @@
1
1
  export * from './queue/NotificationMessagePublisher.js';
2
- export * from './queue/interfaces/INotificationMessagesPublisher.js';
2
+ export * from './queue/interfaces/INotificationMessagesPublisher.js';
3
+ export * from './api/NotificationMessagesApi.js';
4
+ export * from './api/interfaces/INotificationMessagesApi.js';