@fiado/api-invoker 4.14.0 → 4.15.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.
@@ -1,7 +1,7 @@
1
1
  import type { IHttpRequest } from "@fiado/http-client";
2
2
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
3
3
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
4
- import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
4
+ import { RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
5
5
  import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
6
6
  export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
7
7
  private httpRequest;
@@ -44,4 +44,24 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
44
44
  smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{
45
45
  sent: boolean;
46
46
  }>>;
47
+ backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>>;
48
+ backofficeListUsers(filters?: {
49
+ status?: string;
50
+ email?: string;
51
+ pageSize?: number;
52
+ index?: string;
53
+ }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>>;
54
+ backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>>;
55
+ backofficeListTransactions(filters?: {
56
+ txNumber?: string;
57
+ directoryId?: string;
58
+ status?: string;
59
+ countryISO?: string;
60
+ from?: string;
61
+ to?: string;
62
+ pageSize?: number;
63
+ index?: string;
64
+ }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>>;
65
+ backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>>;
66
+ backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>>;
47
67
  }
@@ -115,6 +115,30 @@ let UnitellerConnectorApi = class UnitellerConnectorApi {
115
115
  const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
116
116
  return await this.httpRequest.post(url, { directoryId, ...request });
117
117
  }
118
+ async backofficeDashboard() {
119
+ const url = `${this.baseUrl}/backoffice/dashboard`;
120
+ return await this.httpRequest.get(url);
121
+ }
122
+ async backofficeListUsers(filters) {
123
+ const url = `${this.baseUrl}/backoffice/users`;
124
+ return await this.httpRequest.get(url, dropUndefined(filters));
125
+ }
126
+ async backofficeUserDetail(directoryId) {
127
+ const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}`;
128
+ return await this.httpRequest.get(url);
129
+ }
130
+ async backofficeListTransactions(filters) {
131
+ const url = `${this.baseUrl}/backoffice/transactions`;
132
+ return await this.httpRequest.get(url, dropUndefined(filters));
133
+ }
134
+ async backofficeTransactionDetail(txNumber) {
135
+ const url = `${this.baseUrl}/backoffice/transactions/${encodeURIComponent(txNumber)}`;
136
+ return await this.httpRequest.get(url);
137
+ }
138
+ async backofficeStats(period) {
139
+ const url = `${this.baseUrl}/backoffice/stats`;
140
+ return await this.httpRequest.get(url, { period });
141
+ }
118
142
  };
119
143
  UnitellerConnectorApi = __decorate([
120
144
  (0, inversify_1.injectable)(),
@@ -122,3 +146,10 @@ UnitellerConnectorApi = __decorate([
122
146
  __metadata("design:paramtypes", [Object])
123
147
  ], UnitellerConnectorApi);
124
148
  exports.default = UnitellerConnectorApi;
149
+ /** Quita las keys undefined para no mandar query params vacíos. */
150
+ function dropUndefined(params) {
151
+ if (!params)
152
+ return undefined;
153
+ const clean = Object.fromEntries(Object.entries(params).filter(([, value]) => value !== undefined));
154
+ return Object.keys(clean).length > 0 ? clean : undefined;
155
+ }
@@ -1,6 +1,6 @@
1
1
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
2
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
- import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
3
+ import { RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
4
4
  export interface IUnitellerConnectorApi {
5
5
  /** Estado del módulo remesas para un directoryId. */
6
6
  getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>>;
@@ -81,4 +81,26 @@ export interface IUnitellerConnectorApi {
81
81
  smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{
82
82
  sent: boolean;
83
83
  }>>;
84
+ backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>>;
85
+ /** Filtros: status (default ACTIVE en el connector) | email (lookup exacto); pageSize 1-100; index cursor opaco. */
86
+ backofficeListUsers(filters?: {
87
+ status?: string;
88
+ email?: string;
89
+ pageSize?: number;
90
+ index?: string;
91
+ }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>>;
92
+ backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>>;
93
+ /** Requiere al menos uno de txNumber | directoryId | status (el connector responde 400 si no). */
94
+ backofficeListTransactions(filters?: {
95
+ txNumber?: string;
96
+ directoryId?: string;
97
+ status?: string;
98
+ countryISO?: string;
99
+ from?: string;
100
+ to?: string;
101
+ pageSize?: number;
102
+ index?: string;
103
+ }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>>;
104
+ backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>>;
105
+ backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>>;
84
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "4.14.0",
3
+ "version": "4.15.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
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@fiado/gateway-adapter": "^2.0.0",
18
18
  "@fiado/http-client": "^2.0.0",
19
19
  "@fiado/logger": "^1.0.3",
20
- "@fiado/type-kit": "^3.67.0",
20
+ "@fiado/type-kit": "^3.68.0",
21
21
  "dotenv": "^16.4.7"
22
22
  },
23
23
  "peerDependencies": {
@@ -4,6 +4,13 @@ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
4
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
5
5
  import {
6
6
  RemittanceAddBeneficiaryRequest,
7
+ RemittanceBackofficeDashboardSummary,
8
+ RemittanceBackofficeStats,
9
+ RemittanceBackofficeStatsPeriod,
10
+ RemittanceBackofficeTransaction,
11
+ RemittanceBackofficeTxListResponse,
12
+ RemittanceBackofficeUserDetail,
13
+ RemittanceBackofficeUserListResponse,
7
14
  RemittanceBeneficiary,
8
15
  RemittanceCancelRequest,
9
16
  RemittanceCancelResponse,
@@ -154,4 +161,43 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
154
161
  const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
155
162
  return await this.httpRequest.post(url, { directoryId, ...request });
156
163
  }
164
+
165
+ async backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>> {
166
+ const url = `${this.baseUrl}/backoffice/dashboard`;
167
+ return await this.httpRequest.get(url);
168
+ }
169
+
170
+ async backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>> {
171
+ const url = `${this.baseUrl}/backoffice/users`;
172
+ return await this.httpRequest.get(url, dropUndefined(filters));
173
+ }
174
+
175
+ async backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>> {
176
+ const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}`;
177
+ return await this.httpRequest.get(url);
178
+ }
179
+
180
+ async backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>> {
181
+ const url = `${this.baseUrl}/backoffice/transactions`;
182
+ return await this.httpRequest.get(url, dropUndefined(filters));
183
+ }
184
+
185
+ async backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>> {
186
+ const url = `${this.baseUrl}/backoffice/transactions/${encodeURIComponent(txNumber)}`;
187
+ return await this.httpRequest.get(url);
188
+ }
189
+
190
+ async backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>> {
191
+ const url = `${this.baseUrl}/backoffice/stats`;
192
+ return await this.httpRequest.get(url, { period });
193
+ }
194
+ }
195
+
196
+ /** Quita las keys undefined para no mandar query params vacíos. */
197
+ function dropUndefined(params?: Record<string, string | number | undefined>): Record<string, string | number> | undefined {
198
+ if (!params) return undefined;
199
+ const clean = Object.fromEntries(
200
+ Object.entries(params).filter(([, value]) => value !== undefined),
201
+ ) as Record<string, string | number>;
202
+ return Object.keys(clean).length > 0 ? clean : undefined;
157
203
  }
@@ -2,6 +2,13 @@ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
2
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
3
  import {
4
4
  RemittanceAddBeneficiaryRequest,
5
+ RemittanceBackofficeDashboardSummary,
6
+ RemittanceBackofficeStats,
7
+ RemittanceBackofficeStatsPeriod,
8
+ RemittanceBackofficeTransaction,
9
+ RemittanceBackofficeTxListResponse,
10
+ RemittanceBackofficeUserDetail,
11
+ RemittanceBackofficeUserListResponse,
5
12
  RemittanceBeneficiary,
6
13
  RemittanceCancelRequest,
7
14
  RemittanceCancelResponse,
@@ -130,4 +137,15 @@ export interface IUnitellerConnectorApi {
130
137
 
131
138
  /** SMS de UNIR al beneficiario de la tx (max 3 por tx). ⚠ gated por smoke. */
132
139
  smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>>;
140
+
141
+ // ─── Backoffice (F9, read-only — D2: el backoffice frontend entra por benefits) ─
142
+
143
+ backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>>;
144
+ /** Filtros: status (default ACTIVE en el connector) | email (lookup exacto); pageSize 1-100; index cursor opaco. */
145
+ backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>>;
146
+ backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>>;
147
+ /** Requiere al menos uno de txNumber | directoryId | status (el connector responde 400 si no). */
148
+ backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>>;
149
+ backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>>;
150
+ backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>>;
133
151
  }