@fiado/api-invoker 4.5.0 → 4.7.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.
Files changed (301) hide show
  1. package/.claude/settings.json +33 -33
  2. package/README.md +600 -600
  3. package/bin/container.config.js +9 -0
  4. package/bin/index.d.ts +2 -0
  5. package/bin/index.js +2 -0
  6. package/bin/messages-business/api/MessagesBusinessApi.d.ts +17 -0
  7. package/bin/messages-business/api/MessagesBusinessApi.js +53 -0
  8. package/bin/messages-business/api/interfaces/IMessagesBusinessApi.d.ts +12 -0
  9. package/bin/messages-business/api/interfaces/IMessagesBusinessApi.js +2 -0
  10. package/bin/messages-business/index.d.ts +4 -0
  11. package/bin/messages-business/index.js +25 -0
  12. package/bin/messages-business/queue/MessagesBusinessPublisher.d.ts +7 -0
  13. package/bin/messages-business/queue/MessagesBusinessPublisher.js +41 -0
  14. package/bin/messages-business/queue/interfaces/IMessagesBusinessPublisher.d.ts +4 -0
  15. package/bin/messages-business/queue/interfaces/IMessagesBusinessPublisher.js +2 -0
  16. package/bin/platformRbac/api/PlatformRbacBusinessApi.d.ts +26 -0
  17. package/bin/platformRbac/api/PlatformRbacBusinessApi.js +54 -0
  18. package/bin/platformRbac/api/interfaces/IPlatformRbacBusinessApi.d.ts +40 -0
  19. package/bin/platformRbac/api/interfaces/IPlatformRbacBusinessApi.js +2 -0
  20. package/bin/platformRbac/index.d.ts +2 -0
  21. package/bin/platformRbac/index.js +23 -0
  22. package/docs/TECH_DEBT.md +16 -0
  23. package/package.json +37 -36
  24. package/src/account-beneficiary/AccountBeneficiaryApi.ts +18 -18
  25. package/src/account-beneficiary/index.ts +2 -2
  26. package/src/account-beneficiary/interfaces/IAccountBeneficiaryApi.ts +7 -7
  27. package/src/account-fiadoinc/AccountFiadoIncApi.ts +126 -126
  28. package/src/account-fiadoinc/index.ts +4 -4
  29. package/src/account-fiadoinc/interfaces/IAccountFiadoIncApi.ts +50 -50
  30. package/src/account-fiadoinc/queue/Publisher.ts +23 -23
  31. package/src/account-fiadoinc/queue/interfaces/IPublisher.ts +4 -4
  32. package/src/account-fiadosa/AccountFiadoSAApi.ts +38 -38
  33. package/src/account-fiadosa/index.ts +1 -1
  34. package/src/account-fiadosa/interfaces/IAccountFiadoSAApi.ts +16 -16
  35. package/src/account-pagoconfiado/AccountPagoConfiadoApi.ts +78 -78
  36. package/src/account-pagoconfiado/index.ts +2 -2
  37. package/src/account-pagoconfiado/interfaces/IAccountPagoConfiadoApi.ts +37 -37
  38. package/src/activity-business/ActivityApi.ts +36 -36
  39. package/src/activity-business/index.ts +5 -5
  40. package/src/activity-business/interfaces/IActivityApi.ts +13 -13
  41. package/src/activity-business/queue/ActivityPublisher.ts +30 -30
  42. package/src/activity-business/queue/IActivityPublisher.ts +4 -4
  43. package/src/address/AddressApi.ts +46 -46
  44. package/src/address/index.ts +3 -3
  45. package/src/address/interfaces/IAddressApi.ts +30 -30
  46. package/src/ai-engine-connector/AiEngineApi.ts +28 -28
  47. package/src/ai-engine-connector/index.ts +2 -2
  48. package/src/ai-engine-connector/interfaces/IAiEngineApi.ts +6 -6
  49. package/src/appselectondata/AppSelectionDataApi.ts +32 -32
  50. package/src/appselectondata/index.ts +2 -2
  51. package/src/appselectondata/interfaces/IAppSelectionDataApi.ts +17 -17
  52. package/src/authentication/AuthenticationApi.ts +29 -29
  53. package/src/authentication/index.ts +4 -4
  54. package/src/authentication/interfaces/IAuthenticationApi.ts +8 -8
  55. package/src/bankAccount/BankAccountApi.ts +34 -34
  56. package/src/bankAccount/index.ts +1 -1
  57. package/src/bankAccount/interfaces/IBankAccountApi.ts +6 -6
  58. package/src/bbvaRst/api/BBVARstApi.ts +16 -16
  59. package/src/bbvaRst/api/interfaces/IBBVARstApi.ts +4 -4
  60. package/src/bbvaRst/index.ts +1 -1
  61. package/src/benefits-marketplace/api/BenefitsMarketplaceApi.ts +35 -35
  62. package/src/benefits-marketplace/api/dtos/BenefitLeafDisplayResponse.ts +21 -21
  63. package/src/benefits-marketplace/api/interfaces/IBenefitsMarketplaceApi.ts +62 -62
  64. package/src/benefits-marketplace/index.ts +3 -3
  65. package/src/blacklist/BlackListApi.ts +19 -19
  66. package/src/blacklist/index.ts +2 -2
  67. package/src/blacklist/interfaces/IBlackListApi.ts +20 -20
  68. package/src/card/CardApi.ts +103 -103
  69. package/src/card/index.ts +3 -3
  70. package/src/card/interfaces/ICardApi.ts +32 -32
  71. package/src/card-business/index.ts +2 -2
  72. package/src/card-business/queue/CardBusinessPublisher.ts +23 -23
  73. package/src/card-business/queue/ICardBusinessPublisher.ts +10 -10
  74. package/src/centralPayments/CentralPaymentsConnectorApi.ts +317 -317
  75. package/src/centralPayments/index.ts +1 -1
  76. package/src/centralPayments/interfaces/ICentralPaymentsConnectorApi.ts +153 -153
  77. package/src/circuloCredito/api/CirculoCreditoApi.ts +21 -21
  78. package/src/circuloCredito/api/interfaces/ICirculoCreditoApi.ts +7 -7
  79. package/src/circuloCredito/index.ts +2 -2
  80. package/src/cnbv-business/CnbvApi.ts +31 -31
  81. package/src/cnbv-business/index.ts +4 -4
  82. package/src/cnbv-business/interfaces/ICnbvApi.ts +19 -19
  83. package/src/cnbv-connector/CnbvConnectorApi.ts +18 -18
  84. package/src/cnbv-connector/index.ts +1 -1
  85. package/src/cnbv-connector/interfaces/ICnbvConnectorApi.ts +6 -6
  86. package/src/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.ts +254 -254
  87. package/src/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.ts +181 -181
  88. package/src/cognitoBackofficeConnector/index.ts +2 -2
  89. package/src/cognitoConnector/CognitoConnectorApi.ts +110 -110
  90. package/src/cognitoConnector/CognitoConnectorV2.ts +87 -87
  91. package/src/cognitoConnector/index.ts +11 -11
  92. package/src/cognitoConnector/interfaces/ICognitoConnectorApi.ts +16 -16
  93. package/src/cognitoConnector/interfaces/ICognitoV2Api.ts +63 -63
  94. package/src/collector/CollectorApi.ts +97 -97
  95. package/src/collector/index.ts +2 -2
  96. package/src/collector/interfaces/ICollectorApi.ts +47 -47
  97. package/src/commission-business/CommissionBusinessApi.ts +19 -19
  98. package/src/commission-business/index.ts +3 -3
  99. package/src/commission-business/interfaces/ICommissionBusinessApi.ts +15 -15
  100. package/src/contactInformation/ContactInformationApi.ts +20 -20
  101. package/src/contactInformation/index.ts +2 -2
  102. package/src/contactInformation/interface/IContactInformationApi.ts +8 -8
  103. package/src/container.config.ts +289 -276
  104. package/src/contract-business/api/ContractBusinessApi.ts +37 -37
  105. package/src/contract-business/api/interfaces/IContractBusinessApi.ts +32 -32
  106. package/src/contract-business/index.ts +2 -2
  107. package/src/contract-generator/ContractGeneratorApi.ts +18 -18
  108. package/src/contract-generator/index.ts +2 -2
  109. package/src/contract-generator/interfaces/IContractGeneratorApi.ts +16 -16
  110. package/src/countries-business/CountriesBusinessApi.ts +26 -26
  111. package/src/countries-business/index.ts +2 -2
  112. package/src/countries-business/interfaces/ICountriesBusinessApi.ts +22 -22
  113. package/src/credit-engine/CreditEngineApi.ts +54 -54
  114. package/src/credit-engine/index.ts +17 -17
  115. package/src/credit-engine/interfaces/ICreditEngineApi.ts +46 -46
  116. package/src/credit-engine/queue/CreditCollectionPublisher.ts +24 -24
  117. package/src/credit-engine/queue/CreditDelinquencyPublisher.ts +24 -24
  118. package/src/credit-engine/queue/CreditIncomeDetectionPublisher.ts +24 -24
  119. package/src/credit-engine/queue/CreditLienCollectionPublisher.ts +24 -24
  120. package/src/credit-engine/queue/CreditNotificationPublisher.ts +24 -24
  121. package/src/credit-engine/queue/CreditOfferGenerationPublisher.ts +24 -24
  122. package/src/credit-engine/queue/CreditReconciliationPublisher.ts +24 -24
  123. package/src/credit-engine/queue/CreditScoringPublisher.ts +24 -24
  124. package/src/credit-engine/queue/CreditStatementPublisher.ts +24 -24
  125. package/src/credit-engine/queue/CreditTransferPublisher.ts +24 -24
  126. package/src/credit-engine/queue/interfaces/ICreditCollectionPublisher.ts +5 -5
  127. package/src/credit-engine/queue/interfaces/ICreditDelinquencyPublisher.ts +5 -5
  128. package/src/credit-engine/queue/interfaces/ICreditIncomeDetectionPublisher.ts +5 -5
  129. package/src/credit-engine/queue/interfaces/ICreditLienCollectionPublisher.ts +5 -5
  130. package/src/credit-engine/queue/interfaces/ICreditNotificationPublisher.ts +5 -5
  131. package/src/credit-engine/queue/interfaces/ICreditOfferGenerationPublisher.ts +5 -5
  132. package/src/credit-engine/queue/interfaces/ICreditReconciliationPublisher.ts +5 -5
  133. package/src/credit-engine/queue/interfaces/ICreditScoringPublisher.ts +5 -5
  134. package/src/credit-engine/queue/interfaces/ICreditStatementPublisher.ts +5 -5
  135. package/src/credit-engine/queue/interfaces/ICreditTransferPublisher.ts +5 -5
  136. package/src/credit-payment/CreditPaymentApi.ts +73 -73
  137. package/src/credit-payment/index.ts +2 -2
  138. package/src/credit-payment/interfaces/ICreditPaymentApi.ts +52 -52
  139. package/src/credit-statements/api/CreditStatementsApi.ts +25 -25
  140. package/src/credit-statements/api/interfaces/ICreditStatementsApi.ts +30 -30
  141. package/src/credit-statements/index.ts +2 -2
  142. package/src/device/DeviceApi.ts +32 -32
  143. package/src/device/index.ts +2 -2
  144. package/src/device/interfaces/IDeviceApi.ts +41 -41
  145. package/src/directories/DirectoriesApi.ts +63 -63
  146. package/src/directories/index.ts +3 -3
  147. package/src/directories/interfaces/IDirectoriesApi.ts +17 -17
  148. package/src/directory/DirectoryApi.ts +196 -196
  149. package/src/directory/index.ts +3 -3
  150. package/src/directory/interfaces/IDirectoryApi.ts +73 -73
  151. package/src/directorySetting/DirectorySettingApi.ts +42 -42
  152. package/src/directorySetting/index.ts +3 -3
  153. package/src/directorySetting/interfaces/IDirectorySettingApi.ts +56 -56
  154. package/src/disputes/DisputesApi.ts +50 -50
  155. package/src/disputes/index.ts +2 -2
  156. package/src/disputes/interfaces/IDisputesApi.ts +54 -54
  157. package/src/document-generator/DocumentGeneratorApi.ts +51 -51
  158. package/src/document-generator/index.ts +2 -2
  159. package/src/document-generator/interfaces/IDocumentGeneratorApi.ts +34 -34
  160. package/src/document-image-processor/DocumentImageProcessorApi.ts +22 -22
  161. package/src/document-image-processor/index.ts +1 -1
  162. package/src/document-image-processor/interfaces/IDocumentImageProcessorApi.ts +7 -7
  163. package/src/estafeta/api/EstafetaApi.ts +67 -67
  164. package/src/estafeta/api/interfaces/IEstafetaApi.ts +28 -28
  165. package/src/estafeta/index.ts +1 -1
  166. package/src/event-history-business/EventHistoryApi.ts +108 -108
  167. package/src/event-history-business/index.ts +3 -3
  168. package/src/event-history-business/interfaces/IEventHistoryApi.ts +47 -47
  169. package/src/exchangeRates/ExchangeRatesApi.ts +27 -27
  170. package/src/exchangeRates/index.ts +1 -1
  171. package/src/exchangeRates/interfaces/IExchangeRatesApi.ts +8 -8
  172. package/src/fiadoMessages/api/FiadoMessagesApi.ts +20 -20
  173. package/src/fiadoMessages/api/interfaces/IFiadoMessagesApi.ts +2 -2
  174. package/src/fiadoMessages/index.ts +1 -1
  175. package/src/firebase-connector/FirebaseConnectorApi.ts +53 -53
  176. package/src/firebase-connector/index.ts +3 -3
  177. package/src/firebase-connector/interfaces/IFirebaseConnectorApi.ts +6 -6
  178. package/src/fraudPreventionEngine/api/FraudPreventionEngineApi.ts +22 -22
  179. package/src/fraudPreventionEngine/api/interfaces/IFraudPreventionEngineApi.ts +7 -7
  180. package/src/fraudPreventionEngine/index.ts +1 -1
  181. package/src/group/GroupApi.ts +69 -69
  182. package/src/group/index.ts +1 -1
  183. package/src/group/interfaces/IGroupApi.ts +40 -40
  184. package/src/identity/IdentityApi.ts +95 -95
  185. package/src/identity/index.ts +3 -3
  186. package/src/identity/interfaces/IIdentityApi.ts +46 -46
  187. package/src/index.ts +78 -76
  188. package/src/legalDocument/api/LegalDocumentApi.ts +38 -38
  189. package/src/legalDocument/api/interfaces/ILegalDocumentApi.ts +7 -7
  190. package/src/legalDocument/index.ts +3 -3
  191. package/src/messages-business/api/MessagesBusinessApi.ts +50 -0
  192. package/src/messages-business/api/interfaces/IMessagesBusinessApi.ts +20 -0
  193. package/src/messages-business/index.ts +4 -0
  194. package/src/messages-business/queue/MessagesBusinessPublisher.ts +33 -0
  195. package/src/messages-business/queue/interfaces/IMessagesBusinessPublisher.ts +5 -0
  196. package/src/milestone-business/api/MilestoneBusinessApi.ts +26 -26
  197. package/src/milestone-business/api/interfaces/IMilestoneBusinessApi.ts +9 -9
  198. package/src/milestone-business/index.ts +2 -2
  199. package/src/multicommServicePayment/api/MulticommServicePaymentApi.ts +94 -94
  200. package/src/multicommServicePayment/api/interfaces/IMulticommServicePaymentApi.ts +44 -44
  201. package/src/multicommServicePayment/index.ts +1 -1
  202. package/src/notificationMessages/index.ts +1 -1
  203. package/src/notificationMessages/queue/NotificationMessagePublisher.ts +42 -42
  204. package/src/notificationMessages/queue/interfaces/INotificationMessagesPublisher.ts +7 -7
  205. package/src/notificationWebsockets/index.ts +1 -1
  206. package/src/notificationWebsockets/queue/NotificationWSMessagePublisher.ts +29 -29
  207. package/src/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.ts +4 -4
  208. package/src/observations/ObservationsApi.ts +23 -23
  209. package/src/observations/index.ts +3 -3
  210. package/src/observations/interfaces/IObservationsApi.ts +9 -9
  211. package/src/onboarding/api/OnboardingApi.ts +23 -23
  212. package/src/onboarding/api/interfaces/IOnboardingApi.ts +3 -3
  213. package/src/onboarding/index.ts +1 -1
  214. package/src/onboarding-business/api/OnboardingBusinessApi.ts +210 -210
  215. package/src/onboarding-business/api/interfaces/IOnboardingBusinessApi.ts +9 -9
  216. package/src/onboarding-business/index.ts +1 -1
  217. package/src/order-collector-business/OrderCollectorApi.ts +20 -20
  218. package/src/order-collector-business/index.ts +3 -3
  219. package/src/order-collector-business/interfaces/IOrderCollectorApi.ts +9 -9
  220. package/src/p2pContact/api/P2pContactApi.ts +19 -19
  221. package/src/p2pContact/api/interfaces/IP2pContactApi.ts +4 -4
  222. package/src/p2pContact/index.ts +1 -1
  223. package/src/payroll-business/PayrollApi.ts +19 -19
  224. package/src/payroll-business/index.ts +1 -1
  225. package/src/payroll-business/interfaces/IPayrollApi.ts +18 -18
  226. package/src/people-business/api/PeopleBusinessApi.ts +32 -32
  227. package/src/people-business/api/interfaces/IPeopleBusinessApi.ts +7 -7
  228. package/src/people-business/index.ts +1 -1
  229. package/src/platform-error-events/index.ts +2 -2
  230. package/src/platform-error-events/queue/PlatformErrorEventsPublisher.ts +24 -24
  231. package/src/platform-error-events/queue/interfaces/IPlatformErrorEventsPublisher.ts +5 -5
  232. package/src/platformRbac/api/PlatformRbacBusinessApi.ts +55 -0
  233. package/src/platformRbac/api/interfaces/IPlatformRbacBusinessApi.ts +56 -0
  234. package/src/platformRbac/index.ts +2 -0
  235. package/src/pomelo/api/PomeloApi.ts +109 -109
  236. package/src/pomelo/api/interfaces/IPomeloApi.ts +29 -29
  237. package/src/pomelo/index.ts +1 -1
  238. package/src/pomeloProcessor/api/PomeloProcessorApi.ts +17 -17
  239. package/src/pomeloProcessor/api/interfaces/IPomeloProcessorApi.ts +2 -2
  240. package/src/pomeloProcessor/index.ts +2 -2
  241. package/src/pricelist-business/PriceListApi.ts +45 -45
  242. package/src/pricelist-business/index.ts +1 -1
  243. package/src/pricelist-business/interfaces/IPriceListApi.ts +16 -16
  244. package/src/product-catalog/ProductCatalogApi.ts +17 -17
  245. package/src/product-catalog/index.ts +1 -1
  246. package/src/product-catalog/interfaces/IProductCatalogApi.ts +6 -6
  247. package/src/product-payment/api/ProductPaymentApi.ts +25 -25
  248. package/src/product-payment/api/interfaces/IProductPaymentApi.ts +8 -8
  249. package/src/product-payment/index.ts +1 -1
  250. package/src/referral-business/ReferralBusinessApi.ts +37 -37
  251. package/src/referral-business/index.ts +1 -1
  252. package/src/referral-business/interfaces/IReferralBusinessApi.ts +38 -38
  253. package/src/report-processor-business/api/IReportProcessorBusinessApi.ts +4 -4
  254. package/src/report-processor-business/api/ReportProcessorBusinessApi.ts +17 -17
  255. package/src/report-processor-business/index.ts +5 -5
  256. package/src/riskProfile/api/RiskProfileApi.ts +63 -63
  257. package/src/riskProfile/api/TransactionAlertApi.ts +49 -49
  258. package/src/riskProfile/api/interfaces/IRiskProfileApi.ts +51 -51
  259. package/src/riskProfile/api/interfaces/ITransactionAlertApi.ts +70 -70
  260. package/src/riskProfile/index.ts +7 -7
  261. package/src/riskProfile/queue/TransactionAlarmPublisher.ts +25 -25
  262. package/src/riskProfile/queue/interfaces/ITransactionAlarmPublisher.ts +4 -4
  263. package/src/service-business/ServiceApi.ts +78 -78
  264. package/src/service-business/index.ts +2 -2
  265. package/src/service-business/interfaces/IServiceApi.ts +73 -73
  266. package/src/sessionActivity/index.ts +2 -2
  267. package/src/sessionActivity/queue/SessionActivityPublisher.ts +23 -23
  268. package/src/sessionActivity/queue/interfaces/ISessionActivityPublisher.ts +4 -4
  269. package/src/stp-business/api/STPBusinessApi.ts +32 -32
  270. package/src/stp-business/api/interfaces/ISTPBusinessApi.ts +15 -15
  271. package/src/stp-business/index.ts +1 -1
  272. package/src/stpAccount/api/STPAccountApi.ts +111 -111
  273. package/src/stpAccount/api/interfaces/ISTPAccountApi.ts +7 -7
  274. package/src/stpAccount/index.ts +1 -1
  275. package/src/stpServicePayment/api/StpServicePaymentApi.ts +94 -94
  276. package/src/stpServicePayment/api/interfaces/IStpServicePaymentApi.ts +44 -44
  277. package/src/stpServicePayment/index.ts +1 -1
  278. package/src/stpSpei/api/StpSpeiApi.ts +32 -32
  279. package/src/stpSpei/api/interfaces/IStpSpeiApi.ts +6 -6
  280. package/src/stpSpei/index.ts +1 -1
  281. package/src/teams-connector/index.ts +2 -2
  282. package/src/teams-connector/queue/TeamsNotificationPublisher.ts +24 -24
  283. package/src/teams-connector/queue/interfaces/ITeamsNotificationPublisher.ts +5 -5
  284. package/src/tern/api/TernApi.ts +147 -147
  285. package/src/tern/api/interfaces/ITernApi.ts +54 -54
  286. package/src/tern/index.ts +1 -1
  287. package/src/transaction/api/TransactionApi.ts +157 -157
  288. package/src/transaction/api/interfaces/ITransactionApi.ts +82 -82
  289. package/src/transaction/index.ts +5 -5
  290. package/src/transaction/queue/TransactionPublisher.ts +25 -25
  291. package/src/transaction/queue/interfaces/ITransactionPublisher.ts +4 -4
  292. package/src/transactionProcessor/api/TransactionProcessorApi.ts +57 -57
  293. package/src/transactionProcessor/api/interfaces/ITransactionProcessorApi.ts +28 -28
  294. package/src/transactionProcessor/index.ts +1 -1
  295. package/src/uniteller-connector/api/UnitellerConnectorApi.ts +113 -113
  296. package/src/uniteller-connector/api/interfaces/IUnitellerConnectorApi.ts +85 -85
  297. package/src/uniteller-connector/index.ts +2 -2
  298. package/src/utils/InvokerUtils.ts +18 -18
  299. package/src/zendesk/ZendeskApi.ts +24 -24
  300. package/src/zendesk/index.ts +3 -3
  301. package/src/zendesk/interfaces/IZendeskApi.ts +10 -10
@@ -1,62 +1,62 @@
1
- import {BenefitPaymentRequest, BenefitPaymentResponse} from "@fiado/type-kit/bin/benefitCenter";
2
- import {ApiGatewayResponse} from "@fiado/gateway-adapter";
3
- import {BenefitLeafDisplayResponse} from "../dtos/BenefitLeafDisplayResponse";
4
-
5
- /**
6
- * Cliente único del procesador hacia benefits-marketplace-business (Fase 2).
7
- *
8
- * Lo consume exclusivamente BenefitsMarketplaceTransactionService dentro de
9
- * transaction-processor-business. Ningún otro service del procesador conoce
10
- * este cliente.
11
- *
12
- * Endpoint backend: POST /pay/{moduleName} (privado, dentro de la VPC).
13
- * El marketplace resuelve `moduleName` a un publisher y reenvía la request
14
- * tal cual al conector correspondiente con `BenefitPaymentRequest`.
15
- */
16
- export interface IBenefitsMarketplaceApi {
17
- /**
18
- * Invoca el pago contra el marketplace. Backend: POST /pay/{moduleName}.
19
- *
20
- * @param moduleName Nombre del conector destino (ej. "stp-service-pay-connector",
21
- * "multicomm-service-pay-connector", "donations-pay-connector").
22
- * Se transmite como path-param y NO debe llevar slashes ni codificación
23
- * extra: el cliente lo aplica directamente en la URL.
24
- * @param request Cuerpo estandarizado de la transacción.
25
- */
26
- pay(moduleName: string, request: BenefitPaymentRequest): Promise<ApiGatewayResponse<BenefitPaymentResponse>>;
27
-
28
- /**
29
- * Consulta el estado actual de un pago previamente enviado al marketplace.
30
- * Backend: GET /pay/{moduleName}/transactions/{transactionNumber}.
31
- *
32
- * Lo consume el cron de timeout reconciliation del procesador
33
- * (BenefitsMarketplaceTimeOutService) para decidir si publicar la
34
- * transacción a la cola (cuando el marketplace confirma APPROVED) o
35
- * reversar el débito ya hecho (cuando confirma REJECTED).
36
- *
37
- * @param moduleName Mismo identificador del conector usado en pay().
38
- * @param transactionNumber Identificador único de la transacción del lado
39
- * del procesador. Es el mismo `transactionNumber`
40
- * que viajó en el `BenefitPaymentRequest` original.
41
- */
42
- consultPayment(moduleName: string, transactionNumber: string): Promise<ApiGatewayResponse<BenefitPaymentResponse>>;
43
-
44
- /**
45
- * Resuelve los nombres legibles del leaf (subcategoría y servicio) para que
46
- * el procesador arme `productDetail.targetName` con paridad al flujo SPEI.
47
- * Backend: GET /{benefitId}/leaves/{leafId}/display.
48
- *
49
- * Endpoint dedicado y barato: solo trae los dos nombres necesarios, sin
50
- * descargar el árbol completo del catálogo. El procesador lo invoca dentro
51
- * de `authorize()`, antes de cualquier débito, y aborta la operación si la
52
- * respuesta no es válida.
53
- *
54
- * @param benefitId Identificador del beneficio (filtro requerido por el
55
- * resolver del marketplace para invocar al conector correcto).
56
- * @param leafId Identificador del leaf (`base64url("<moduleName>::<idServicio>")`).
57
- */
58
- getLeafDisplay(
59
- benefitId: string,
60
- leafId: string,
61
- ): Promise<ApiGatewayResponse<BenefitLeafDisplayResponse>>;
62
- }
1
+ import {BenefitPaymentRequest, BenefitPaymentResponse} from "@fiado/type-kit/bin/benefitCenter";
2
+ import {ApiGatewayResponse} from "@fiado/gateway-adapter";
3
+ import {BenefitLeafDisplayResponse} from "../dtos/BenefitLeafDisplayResponse";
4
+
5
+ /**
6
+ * Cliente único del procesador hacia benefits-marketplace-business (Fase 2).
7
+ *
8
+ * Lo consume exclusivamente BenefitsMarketplaceTransactionService dentro de
9
+ * transaction-processor-business. Ningún otro service del procesador conoce
10
+ * este cliente.
11
+ *
12
+ * Endpoint backend: POST /pay/{moduleName} (privado, dentro de la VPC).
13
+ * El marketplace resuelve `moduleName` a un publisher y reenvía la request
14
+ * tal cual al conector correspondiente con `BenefitPaymentRequest`.
15
+ */
16
+ export interface IBenefitsMarketplaceApi {
17
+ /**
18
+ * Invoca el pago contra el marketplace. Backend: POST /pay/{moduleName}.
19
+ *
20
+ * @param moduleName Nombre del conector destino (ej. "stp-service-pay-connector",
21
+ * "multicomm-service-pay-connector", "donations-pay-connector").
22
+ * Se transmite como path-param y NO debe llevar slashes ni codificación
23
+ * extra: el cliente lo aplica directamente en la URL.
24
+ * @param request Cuerpo estandarizado de la transacción.
25
+ */
26
+ pay(moduleName: string, request: BenefitPaymentRequest): Promise<ApiGatewayResponse<BenefitPaymentResponse>>;
27
+
28
+ /**
29
+ * Consulta el estado actual de un pago previamente enviado al marketplace.
30
+ * Backend: GET /pay/{moduleName}/transactions/{transactionNumber}.
31
+ *
32
+ * Lo consume el cron de timeout reconciliation del procesador
33
+ * (BenefitsMarketplaceTimeOutService) para decidir si publicar la
34
+ * transacción a la cola (cuando el marketplace confirma APPROVED) o
35
+ * reversar el débito ya hecho (cuando confirma REJECTED).
36
+ *
37
+ * @param moduleName Mismo identificador del conector usado en pay().
38
+ * @param transactionNumber Identificador único de la transacción del lado
39
+ * del procesador. Es el mismo `transactionNumber`
40
+ * que viajó en el `BenefitPaymentRequest` original.
41
+ */
42
+ consultPayment(moduleName: string, transactionNumber: string): Promise<ApiGatewayResponse<BenefitPaymentResponse>>;
43
+
44
+ /**
45
+ * Resuelve los nombres legibles del leaf (subcategoría y servicio) para que
46
+ * el procesador arme `productDetail.targetName` con paridad al flujo SPEI.
47
+ * Backend: GET /{benefitId}/leaves/{leafId}/display.
48
+ *
49
+ * Endpoint dedicado y barato: solo trae los dos nombres necesarios, sin
50
+ * descargar el árbol completo del catálogo. El procesador lo invoca dentro
51
+ * de `authorize()`, antes de cualquier débito, y aborta la operación si la
52
+ * respuesta no es válida.
53
+ *
54
+ * @param benefitId Identificador del beneficio (filtro requerido por el
55
+ * resolver del marketplace para invocar al conector correcto).
56
+ * @param leafId Identificador del leaf (`base64url("<moduleName>::<idServicio>")`).
57
+ */
58
+ getLeafDisplay(
59
+ benefitId: string,
60
+ leafId: string,
61
+ ): Promise<ApiGatewayResponse<BenefitLeafDisplayResponse>>;
62
+ }
@@ -1,3 +1,3 @@
1
- export * from './api/interfaces/IBenefitsMarketplaceApi';
2
- export * from './api/BenefitsMarketplaceApi';
3
- export * from './api/dtos/BenefitLeafDisplayResponse';
1
+ export * from './api/interfaces/IBenefitsMarketplaceApi';
2
+ export * from './api/BenefitsMarketplaceApi';
3
+ export * from './api/dtos/BenefitLeafDisplayResponse';
@@ -1,20 +1,20 @@
1
- import { inject, injectable } from "inversify";
2
- import { IHttpRequest } from "@fiado/http-client";
3
- import dotenv from 'dotenv';
4
- import { IBlackListApi } from "./interfaces/IBlackListApi";
5
- import { IdentificationParameter } from "@fiado/type-kit/bin/blacklist";
6
- dotenv.config();
7
-
8
- @injectable()
9
- export class BlackListApi implements IBlackListApi {
10
-
11
- constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) { }
12
-
13
- private readonly baseUrl = process.env.BLACKLIST_BUSINESS_URL || "";
14
-
15
- async getByIdentificationParameter(params: { identificationParameter: IdentificationParameter; value: string; }): Promise<void> {
16
- const url = `${this.baseUrl}/search/${params.identificationParameter}/${params.value}`;
17
- return await this.httpRequest.get(url);
18
- }
19
-
1
+ import { inject, injectable } from "inversify";
2
+ import { IHttpRequest } from "@fiado/http-client";
3
+ import dotenv from 'dotenv';
4
+ import { IBlackListApi } from "./interfaces/IBlackListApi";
5
+ import { IdentificationParameter } from "@fiado/type-kit/bin/blacklist";
6
+ dotenv.config();
7
+
8
+ @injectable()
9
+ export class BlackListApi implements IBlackListApi {
10
+
11
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) { }
12
+
13
+ private readonly baseUrl = process.env.BLACKLIST_BUSINESS_URL || "";
14
+
15
+ async getByIdentificationParameter(params: { identificationParameter: IdentificationParameter; value: string; }): Promise<void> {
16
+ const url = `${this.baseUrl}/search/${params.identificationParameter}/${params.value}`;
17
+ return await this.httpRequest.get(url);
18
+ }
19
+
20
20
  }
@@ -1,3 +1,3 @@
1
-
2
- export * from './interfaces/IBlackListApi';
1
+
2
+ export * from './interfaces/IBlackListApi';
3
3
  export * from './BlackListApi';
@@ -1,20 +1,20 @@
1
- import { IdentificationParameter } from "@fiado/type-kit/bin/blacklist";
2
-
3
- /**
4
- * Interfaz que define las operaciones que se pueden realizar en el servicio de black list.
5
- */
6
- export interface IBlackListApi {
7
-
8
- /**
9
- * Obtener por parametro de identificacion.
10
- * @param identificationParameter tipo de parametro.
11
- * @param value valor del parametro.
12
- * @returns Una promesa que resuelve a void.
13
- * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
14
- */
15
- getByIdentificationParameter(params:{
16
- identificationParameter:IdentificationParameter,
17
- value:string,
18
- }): Promise<void>;
19
-
20
- }
1
+ import { IdentificationParameter } from "@fiado/type-kit/bin/blacklist";
2
+
3
+ /**
4
+ * Interfaz que define las operaciones que se pueden realizar en el servicio de black list.
5
+ */
6
+ export interface IBlackListApi {
7
+
8
+ /**
9
+ * Obtener por parametro de identificacion.
10
+ * @param identificationParameter tipo de parametro.
11
+ * @param value valor del parametro.
12
+ * @returns Una promesa que resuelve a void.
13
+ * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
14
+ */
15
+ getByIdentificationParameter(params:{
16
+ identificationParameter:IdentificationParameter,
17
+ value:string,
18
+ }): Promise<void>;
19
+
20
+ }
@@ -1,103 +1,103 @@
1
- import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
- import { IHttpRequest } from "@fiado/http-client";
3
- import { CardIssuanceObservationUpdateRequest, CardResponse, CardUpdateIssuanceRequest, Status, UpdateBankAccountCardRequest } from "@fiado/type-kit/bin/card";
4
- import { inject, injectable } from "inversify";
5
- import { CardsByStatusResponse, ICardApi } from "./interfaces/ICardApi";
6
- import { Provider } from "@fiado/type-kit/bin/provider";
7
- import { InfoSelfVerifiedStatus } from "@fiado/type-kit/bin/identity";
8
-
9
- @injectable()
10
- export class CardApi implements ICardApi {
11
-
12
- private readonly baseUrl = process.env.CARD_LAMBDA_URL || "";
13
-
14
- constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {
15
- }
16
-
17
- async getByDirectoryId(provider: Provider, directoryId: string, onlyDb: boolean = false): Promise<ApiGatewayResponse<CardResponse>> {
18
-
19
- const url = `${this.baseUrl}${provider}/${directoryId}/find?onlyDb=${onlyDb}`;
20
- return await this.httpRequest.get(url);
21
-
22
- }
23
-
24
- async getById(provider: Provider, id: string, onlyDb: boolean = false): Promise<ApiGatewayResponse<CardResponse>> {
25
-
26
- const url = `${this.baseUrl}/${provider}?cardId=${id}&onlyDb=${onlyDb}`;
27
- return await this.httpRequest.get(url);
28
- }
29
-
30
- async getByExternalId(provider: Provider, externalId: string): Promise<ApiGatewayResponse<CardResponse>> {
31
-
32
- const url = `${this.baseUrl}/${provider}?externalCardId=${externalId}`;
33
- return await this.httpRequest.get(url);
34
- }
35
-
36
- async getCardByIdExternal(externalCardId: string): Promise<ApiGatewayResponse<any>> {
37
-
38
- const url = `${this.baseUrl}/cards/${externalCardId}?raw=true`;
39
- return await this.httpRequest.get(url);
40
- }
41
-
42
- async getByStatus(
43
- provider: Provider,
44
- status: Status | string,
45
- index?: string,
46
- pageSize?: number,
47
- order?: "ascending" | "descending"
48
- ): Promise<ApiGatewayResponse<CardsByStatusResponse>> {
49
-
50
- const queryParts: string[] = [];
51
- if (index !== undefined) queryParts.push(`index=${encodeURIComponent(index)}`);
52
- if (pageSize !== undefined) queryParts.push(`pageSize=${pageSize}`);
53
- if (order !== undefined) queryParts.push(`order=${order}`);
54
- const queryString = queryParts.length ? `?${queryParts.join("&")}` : "";
55
-
56
- const url = `${this.baseUrl}${provider}/status/${status}${queryString}`;
57
- return await this.httpRequest.get(url);
58
- }
59
-
60
- async evaluateAccountLevelUpdate(directoryId: string): Promise<void> {
61
-
62
- const url = `${this.baseUrl}accounts/levels`
63
- await this.httpRequest.post(url, { directoryId });
64
- }
65
-
66
- async findCardIssuanceByIds(directoryIds: string[]): Promise<ApiGatewayResponse<any>> {
67
-
68
- const queryparams = directoryIds.map((directoryId) => `directoryId=${directoryId}`).join("&");
69
-
70
- const url = `${this.baseUrl}?${queryparams}`;
71
-
72
- return await this.httpRequest.get(url);
73
- }
74
-
75
- async updateIssuance(provider: Provider, input: CardUpdateIssuanceRequest): Promise<ApiGatewayResponse<void>> {
76
-
77
- const url = `${this.baseUrl}${provider}/issuance`;
78
- return await this.httpRequest.put(url, input);
79
- }
80
-
81
- async updateIssuanceObservation(directoryId: string, input: CardIssuanceObservationUpdateRequest): Promise<ApiGatewayResponse<void>> {
82
-
83
- const url = `${this.baseUrl}/issuance/observations/${directoryId}`;
84
- return await this.httpRequest.put(url, input);
85
- }
86
-
87
- async issuance(directoryId: string, USA_InfoSelfVerified: InfoSelfVerifiedStatus): Promise<void> {
88
-
89
- const url = `${this.baseUrl}`;
90
- await this.httpRequest.post(url, { USA_InfoSelfVerified, directoryId });
91
- }
92
-
93
- async updateShipping(provider: Provider, shippingId: string, input: UpdateBankAccountCardRequest): Promise<ApiGatewayResponse<void>> {
94
-
95
- const url = `${this.baseUrl}${provider}/shipping/${shippingId}`;
96
- return await this.httpRequest.put(url, input);
97
- }
98
-
99
- }
100
-
101
-
102
-
103
-
1
+ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
+ import { IHttpRequest } from "@fiado/http-client";
3
+ import { CardIssuanceObservationUpdateRequest, CardResponse, CardUpdateIssuanceRequest, Status, UpdateBankAccountCardRequest } from "@fiado/type-kit/bin/card";
4
+ import { inject, injectable } from "inversify";
5
+ import { CardsByStatusResponse, ICardApi } from "./interfaces/ICardApi";
6
+ import { Provider } from "@fiado/type-kit/bin/provider";
7
+ import { InfoSelfVerifiedStatus } from "@fiado/type-kit/bin/identity";
8
+
9
+ @injectable()
10
+ export class CardApi implements ICardApi {
11
+
12
+ private readonly baseUrl = process.env.CARD_LAMBDA_URL || "";
13
+
14
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {
15
+ }
16
+
17
+ async getByDirectoryId(provider: Provider, directoryId: string, onlyDb: boolean = false): Promise<ApiGatewayResponse<CardResponse>> {
18
+
19
+ const url = `${this.baseUrl}${provider}/${directoryId}/find?onlyDb=${onlyDb}`;
20
+ return await this.httpRequest.get(url);
21
+
22
+ }
23
+
24
+ async getById(provider: Provider, id: string, onlyDb: boolean = false): Promise<ApiGatewayResponse<CardResponse>> {
25
+
26
+ const url = `${this.baseUrl}/${provider}?cardId=${id}&onlyDb=${onlyDb}`;
27
+ return await this.httpRequest.get(url);
28
+ }
29
+
30
+ async getByExternalId(provider: Provider, externalId: string): Promise<ApiGatewayResponse<CardResponse>> {
31
+
32
+ const url = `${this.baseUrl}/${provider}?externalCardId=${externalId}`;
33
+ return await this.httpRequest.get(url);
34
+ }
35
+
36
+ async getCardByIdExternal(externalCardId: string): Promise<ApiGatewayResponse<any>> {
37
+
38
+ const url = `${this.baseUrl}/cards/${externalCardId}?raw=true`;
39
+ return await this.httpRequest.get(url);
40
+ }
41
+
42
+ async getByStatus(
43
+ provider: Provider,
44
+ status: Status | string,
45
+ index?: string,
46
+ pageSize?: number,
47
+ order?: "ascending" | "descending"
48
+ ): Promise<ApiGatewayResponse<CardsByStatusResponse>> {
49
+
50
+ const queryParts: string[] = [];
51
+ if (index !== undefined) queryParts.push(`index=${encodeURIComponent(index)}`);
52
+ if (pageSize !== undefined) queryParts.push(`pageSize=${pageSize}`);
53
+ if (order !== undefined) queryParts.push(`order=${order}`);
54
+ const queryString = queryParts.length ? `?${queryParts.join("&")}` : "";
55
+
56
+ const url = `${this.baseUrl}${provider}/status/${status}${queryString}`;
57
+ return await this.httpRequest.get(url);
58
+ }
59
+
60
+ async evaluateAccountLevelUpdate(directoryId: string): Promise<void> {
61
+
62
+ const url = `${this.baseUrl}accounts/levels`
63
+ await this.httpRequest.post(url, { directoryId });
64
+ }
65
+
66
+ async findCardIssuanceByIds(directoryIds: string[]): Promise<ApiGatewayResponse<any>> {
67
+
68
+ const queryparams = directoryIds.map((directoryId) => `directoryId=${directoryId}`).join("&");
69
+
70
+ const url = `${this.baseUrl}?${queryparams}`;
71
+
72
+ return await this.httpRequest.get(url);
73
+ }
74
+
75
+ async updateIssuance(provider: Provider, input: CardUpdateIssuanceRequest): Promise<ApiGatewayResponse<void>> {
76
+
77
+ const url = `${this.baseUrl}${provider}/issuance`;
78
+ return await this.httpRequest.put(url, input);
79
+ }
80
+
81
+ async updateIssuanceObservation(directoryId: string, input: CardIssuanceObservationUpdateRequest): Promise<ApiGatewayResponse<void>> {
82
+
83
+ const url = `${this.baseUrl}/issuance/observations/${directoryId}`;
84
+ return await this.httpRequest.put(url, input);
85
+ }
86
+
87
+ async issuance(directoryId: string, USA_InfoSelfVerified: InfoSelfVerifiedStatus): Promise<void> {
88
+
89
+ const url = `${this.baseUrl}`;
90
+ await this.httpRequest.post(url, { USA_InfoSelfVerified, directoryId });
91
+ }
92
+
93
+ async updateShipping(provider: Provider, shippingId: string, input: UpdateBankAccountCardRequest): Promise<ApiGatewayResponse<void>> {
94
+
95
+ const url = `${this.baseUrl}${provider}/shipping/${shippingId}`;
96
+ return await this.httpRequest.put(url, input);
97
+ }
98
+
99
+ }
100
+
101
+
102
+
103
+
package/src/card/index.ts CHANGED
@@ -1,4 +1,4 @@
1
-
2
-
3
- export * from './interfaces/ICardApi';
1
+
2
+
3
+ export * from './interfaces/ICardApi';
4
4
  export * from './CardApi';
@@ -1,33 +1,33 @@
1
- import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
- import { CardIssuanceObservationUpdateRequest, CardResponse, CardUpdateIssuanceRequest, Status, UpdateBankAccountCardRequest } from "@fiado/type-kit/bin/card";
3
- import { InfoSelfVerifiedStatus } from "@fiado/type-kit/bin/identity";
4
- import { Provider } from "@fiado/type-kit/bin/provider";
5
-
6
- export interface CardsByStatusResponse {
7
- items: CardResponse[];
8
- index: string | null;
9
- }
10
-
11
- export interface ICardApi {
12
-
13
- getByDirectoryId(provider: Provider, directoryId: string, onlyDb?: boolean): Promise<ApiGatewayResponse<CardResponse>>
14
-
15
- getById(provider: Provider, id: string, onlyDb?: boolean): Promise<ApiGatewayResponse<CardResponse>>;
16
-
17
- getByExternalId(provider: Provider, externalId: string): Promise<ApiGatewayResponse<CardResponse>>;
18
-
19
- getCardByIdExternal(externalCardId: string): Promise<ApiGatewayResponse<any>>;
20
-
21
- getByStatus(provider: Provider, status: Status | string, index?: string, pageSize?: number, order?: "ascending" | "descending"): Promise<ApiGatewayResponse<CardsByStatusResponse>>;
22
-
23
- findCardIssuanceByIds(directoryIds: string[]): Promise<ApiGatewayResponse<any>>;
24
-
25
- updateIssuance(provider: Provider, input: CardUpdateIssuanceRequest): Promise<ApiGatewayResponse<void>>
26
-
27
- updateIssuanceObservation(directoryId: string, input: CardIssuanceObservationUpdateRequest): Promise<ApiGatewayResponse<void>>
28
-
29
- issuance(directoryId: string, USA_InfoSelfVerified: InfoSelfVerifiedStatus): Promise<void>;
30
-
31
- updateShipping(provider: Provider, shippingId: string, input: UpdateBankAccountCardRequest): Promise<ApiGatewayResponse<void>>;
32
-
1
+ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
+ import { CardIssuanceObservationUpdateRequest, CardResponse, CardUpdateIssuanceRequest, Status, UpdateBankAccountCardRequest } from "@fiado/type-kit/bin/card";
3
+ import { InfoSelfVerifiedStatus } from "@fiado/type-kit/bin/identity";
4
+ import { Provider } from "@fiado/type-kit/bin/provider";
5
+
6
+ export interface CardsByStatusResponse {
7
+ items: CardResponse[];
8
+ index: string | null;
9
+ }
10
+
11
+ export interface ICardApi {
12
+
13
+ getByDirectoryId(provider: Provider, directoryId: string, onlyDb?: boolean): Promise<ApiGatewayResponse<CardResponse>>
14
+
15
+ getById(provider: Provider, id: string, onlyDb?: boolean): Promise<ApiGatewayResponse<CardResponse>>;
16
+
17
+ getByExternalId(provider: Provider, externalId: string): Promise<ApiGatewayResponse<CardResponse>>;
18
+
19
+ getCardByIdExternal(externalCardId: string): Promise<ApiGatewayResponse<any>>;
20
+
21
+ getByStatus(provider: Provider, status: Status | string, index?: string, pageSize?: number, order?: "ascending" | "descending"): Promise<ApiGatewayResponse<CardsByStatusResponse>>;
22
+
23
+ findCardIssuanceByIds(directoryIds: string[]): Promise<ApiGatewayResponse<any>>;
24
+
25
+ updateIssuance(provider: Provider, input: CardUpdateIssuanceRequest): Promise<ApiGatewayResponse<void>>
26
+
27
+ updateIssuanceObservation(directoryId: string, input: CardIssuanceObservationUpdateRequest): Promise<ApiGatewayResponse<void>>
28
+
29
+ issuance(directoryId: string, USA_InfoSelfVerified: InfoSelfVerifiedStatus): Promise<void>;
30
+
31
+ updateShipping(provider: Provider, shippingId: string, input: UpdateBankAccountCardRequest): Promise<ApiGatewayResponse<void>>;
32
+
33
33
  }
@@ -1,2 +1,2 @@
1
- export * from './queue/ICardBusinessPublisher';
2
- export * from './queue/CardBusinessPublisher';
1
+ export * from './queue/ICardBusinessPublisher';
2
+ export * from './queue/CardBusinessPublisher';
@@ -1,23 +1,23 @@
1
- import { SendMessageCommand, SendMessageRequest, SQSClient } from "@aws-sdk/client-sqs";
2
- import { injectable } from "inversify";
3
- import { CardBusinessQueueMessage, ICardBusinessPublisher } from "./ICardBusinessPublisher";
4
-
5
- @injectable()
6
- export default class CardBusinessPublisher implements ICardBusinessPublisher {
7
- private readonly SQS_CARD_BUSINESS_QUEUE = process.env.SQS_CARD_BUSINESS_QUEUE;
8
-
9
- async publish(message: CardBusinessQueueMessage): Promise<void> {
10
- try {
11
- const client: SQSClient = new SQSClient();
12
- const sendMessageRequest: SendMessageRequest = {
13
- QueueUrl: this.SQS_CARD_BUSINESS_QUEUE,
14
- MessageBody: JSON.stringify(message),
15
- };
16
- const command: SendMessageCommand = new SendMessageCommand(sendMessageRequest);
17
- await client.send(command);
18
- } catch (error) {
19
- const errorMessage = error instanceof Error ? error.message : String(error);
20
- throw new Error(`Error publishing message to queue ${': ' + errorMessage}`);
21
- }
22
- }
23
- }
1
+ import { SendMessageCommand, SendMessageRequest, SQSClient } from "@aws-sdk/client-sqs";
2
+ import { injectable } from "inversify";
3
+ import { CardBusinessQueueMessage, ICardBusinessPublisher } from "./ICardBusinessPublisher";
4
+
5
+ @injectable()
6
+ export default class CardBusinessPublisher implements ICardBusinessPublisher {
7
+ private readonly SQS_CARD_BUSINESS_QUEUE = process.env.SQS_CARD_BUSINESS_QUEUE;
8
+
9
+ async publish(message: CardBusinessQueueMessage): Promise<void> {
10
+ try {
11
+ const client: SQSClient = new SQSClient();
12
+ const sendMessageRequest: SendMessageRequest = {
13
+ QueueUrl: this.SQS_CARD_BUSINESS_QUEUE,
14
+ MessageBody: JSON.stringify(message),
15
+ };
16
+ const command: SendMessageCommand = new SendMessageCommand(sendMessageRequest);
17
+ await client.send(command);
18
+ } catch (error) {
19
+ const errorMessage = error instanceof Error ? error.message : String(error);
20
+ throw new Error(`Error publishing message to queue ${': ' + errorMessage}`);
21
+ }
22
+ }
23
+ }
@@ -1,10 +1,10 @@
1
- export interface CardBusinessQueueMessage {
2
- productCatalogId: string;
3
- externalCardId: string;
4
- extCardRefNo?: string;
5
- pinFailCount?: number;
6
- }
7
-
8
- export interface ICardBusinessPublisher {
9
- publish(message: CardBusinessQueueMessage): Promise<void>;
10
- }
1
+ export interface CardBusinessQueueMessage {
2
+ productCatalogId: string;
3
+ externalCardId: string;
4
+ extCardRefNo?: string;
5
+ pinFailCount?: number;
6
+ }
7
+
8
+ export interface ICardBusinessPublisher {
9
+ publish(message: CardBusinessQueueMessage): Promise<void>;
10
+ }