@fiado/api-invoker 5.71.0 → 5.72.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 +5 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +1 -0
- package/bin/sns-ses-connector/api/SnsSesConnectorApi.js +2 -1
- package/bin/twilio-connector/api/TwilioConnectorApi.d.ts +1 -1
- package/bin/twilio-connector/api/TwilioConnectorApi.js +2 -1
- package/bin/utils/joinUrl.d.ts +5 -0
- package/bin/utils/joinUrl.js +9 -0
- package/package.json +1 -1
- package/src/container.config.ts +6 -0
- package/src/index.ts +1 -0
- package/src/sns-ses-connector/api/SnsSesConnectorApi.ts +2 -1
- package/src/twilio-connector/api/TwilioConnectorApi.ts +3 -2
- package/src/utils/joinUrl.ts +9 -0
package/bin/container.config.js
CHANGED
|
@@ -122,6 +122,8 @@ import { WalletFundingSettlementApi } from "./walletFundingSettlement/index.js";
|
|
|
122
122
|
import { WalletFundingRulesApi } from "./wallet-funding-rules/index.js";
|
|
123
123
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
124
124
|
import { SnsSesConnectorApi } from "./sns-ses-connector/index.js";
|
|
125
|
+
// Twilio connector — envío WhatsApp/SMS por Twilio (lee TWILIO_CONNECTOR_LAMBDA_URL)
|
|
126
|
+
import { TwilioConnectorApi } from "./twilio-connector/index.js";
|
|
125
127
|
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
126
128
|
import { RemittanceBusinessApi } from "./remittance-business/index.js";
|
|
127
129
|
import { BeneficiaryApi } from "./beneficiary/index.js";
|
|
@@ -269,6 +271,9 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
|
269
271
|
bind("IWalletFundingRulesApi").to(WalletFundingRulesApi);
|
|
270
272
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
271
273
|
bind("ISnsSesConnectorApi").to(SnsSesConnectorApi);
|
|
274
|
+
// Twilio connector — envío WhatsApp/SMS por Twilio, elegido por el `provider` del senderConfig.
|
|
275
|
+
// El consumidor necesita TWILIO_CONNECTOR_LAMBDA_URL desde el SSM `fiado-twilio-connector`.
|
|
276
|
+
bind("ITwilioConnectorApi").to(TwilioConnectorApi);
|
|
272
277
|
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
273
278
|
bind("IRemittanceBusinessApi").to(RemittanceBusinessApi);
|
|
274
279
|
// Borrado en cascada del directorio — deleteByDirectoryId por dominio
|
package/bin/index.d.ts
CHANGED
|
@@ -103,6 +103,7 @@ export * from "./uniteller-connector/index.js";
|
|
|
103
103
|
export * from "./walletFundingSettlement/index.js";
|
|
104
104
|
export * from "./wallet-funding-rules/index.js";
|
|
105
105
|
export * from "./sns-ses-connector/index.js";
|
|
106
|
+
export * from "./twilio-connector/index.js";
|
|
106
107
|
export * from "./remittance-business/index.js";
|
|
107
108
|
export * from "./modelias-connector/index.js";
|
|
108
109
|
export * from "./beneficiary/index.js";
|
package/bin/index.js
CHANGED
|
@@ -103,6 +103,7 @@ export * from "./uniteller-connector/index.js";
|
|
|
103
103
|
export * from "./walletFundingSettlement/index.js";
|
|
104
104
|
export * from "./wallet-funding-rules/index.js";
|
|
105
105
|
export * from "./sns-ses-connector/index.js";
|
|
106
|
+
export * from "./twilio-connector/index.js";
|
|
106
107
|
export * from "./remittance-business/index.js";
|
|
107
108
|
export * from "./modelias-connector/index.js";
|
|
108
109
|
export * from "./beneficiary/index.js";
|
|
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'inversify';
|
|
14
|
+
import { joinUrl } from '../../utils/joinUrl.js';
|
|
14
15
|
let SnsSesConnectorApi = class SnsSesConnectorApi {
|
|
15
16
|
httpRequest;
|
|
16
17
|
baseUrl = process.env.SNS_SES_CONNECTOR_LAMBDA_URL || '';
|
|
@@ -18,7 +19,7 @@ let SnsSesConnectorApi = class SnsSesConnectorApi {
|
|
|
18
19
|
this.httpRequest = httpRequest;
|
|
19
20
|
}
|
|
20
21
|
async send(request) {
|
|
21
|
-
const url =
|
|
22
|
+
const url = joinUrl(this.baseUrl, 'send');
|
|
22
23
|
return await this.httpRequest.post(url, request, { 'operationName': 'privateSend' });
|
|
23
24
|
}
|
|
24
25
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IHttpRequest } from "@fiado/http-client";
|
|
1
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/twilioConnector/index.js";
|
|
3
3
|
import { ITwilioConnectorApi } from "./interfaces/ITwilioConnectorApi.js";
|
|
4
4
|
type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
|
|
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from "inversify";
|
|
14
|
+
import { joinUrl } from "../../utils/joinUrl.js";
|
|
14
15
|
let TwilioConnectorApi = class TwilioConnectorApi {
|
|
15
16
|
httpRequest;
|
|
16
17
|
baseUrl = process.env.TWILIO_CONNECTOR_LAMBDA_URL || "";
|
|
@@ -18,7 +19,7 @@ let TwilioConnectorApi = class TwilioConnectorApi {
|
|
|
18
19
|
this.httpRequest = httpRequest;
|
|
19
20
|
}
|
|
20
21
|
async send(request) {
|
|
21
|
-
const url =
|
|
22
|
+
const url = joinUrl(this.baseUrl, "messages/send");
|
|
22
23
|
return await this.httpRequest.post(url, request, { operationName: "privateSendMessage" });
|
|
23
24
|
}
|
|
24
25
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Une la URL base de un lambda con un path relativo dejando exactamente una barra
|
|
3
|
+
* entre ambos, venga o no la base con barra final desde SSM.
|
|
4
|
+
*/
|
|
5
|
+
export function joinUrl(baseUrl, path) {
|
|
6
|
+
const base = baseUrl.replace(/\/+$/, '');
|
|
7
|
+
const relativePath = path.replace(/^\/+/, '');
|
|
8
|
+
return `${base}/${relativePath}`;
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.72.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",
|
package/src/container.config.ts
CHANGED
|
@@ -187,6 +187,8 @@ import { IWalletFundingSettlementApi, WalletFundingSettlementApi } from "./walle
|
|
|
187
187
|
import { IWalletFundingRulesApi, WalletFundingRulesApi } from "./wallet-funding-rules/index.js";
|
|
188
188
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
189
189
|
import { ISnsSesConnectorApi, SnsSesConnectorApi } from "./sns-ses-connector/index.js";
|
|
190
|
+
// Twilio connector — envío WhatsApp/SMS por Twilio (lee TWILIO_CONNECTOR_LAMBDA_URL)
|
|
191
|
+
import { ITwilioConnectorApi, TwilioConnectorApi } from "./twilio-connector/index.js";
|
|
190
192
|
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
191
193
|
import { IRemittanceBusinessApi, RemittanceBusinessApi } from "./remittance-business/index.js";
|
|
192
194
|
import { IBeneficiaryApi, BeneficiaryApi } from "./beneficiary/index.js";
|
|
@@ -360,6 +362,10 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
|
360
362
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
361
363
|
bind<ISnsSesConnectorApi>("ISnsSesConnectorApi").to(SnsSesConnectorApi);
|
|
362
364
|
|
|
365
|
+
// Twilio connector — envío WhatsApp/SMS por Twilio, elegido por el `provider` del senderConfig.
|
|
366
|
+
// El consumidor necesita TWILIO_CONNECTOR_LAMBDA_URL desde el SSM `fiado-twilio-connector`.
|
|
367
|
+
bind<ITwilioConnectorApi>("ITwilioConnectorApi").to(TwilioConnectorApi);
|
|
368
|
+
|
|
363
369
|
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
364
370
|
bind<IRemittanceBusinessApi>("IRemittanceBusinessApi").to(RemittanceBusinessApi);
|
|
365
371
|
|
package/src/index.ts
CHANGED
|
@@ -103,6 +103,7 @@ export * from "./uniteller-connector/index.js";
|
|
|
103
103
|
export * from "./walletFundingSettlement/index.js";
|
|
104
104
|
export * from "./wallet-funding-rules/index.js";
|
|
105
105
|
export * from "./sns-ses-connector/index.js";
|
|
106
|
+
export * from "./twilio-connector/index.js";
|
|
106
107
|
export * from "./remittance-business/index.js";
|
|
107
108
|
export * from "./modelias-connector/index.js";
|
|
108
109
|
export * from "./beneficiary/index.js";
|
|
@@ -2,6 +2,7 @@ import { inject, injectable } from 'inversify';
|
|
|
2
2
|
import type { IHttpRequest } from '@fiado/http-client';
|
|
3
3
|
import { MessageDeliveryRequest, MessageDeliveryResponse } from '@fiado/type-kit/bin/messaging/index.js';
|
|
4
4
|
import { ISnsSesConnectorApi } from './interfaces/ISnsSesConnectorApi.js';
|
|
5
|
+
import { joinUrl } from '../../utils/joinUrl.js';
|
|
5
6
|
|
|
6
7
|
type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
|
|
7
8
|
|
|
@@ -12,7 +13,7 @@ export class SnsSesConnectorApi implements ISnsSesConnectorApi {
|
|
|
12
13
|
constructor(@inject('IHttpRequest') private readonly httpRequest: IHttpRequest) {}
|
|
13
14
|
|
|
14
15
|
async send(request: MessageDeliveryRequest): Promise<FiadoApiResponse<MessageDeliveryResponse>> {
|
|
15
|
-
const url =
|
|
16
|
+
const url = joinUrl(this.baseUrl, 'send');
|
|
16
17
|
return await this.httpRequest.post(url, request, { 'operationName': 'privateSend' });
|
|
17
18
|
}
|
|
18
19
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { inject, injectable } from "inversify";
|
|
2
|
-
import { IHttpRequest } from "@fiado/http-client";
|
|
2
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
3
3
|
import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/twilioConnector/index.js";
|
|
4
4
|
import { ITwilioConnectorApi } from "./interfaces/ITwilioConnectorApi.js";
|
|
5
|
+
import { joinUrl } from "../../utils/joinUrl.js";
|
|
5
6
|
|
|
6
7
|
type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
|
|
7
8
|
|
|
@@ -12,7 +13,7 @@ export default class TwilioConnectorApi implements ITwilioConnectorApi {
|
|
|
12
13
|
constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
|
|
13
14
|
|
|
14
15
|
async send(request: ConnectorSendMessageRequest): Promise<FiadoApiResponse<ConnectorSendMessageResponse>> {
|
|
15
|
-
const url =
|
|
16
|
+
const url = joinUrl(this.baseUrl, "messages/send");
|
|
16
17
|
return await this.httpRequest.post(url, request, { operationName: "privateSendMessage" });
|
|
17
18
|
}
|
|
18
19
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Une la URL base de un lambda con un path relativo dejando exactamente una barra
|
|
3
|
+
* entre ambos, venga o no la base con barra final desde SSM.
|
|
4
|
+
*/
|
|
5
|
+
export function joinUrl(baseUrl: string, path: string): string {
|
|
6
|
+
const base = baseUrl.replace(/\/+$/, '');
|
|
7
|
+
const relativePath = path.replace(/^\/+/, '');
|
|
8
|
+
return `${base}/${relativePath}`;
|
|
9
|
+
}
|