@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.
- package/bin/container.config.js +2 -0
- package/bin/notificationMessages/api/NotificationMessagesApi.d.ts +12 -0
- package/bin/notificationMessages/api/NotificationMessagesApi.js +35 -0
- package/bin/notificationMessages/api/interfaces/INotificationMessagesApi.d.ts +10 -0
- package/bin/notificationMessages/api/interfaces/INotificationMessagesApi.js +1 -0
- package/bin/notificationMessages/index.d.ts +2 -0
- package/bin/notificationMessages/index.js +2 -0
- package/package.json +2 -2
- package/src/container.config.ts +2 -1
- package/src/notificationMessages/api/NotificationMessagesApi.ts +28 -0
- package/src/notificationMessages/api/interfaces/INotificationMessagesApi.ts +14 -0
- package/src/notificationMessages/index.ts +3 -1
package/bin/container.config.js
CHANGED
|
@@ -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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
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.
|
|
37
|
+
"@fiado/type-kit": "^3.522.0",
|
|
38
38
|
"dotenv": "^16.4.7"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
package/src/container.config.ts
CHANGED
|
@@ -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';
|