@fiado/api-invoker 4.13.0 → 4.14.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 (281) hide show
  1. package/.claude/settings.json +33 -33
  2. package/README.md +600 -600
  3. package/bin/uniteller-connector/api/UnitellerConnectorApi.d.ts +9 -2
  4. package/bin/uniteller-connector/api/UnitellerConnectorApi.js +20 -0
  5. package/bin/uniteller-connector/api/interfaces/IUnitellerConnectorApi.d.ts +20 -1
  6. package/package.json +37 -37
  7. package/src/account-beneficiary/AccountBeneficiaryApi.ts +18 -18
  8. package/src/account-beneficiary/index.ts +2 -2
  9. package/src/account-beneficiary/interfaces/IAccountBeneficiaryApi.ts +7 -7
  10. package/src/account-fiadoinc/AccountFiadoIncApi.ts +126 -126
  11. package/src/account-fiadoinc/index.ts +4 -4
  12. package/src/account-fiadoinc/interfaces/IAccountFiadoIncApi.ts +50 -50
  13. package/src/account-fiadoinc/queue/Publisher.ts +23 -23
  14. package/src/account-fiadoinc/queue/interfaces/IPublisher.ts +4 -4
  15. package/src/account-fiadosa/AccountFiadoSAApi.ts +38 -38
  16. package/src/account-fiadosa/index.ts +1 -1
  17. package/src/account-fiadosa/interfaces/IAccountFiadoSAApi.ts +16 -16
  18. package/src/account-pagoconfiado/AccountPagoConfiadoApi.ts +78 -78
  19. package/src/account-pagoconfiado/index.ts +2 -2
  20. package/src/account-pagoconfiado/interfaces/IAccountPagoConfiadoApi.ts +37 -37
  21. package/src/activity-business/ActivityApi.ts +36 -36
  22. package/src/activity-business/index.ts +5 -5
  23. package/src/activity-business/interfaces/IActivityApi.ts +13 -13
  24. package/src/activity-business/queue/ActivityPublisher.ts +30 -30
  25. package/src/activity-business/queue/IActivityPublisher.ts +4 -4
  26. package/src/address/AddressApi.ts +46 -46
  27. package/src/address/index.ts +3 -3
  28. package/src/address/interfaces/IAddressApi.ts +30 -30
  29. package/src/ai-engine-connector/AiEngineApi.ts +28 -28
  30. package/src/ai-engine-connector/index.ts +2 -2
  31. package/src/ai-engine-connector/interfaces/IAiEngineApi.ts +6 -6
  32. package/src/appselectondata/AppSelectionDataApi.ts +32 -32
  33. package/src/appselectondata/index.ts +2 -2
  34. package/src/appselectondata/interfaces/IAppSelectionDataApi.ts +17 -17
  35. package/src/authentication/AuthenticationApi.ts +29 -29
  36. package/src/authentication/index.ts +4 -4
  37. package/src/authentication/interfaces/IAuthenticationApi.ts +8 -8
  38. package/src/bankAccount/BankAccountApi.ts +34 -34
  39. package/src/bankAccount/index.ts +1 -1
  40. package/src/bankAccount/interfaces/IBankAccountApi.ts +6 -6
  41. package/src/bbvaRst/api/BBVARstApi.ts +16 -16
  42. package/src/bbvaRst/api/interfaces/IBBVARstApi.ts +4 -4
  43. package/src/bbvaRst/index.ts +1 -1
  44. package/src/benefits-marketplace/api/BenefitsMarketplaceApi.ts +35 -35
  45. package/src/benefits-marketplace/api/dtos/BenefitLeafDisplayResponse.ts +33 -33
  46. package/src/benefits-marketplace/api/interfaces/IBenefitsMarketplaceApi.ts +62 -62
  47. package/src/benefits-marketplace/index.ts +3 -3
  48. package/src/blacklist/BlackListApi.ts +19 -19
  49. package/src/blacklist/index.ts +2 -2
  50. package/src/blacklist/interfaces/IBlackListApi.ts +20 -20
  51. package/src/card/CardApi.ts +103 -103
  52. package/src/card/index.ts +3 -3
  53. package/src/card/interfaces/ICardApi.ts +32 -32
  54. package/src/card-business/index.ts +2 -2
  55. package/src/card-business/queue/CardBusinessPublisher.ts +23 -23
  56. package/src/card-business/queue/ICardBusinessPublisher.ts +10 -10
  57. package/src/centralPayments/CentralPaymentsConnectorApi.ts +317 -317
  58. package/src/centralPayments/index.ts +1 -1
  59. package/src/centralPayments/interfaces/ICentralPaymentsConnectorApi.ts +153 -153
  60. package/src/circuloCredito/api/CirculoCreditoApi.ts +21 -21
  61. package/src/circuloCredito/api/interfaces/ICirculoCreditoApi.ts +7 -7
  62. package/src/circuloCredito/index.ts +2 -2
  63. package/src/cnbv-business/CnbvApi.ts +31 -31
  64. package/src/cnbv-business/index.ts +4 -4
  65. package/src/cnbv-business/interfaces/ICnbvApi.ts +19 -19
  66. package/src/cnbv-connector/CnbvConnectorApi.ts +18 -18
  67. package/src/cnbv-connector/index.ts +1 -1
  68. package/src/cnbv-connector/interfaces/ICnbvConnectorApi.ts +6 -6
  69. package/src/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.ts +281 -281
  70. package/src/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.ts +216 -216
  71. package/src/cognitoBackofficeConnector/index.ts +2 -2
  72. package/src/cognitoConnector/CognitoConnectorApi.ts +112 -112
  73. package/src/cognitoConnector/CognitoConnectorV2.ts +87 -87
  74. package/src/cognitoConnector/index.ts +11 -11
  75. package/src/cognitoConnector/interfaces/ICognitoConnectorApi.ts +16 -16
  76. package/src/cognitoConnector/interfaces/ICognitoV2Api.ts +63 -63
  77. package/src/collector/CollectorApi.ts +97 -97
  78. package/src/collector/index.ts +2 -2
  79. package/src/collector/interfaces/ICollectorApi.ts +47 -47
  80. package/src/commission-business/CommissionBusinessApi.ts +19 -19
  81. package/src/commission-business/index.ts +3 -3
  82. package/src/commission-business/interfaces/ICommissionBusinessApi.ts +15 -15
  83. package/src/contactInformation/ContactInformationApi.ts +20 -20
  84. package/src/contactInformation/index.ts +2 -2
  85. package/src/contactInformation/interface/IContactInformationApi.ts +8 -8
  86. package/src/container.config.ts +294 -294
  87. package/src/contract-business/api/ContractBusinessApi.ts +37 -37
  88. package/src/contract-business/api/interfaces/IContractBusinessApi.ts +32 -32
  89. package/src/contract-business/index.ts +2 -2
  90. package/src/contract-generator/ContractGeneratorApi.ts +18 -18
  91. package/src/contract-generator/index.ts +2 -2
  92. package/src/contract-generator/interfaces/IContractGeneratorApi.ts +16 -16
  93. package/src/countries-business/CountriesBusinessApi.ts +26 -26
  94. package/src/countries-business/index.ts +2 -2
  95. package/src/countries-business/interfaces/ICountriesBusinessApi.ts +22 -22
  96. package/src/credit-engine/CreditEngineApi.ts +54 -54
  97. package/src/credit-engine/index.ts +17 -17
  98. package/src/credit-engine/interfaces/ICreditEngineApi.ts +46 -46
  99. package/src/credit-engine/queue/CreditCollectionPublisher.ts +24 -24
  100. package/src/credit-engine/queue/CreditDelinquencyPublisher.ts +24 -24
  101. package/src/credit-engine/queue/CreditIncomeDetectionPublisher.ts +24 -24
  102. package/src/credit-engine/queue/CreditLienCollectionPublisher.ts +24 -24
  103. package/src/credit-engine/queue/CreditNotificationPublisher.ts +24 -24
  104. package/src/credit-engine/queue/CreditOfferGenerationPublisher.ts +24 -24
  105. package/src/credit-engine/queue/CreditReconciliationPublisher.ts +24 -24
  106. package/src/credit-engine/queue/CreditScoringPublisher.ts +24 -24
  107. package/src/credit-engine/queue/CreditStatementPublisher.ts +24 -24
  108. package/src/credit-engine/queue/CreditTransferPublisher.ts +24 -24
  109. package/src/credit-engine/queue/interfaces/ICreditCollectionPublisher.ts +5 -5
  110. package/src/credit-engine/queue/interfaces/ICreditDelinquencyPublisher.ts +5 -5
  111. package/src/credit-engine/queue/interfaces/ICreditIncomeDetectionPublisher.ts +5 -5
  112. package/src/credit-engine/queue/interfaces/ICreditLienCollectionPublisher.ts +5 -5
  113. package/src/credit-engine/queue/interfaces/ICreditNotificationPublisher.ts +5 -5
  114. package/src/credit-engine/queue/interfaces/ICreditOfferGenerationPublisher.ts +5 -5
  115. package/src/credit-engine/queue/interfaces/ICreditReconciliationPublisher.ts +5 -5
  116. package/src/credit-engine/queue/interfaces/ICreditScoringPublisher.ts +5 -5
  117. package/src/credit-engine/queue/interfaces/ICreditStatementPublisher.ts +5 -5
  118. package/src/credit-engine/queue/interfaces/ICreditTransferPublisher.ts +5 -5
  119. package/src/credit-payment/CreditPaymentApi.ts +73 -73
  120. package/src/credit-payment/index.ts +2 -2
  121. package/src/credit-payment/interfaces/ICreditPaymentApi.ts +52 -52
  122. package/src/credit-statements/api/CreditStatementsApi.ts +25 -25
  123. package/src/credit-statements/api/interfaces/ICreditStatementsApi.ts +30 -30
  124. package/src/credit-statements/index.ts +2 -2
  125. package/src/device/DeviceApi.ts +32 -32
  126. package/src/device/index.ts +2 -2
  127. package/src/device/interfaces/IDeviceApi.ts +41 -41
  128. package/src/directories/DirectoriesApi.ts +68 -68
  129. package/src/directories/index.ts +3 -3
  130. package/src/directories/interfaces/IDirectoriesApi.ts +21 -21
  131. package/src/directory/DirectoryApi.ts +196 -196
  132. package/src/directory/index.ts +3 -3
  133. package/src/directory/interfaces/IDirectoryApi.ts +73 -73
  134. package/src/directorySetting/DirectorySettingApi.ts +42 -42
  135. package/src/directorySetting/index.ts +3 -3
  136. package/src/directorySetting/interfaces/IDirectorySettingApi.ts +56 -56
  137. package/src/disputes/DisputesApi.ts +50 -50
  138. package/src/disputes/index.ts +2 -2
  139. package/src/disputes/interfaces/IDisputesApi.ts +54 -54
  140. package/src/document-generator/DocumentGeneratorApi.ts +51 -51
  141. package/src/document-generator/index.ts +2 -2
  142. package/src/document-generator/interfaces/IDocumentGeneratorApi.ts +34 -34
  143. package/src/document-image-processor/DocumentImageProcessorApi.ts +22 -22
  144. package/src/document-image-processor/index.ts +1 -1
  145. package/src/document-image-processor/interfaces/IDocumentImageProcessorApi.ts +7 -7
  146. package/src/estafeta/api/EstafetaApi.ts +67 -67
  147. package/src/estafeta/api/interfaces/IEstafetaApi.ts +28 -28
  148. package/src/estafeta/index.ts +1 -1
  149. package/src/event-history-business/EventHistoryApi.ts +108 -108
  150. package/src/event-history-business/index.ts +3 -3
  151. package/src/event-history-business/interfaces/IEventHistoryApi.ts +47 -47
  152. package/src/exchangeRates/ExchangeRatesApi.ts +27 -27
  153. package/src/exchangeRates/index.ts +1 -1
  154. package/src/exchangeRates/interfaces/IExchangeRatesApi.ts +8 -8
  155. package/src/fiadoMessages/api/FiadoMessagesApi.ts +20 -20
  156. package/src/fiadoMessages/api/interfaces/IFiadoMessagesApi.ts +2 -2
  157. package/src/fiadoMessages/index.ts +1 -1
  158. package/src/firebase-connector/FirebaseConnectorApi.ts +53 -53
  159. package/src/firebase-connector/index.ts +3 -3
  160. package/src/firebase-connector/interfaces/IFirebaseConnectorApi.ts +6 -6
  161. package/src/fraudPreventionEngine/api/FraudPreventionEngineApi.ts +22 -22
  162. package/src/fraudPreventionEngine/api/interfaces/IFraudPreventionEngineApi.ts +7 -7
  163. package/src/fraudPreventionEngine/index.ts +1 -1
  164. package/src/group/GroupApi.ts +69 -69
  165. package/src/group/index.ts +1 -1
  166. package/src/group/interfaces/IGroupApi.ts +40 -40
  167. package/src/identity/IdentityApi.ts +95 -95
  168. package/src/identity/index.ts +3 -3
  169. package/src/identity/interfaces/IIdentityApi.ts +46 -46
  170. package/src/index.ts +79 -79
  171. package/src/legalDocument/api/LegalDocumentApi.ts +38 -38
  172. package/src/legalDocument/api/interfaces/ILegalDocumentApi.ts +7 -7
  173. package/src/legalDocument/index.ts +3 -3
  174. package/src/milestone-business/api/MilestoneBusinessApi.ts +26 -26
  175. package/src/milestone-business/api/interfaces/IMilestoneBusinessApi.ts +9 -9
  176. package/src/milestone-business/index.ts +2 -2
  177. package/src/multicommServicePayment/api/MulticommServicePaymentApi.ts +119 -119
  178. package/src/multicommServicePayment/api/interfaces/IMulticommServicePaymentApi.ts +52 -52
  179. package/src/multicommServicePayment/index.ts +1 -1
  180. package/src/notificationMessages/index.ts +1 -1
  181. package/src/notificationMessages/queue/NotificationMessagePublisher.ts +42 -42
  182. package/src/notificationMessages/queue/interfaces/INotificationMessagesPublisher.ts +7 -7
  183. package/src/notificationWebsockets/index.ts +1 -1
  184. package/src/notificationWebsockets/queue/NotificationWSMessagePublisher.ts +29 -29
  185. package/src/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.ts +4 -4
  186. package/src/observations/ObservationsApi.ts +23 -23
  187. package/src/observations/index.ts +3 -3
  188. package/src/observations/interfaces/IObservationsApi.ts +9 -9
  189. package/src/onboarding/api/OnboardingApi.ts +23 -23
  190. package/src/onboarding/api/interfaces/IOnboardingApi.ts +3 -3
  191. package/src/onboarding/index.ts +1 -1
  192. package/src/onboarding-business/api/OnboardingBusinessApi.ts +210 -210
  193. package/src/onboarding-business/api/interfaces/IOnboardingBusinessApi.ts +9 -9
  194. package/src/onboarding-business/index.ts +1 -1
  195. package/src/order-collector-business/OrderCollectorApi.ts +20 -20
  196. package/src/order-collector-business/index.ts +3 -3
  197. package/src/order-collector-business/interfaces/IOrderCollectorApi.ts +9 -9
  198. package/src/p2pContact/api/P2pContactApi.ts +19 -19
  199. package/src/p2pContact/api/interfaces/IP2pContactApi.ts +4 -4
  200. package/src/p2pContact/index.ts +1 -1
  201. package/src/payroll-business/PayrollApi.ts +19 -19
  202. package/src/payroll-business/index.ts +1 -1
  203. package/src/payroll-business/interfaces/IPayrollApi.ts +18 -18
  204. package/src/people-business/api/PeopleBusinessApi.ts +32 -32
  205. package/src/people-business/api/interfaces/IPeopleBusinessApi.ts +7 -7
  206. package/src/people-business/index.ts +1 -1
  207. package/src/platform-error-events/index.ts +2 -2
  208. package/src/platform-error-events/queue/PlatformErrorEventsPublisher.ts +24 -24
  209. package/src/platform-error-events/queue/interfaces/IPlatformErrorEventsPublisher.ts +5 -5
  210. package/src/platformRbac/api/PlatformRbacBusinessApi.ts +64 -64
  211. package/src/platformRbac/api/interfaces/IPlatformRbacBusinessApi.ts +69 -69
  212. package/src/pomelo/api/PomeloApi.ts +109 -109
  213. package/src/pomelo/api/interfaces/IPomeloApi.ts +29 -29
  214. package/src/pomelo/index.ts +1 -1
  215. package/src/pomeloProcessor/api/PomeloProcessorApi.ts +17 -17
  216. package/src/pomeloProcessor/api/interfaces/IPomeloProcessorApi.ts +2 -2
  217. package/src/pomeloProcessor/index.ts +2 -2
  218. package/src/pricelist-business/PriceListApi.ts +45 -45
  219. package/src/pricelist-business/index.ts +1 -1
  220. package/src/pricelist-business/interfaces/IPriceListApi.ts +16 -16
  221. package/src/product-catalog/ProductCatalogApi.ts +17 -17
  222. package/src/product-catalog/index.ts +1 -1
  223. package/src/product-catalog/interfaces/IProductCatalogApi.ts +6 -6
  224. package/src/product-payment/api/ProductPaymentApi.ts +25 -25
  225. package/src/product-payment/api/interfaces/IProductPaymentApi.ts +8 -8
  226. package/src/product-payment/index.ts +1 -1
  227. package/src/referral-business/ReferralBusinessApi.ts +42 -42
  228. package/src/referral-business/index.ts +1 -1
  229. package/src/referral-business/interfaces/IReferralBusinessApi.ts +45 -45
  230. package/src/report-processor-business/api/IReportProcessorBusinessApi.ts +4 -4
  231. package/src/report-processor-business/api/ReportProcessorBusinessApi.ts +17 -17
  232. package/src/report-processor-business/index.ts +5 -5
  233. package/src/riskProfile/api/RiskProfileApi.ts +63 -63
  234. package/src/riskProfile/api/TransactionAlertApi.ts +49 -49
  235. package/src/riskProfile/api/interfaces/IRiskProfileApi.ts +51 -51
  236. package/src/riskProfile/api/interfaces/ITransactionAlertApi.ts +70 -70
  237. package/src/riskProfile/index.ts +7 -7
  238. package/src/riskProfile/queue/TransactionAlarmPublisher.ts +25 -25
  239. package/src/riskProfile/queue/interfaces/ITransactionAlarmPublisher.ts +4 -4
  240. package/src/service-business/ServiceApi.ts +78 -78
  241. package/src/service-business/index.ts +2 -2
  242. package/src/service-business/interfaces/IServiceApi.ts +73 -73
  243. package/src/sessionActivity/index.ts +2 -2
  244. package/src/sessionActivity/queue/SessionActivityPublisher.ts +23 -23
  245. package/src/sessionActivity/queue/interfaces/ISessionActivityPublisher.ts +4 -4
  246. package/src/stp-business/api/STPBusinessApi.ts +37 -37
  247. package/src/stp-business/api/interfaces/ISTPBusinessApi.ts +17 -17
  248. package/src/stp-business/index.ts +1 -1
  249. package/src/stpAccount/api/STPAccountApi.ts +111 -111
  250. package/src/stpAccount/api/interfaces/ISTPAccountApi.ts +7 -7
  251. package/src/stpAccount/index.ts +1 -1
  252. package/src/stpServicePayment/api/StpServicePaymentApi.ts +119 -119
  253. package/src/stpServicePayment/api/interfaces/IStpServicePaymentApi.ts +52 -52
  254. package/src/stpServicePayment/index.ts +1 -1
  255. package/src/stpSpei/api/StpSpeiApi.ts +32 -32
  256. package/src/stpSpei/api/interfaces/IStpSpeiApi.ts +6 -6
  257. package/src/stpSpei/index.ts +1 -1
  258. package/src/teams-connector/index.ts +2 -2
  259. package/src/teams-connector/queue/TeamsNotificationPublisher.ts +24 -24
  260. package/src/teams-connector/queue/interfaces/ITeamsNotificationPublisher.ts +5 -5
  261. package/src/tern/api/TernApi.ts +147 -147
  262. package/src/tern/api/interfaces/ITernApi.ts +54 -54
  263. package/src/tern/index.ts +1 -1
  264. package/src/totp-security/api/TotpSecurityApi.ts +38 -38
  265. package/src/totp-security/api/interfaces/ITotpSecurityApi.ts +16 -16
  266. package/src/totp-security/index.ts +2 -2
  267. package/src/transaction/api/TransactionApi.ts +157 -157
  268. package/src/transaction/api/interfaces/ITransactionApi.ts +82 -82
  269. package/src/transaction/index.ts +5 -5
  270. package/src/transaction/queue/TransactionPublisher.ts +25 -25
  271. package/src/transaction/queue/interfaces/ITransactionPublisher.ts +4 -4
  272. package/src/transactionProcessor/api/TransactionProcessorApi.ts +57 -57
  273. package/src/transactionProcessor/api/interfaces/ITransactionProcessorApi.ts +28 -28
  274. package/src/transactionProcessor/index.ts +1 -1
  275. package/src/uniteller-connector/api/UnitellerConnectorApi.ts +157 -125
  276. package/src/uniteller-connector/api/interfaces/IUnitellerConnectorApi.ts +133 -102
  277. package/src/uniteller-connector/index.ts +2 -2
  278. package/src/utils/InvokerUtils.ts +18 -18
  279. package/src/zendesk/ZendeskApi.ts +24 -24
  280. package/src/zendesk/index.ts +3 -3
  281. package/src/zendesk/interfaces/IZendeskApi.ts +10 -10
@@ -1,281 +1,281 @@
1
- import { inject, injectable } from "inversify";
2
- import type { IHttpRequest } from "@fiado/http-client";
3
- import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
- import {
5
- CreateUserRequest,
6
- CreateUserResponse,
7
- UpdateUserAttributesRequest,
8
- UserActionRequest,
9
- ResendInvitationRequest,
10
- SetUserPasswordRequest,
11
- UserDetailResponse,
12
- AuthEventsRequest,
13
- AuthEventResponse,
14
- InitiateAuthRequest,
15
- InitiateAuthResponse,
16
- RespondToChallengeRequest,
17
- RespondToChallengeResponse,
18
- RefreshTokensRequest,
19
- RefreshTokensResponse,
20
- ForgotPasswordRequest,
21
- ConfirmForgotPasswordRequest,
22
- ResendConfirmationRequest,
23
- ChangePasswordRequest,
24
- TotpBeginRequest,
25
- TotpBeginResponse,
26
- TotpVerifyRequest,
27
- MfaVerifyResponse,
28
- SetMfaPreferenceRequest,
29
- MfaResetRequest,
30
- UpdateEmailRequest,
31
- VerifyEmailRequest,
32
- UpdateProfileRequest,
33
- CreatePoolRequest,
34
- CreatePoolResponse,
35
- DeletePoolRequest,
36
- HealthcheckResponse,
37
- VerifyPasswordRequest,
38
- VerifyPasswordResponse,
39
- IntrospectRequest,
40
- IntrospectResponse,
41
- } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
42
- import { ICognitoBackofficeConnectorApi } from "./interfaces/ICognitoBackofficeConnectorApi";
43
-
44
- /**
45
- * Publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
46
- *
47
- * Env var requerida en el consumer: `COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL`.
48
- * El template.yml del consumer la setea con:
49
- *
50
- * COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL: '{{resolve:ssm:cognito-backoffice-connector}}'
51
- *
52
- * Convención CLAUDE.md global: SSM key = nombre del lambda owner de la URL.
53
- * El connector publica su URL en SSM bajo la key `cognito-backoffice-connector`
54
- * vía el `post_build` del buildspec.yml estándar Fiado.
55
- */
56
- @injectable()
57
- export default class CognitoBackofficeConnectorApi implements ICognitoBackofficeConnectorApi {
58
- /** URL base del lambda. Leída de env var en cold start del consumer. */
59
- private readonly baseUrl = process.env.COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL || "";
60
-
61
- constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
62
-
63
- // ============= Admin user CRUD (9) =============
64
-
65
- async createUser(input: CreateUserRequest): Promise<ApiGatewayResponse<CreateUserResponse>> {
66
- const url = `${this.baseUrl}/users`;
67
- return await this.httpRequest.post(url, input);
68
- }
69
-
70
- async getUser(
71
- cognitoSub: string,
72
- userPoolId: string,
73
- region: string,
74
- ): Promise<ApiGatewayResponse<UserDetailResponse>> {
75
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}`;
76
- return await this.httpRequest.get(url, { userPoolId, region });
77
- }
78
-
79
- async updateUserAttributes(
80
- cognitoSub: string,
81
- input: UpdateUserAttributesRequest,
82
- ): Promise<ApiGatewayResponse<void>> {
83
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/attributes`;
84
- return await this.httpRequest.put(url, input);
85
- }
86
-
87
- async deleteUser(
88
- cognitoSub: string,
89
- userPoolId: string,
90
- region: string,
91
- ): Promise<ApiGatewayResponse<void>> {
92
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}`;
93
- return await this.httpRequest.delete(url, { userPoolId, region });
94
- }
95
-
96
- async disableUser(
97
- cognitoSub: string,
98
- input: UserActionRequest,
99
- ): Promise<ApiGatewayResponse<void>> {
100
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/disable`;
101
- return await this.httpRequest.post(url, input);
102
- }
103
-
104
- async enableUser(
105
- cognitoSub: string,
106
- input: UserActionRequest,
107
- ): Promise<ApiGatewayResponse<void>> {
108
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/enable`;
109
- return await this.httpRequest.post(url, input);
110
- }
111
-
112
- async resetUserPassword(
113
- cognitoSub: string,
114
- input: UserActionRequest,
115
- ): Promise<ApiGatewayResponse<void>> {
116
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/reset`;
117
- return await this.httpRequest.post(url, input);
118
- }
119
-
120
- async setUserPassword(
121
- cognitoSub: string,
122
- input: SetUserPasswordRequest,
123
- ): Promise<ApiGatewayResponse<{ cognitoSub: string }>> {
124
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/set`;
125
- return await this.httpRequest.post(url, input);
126
- }
127
-
128
- async globalSignOut(
129
- cognitoSub: string,
130
- input: UserActionRequest,
131
- ): Promise<ApiGatewayResponse<void>> {
132
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/global-signout`;
133
- return await this.httpRequest.post(url, input);
134
- }
135
-
136
- async resendInvitation(
137
- cognitoSub: string,
138
- input: ResendInvitationRequest,
139
- ): Promise<ApiGatewayResponse<{ cognitoSub: string; temporaryPassword?: string }>> {
140
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/resend-invitation`;
141
- return await this.httpRequest.post(url, input);
142
- }
143
-
144
- // ============= MFA admin + setup (4) =============
145
-
146
- async mfaTotpBegin(
147
- input: TotpBeginRequest,
148
- ): Promise<ApiGatewayResponse<TotpBeginResponse>> {
149
- const url = `${this.baseUrl}/mfa/totp/begin`;
150
- return await this.httpRequest.post(url, input);
151
- }
152
-
153
- async mfaTotpVerify(
154
- input: TotpVerifyRequest,
155
- ): Promise<ApiGatewayResponse<MfaVerifyResponse>> {
156
- const url = `${this.baseUrl}/mfa/totp/verify`;
157
- return await this.httpRequest.post(url, input);
158
- }
159
-
160
- async setMfaPreference(
161
- input: SetMfaPreferenceRequest,
162
- ): Promise<ApiGatewayResponse<void>> {
163
- const url = `${this.baseUrl}/mfa/preference`;
164
- return await this.httpRequest.put(url, input);
165
- }
166
-
167
- async resetUserMfa(
168
- cognitoSub: string,
169
- input: MfaResetRequest,
170
- ): Promise<ApiGatewayResponse<void>> {
171
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/mfa/reset`;
172
- return await this.httpRequest.post(url, input);
173
- }
174
-
175
- // ============= Auth flow no-admin BFF M18 (8) =============
176
-
177
- async authInitiate(
178
- input: InitiateAuthRequest,
179
- ): Promise<ApiGatewayResponse<InitiateAuthResponse>> {
180
- const url = `${this.baseUrl}/auth/initiate`;
181
- return await this.httpRequest.post(url, input);
182
- }
183
-
184
- async authVerifyPassword(
185
- input: VerifyPasswordRequest,
186
- ): Promise<ApiGatewayResponse<VerifyPasswordResponse>> {
187
- const url = `${this.baseUrl}/auth/verify-password`;
188
- return await this.httpRequest.post(url, input);
189
- }
190
-
191
- async introspect(
192
- input: IntrospectRequest,
193
- ): Promise<ApiGatewayResponse<IntrospectResponse>> {
194
- const url = `${this.baseUrl}/auth/introspect`;
195
- return await this.httpRequest.post(url, input);
196
- }
197
-
198
- async authRespondChallenge(
199
- input: RespondToChallengeRequest,
200
- ): Promise<ApiGatewayResponse<RespondToChallengeResponse>> {
201
- const url = `${this.baseUrl}/auth/respond-challenge`;
202
- return await this.httpRequest.post(url, input);
203
- }
204
-
205
- async authRefreshTokens(
206
- input: RefreshTokensRequest,
207
- ): Promise<ApiGatewayResponse<RefreshTokensResponse>> {
208
- const url = `${this.baseUrl}/auth/refresh-tokens`;
209
- return await this.httpRequest.post(url, input);
210
- }
211
-
212
- async authForgotPassword(
213
- input: ForgotPasswordRequest,
214
- ): Promise<ApiGatewayResponse<void>> {
215
- const url = `${this.baseUrl}/auth/forgot-password`;
216
- return await this.httpRequest.post(url, input);
217
- }
218
-
219
- async authConfirmForgotPassword(
220
- input: ConfirmForgotPasswordRequest,
221
- ): Promise<ApiGatewayResponse<void>> {
222
- const url = `${this.baseUrl}/auth/confirm-forgot-password`;
223
- return await this.httpRequest.post(url, input);
224
- }
225
-
226
- async authResendConfirmation(
227
- input: ResendConfirmationRequest,
228
- ): Promise<ApiGatewayResponse<void>> {
229
- const url = `${this.baseUrl}/auth/resend-confirmation`;
230
- return await this.httpRequest.post(url, input);
231
- }
232
-
233
- async authChangePassword(
234
- input: ChangePasswordRequest,
235
- ): Promise<ApiGatewayResponse<void>> {
236
- const url = `${this.baseUrl}/auth/change-password`;
237
- return await this.httpRequest.post(url, input);
238
- }
239
-
240
- // ============= Email + Profile self-service (3) =============
241
-
242
- async updateEmail(input: UpdateEmailRequest): Promise<ApiGatewayResponse<void>> {
243
- const url = `${this.baseUrl}/users/email/update`;
244
- return await this.httpRequest.post(url, input);
245
- }
246
-
247
- async verifyEmail(input: VerifyEmailRequest): Promise<ApiGatewayResponse<void>> {
248
- const url = `${this.baseUrl}/users/email/verify`;
249
- return await this.httpRequest.post(url, input);
250
- }
251
-
252
- async updateProfile(input: UpdateProfileRequest): Promise<ApiGatewayResponse<void>> {
253
- const url = `${this.baseUrl}/users/profile/update`;
254
- return await this.httpRequest.post(url, input);
255
- }
256
-
257
- // ============= Pool + auth events + healthcheck (4) =============
258
-
259
- async listUserAuthEvents(
260
- cognitoSub: string,
261
- input: AuthEventsRequest,
262
- ): Promise<ApiGatewayResponse<AuthEventResponse[]>> {
263
- const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/auth-events`;
264
- return await this.httpRequest.get(url, { ...input });
265
- }
266
-
267
- async createPool(input: CreatePoolRequest): Promise<ApiGatewayResponse<CreatePoolResponse>> {
268
- const url = `${this.baseUrl}/pools`;
269
- return await this.httpRequest.post(url, input);
270
- }
271
-
272
- async deletePool(userPoolId: string, region: string): Promise<ApiGatewayResponse<void>> {
273
- const url = `${this.baseUrl}/pools/${encodeURIComponent(userPoolId)}`;
274
- return await this.httpRequest.delete(url, { region });
275
- }
276
-
277
- async healthcheck(): Promise<ApiGatewayResponse<HealthcheckResponse>> {
278
- const url = `${this.baseUrl}/healthcheck`;
279
- return await this.httpRequest.get(url);
280
- }
281
- }
1
+ import { inject, injectable } from "inversify";
2
+ import type { IHttpRequest } from "@fiado/http-client";
3
+ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
+ import {
5
+ CreateUserRequest,
6
+ CreateUserResponse,
7
+ UpdateUserAttributesRequest,
8
+ UserActionRequest,
9
+ ResendInvitationRequest,
10
+ SetUserPasswordRequest,
11
+ UserDetailResponse,
12
+ AuthEventsRequest,
13
+ AuthEventResponse,
14
+ InitiateAuthRequest,
15
+ InitiateAuthResponse,
16
+ RespondToChallengeRequest,
17
+ RespondToChallengeResponse,
18
+ RefreshTokensRequest,
19
+ RefreshTokensResponse,
20
+ ForgotPasswordRequest,
21
+ ConfirmForgotPasswordRequest,
22
+ ResendConfirmationRequest,
23
+ ChangePasswordRequest,
24
+ TotpBeginRequest,
25
+ TotpBeginResponse,
26
+ TotpVerifyRequest,
27
+ MfaVerifyResponse,
28
+ SetMfaPreferenceRequest,
29
+ MfaResetRequest,
30
+ UpdateEmailRequest,
31
+ VerifyEmailRequest,
32
+ UpdateProfileRequest,
33
+ CreatePoolRequest,
34
+ CreatePoolResponse,
35
+ DeletePoolRequest,
36
+ HealthcheckResponse,
37
+ VerifyPasswordRequest,
38
+ VerifyPasswordResponse,
39
+ IntrospectRequest,
40
+ IntrospectResponse,
41
+ } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
42
+ import { ICognitoBackofficeConnectorApi } from "./interfaces/ICognitoBackofficeConnectorApi";
43
+
44
+ /**
45
+ * Publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
46
+ *
47
+ * Env var requerida en el consumer: `COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL`.
48
+ * El template.yml del consumer la setea con:
49
+ *
50
+ * COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL: '{{resolve:ssm:cognito-backoffice-connector}}'
51
+ *
52
+ * Convención CLAUDE.md global: SSM key = nombre del lambda owner de la URL.
53
+ * El connector publica su URL en SSM bajo la key `cognito-backoffice-connector`
54
+ * vía el `post_build` del buildspec.yml estándar Fiado.
55
+ */
56
+ @injectable()
57
+ export default class CognitoBackofficeConnectorApi implements ICognitoBackofficeConnectorApi {
58
+ /** URL base del lambda. Leída de env var en cold start del consumer. */
59
+ private readonly baseUrl = process.env.COGNITO_BACKOFFICE_CONNECTOR_LAMBDA_URL || "";
60
+
61
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
62
+
63
+ // ============= Admin user CRUD (9) =============
64
+
65
+ async createUser(input: CreateUserRequest): Promise<ApiGatewayResponse<CreateUserResponse>> {
66
+ const url = `${this.baseUrl}/users`;
67
+ return await this.httpRequest.post(url, input);
68
+ }
69
+
70
+ async getUser(
71
+ cognitoSub: string,
72
+ userPoolId: string,
73
+ region: string,
74
+ ): Promise<ApiGatewayResponse<UserDetailResponse>> {
75
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}`;
76
+ return await this.httpRequest.get(url, { userPoolId, region });
77
+ }
78
+
79
+ async updateUserAttributes(
80
+ cognitoSub: string,
81
+ input: UpdateUserAttributesRequest,
82
+ ): Promise<ApiGatewayResponse<void>> {
83
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/attributes`;
84
+ return await this.httpRequest.put(url, input);
85
+ }
86
+
87
+ async deleteUser(
88
+ cognitoSub: string,
89
+ userPoolId: string,
90
+ region: string,
91
+ ): Promise<ApiGatewayResponse<void>> {
92
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}`;
93
+ return await this.httpRequest.delete(url, { userPoolId, region });
94
+ }
95
+
96
+ async disableUser(
97
+ cognitoSub: string,
98
+ input: UserActionRequest,
99
+ ): Promise<ApiGatewayResponse<void>> {
100
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/disable`;
101
+ return await this.httpRequest.post(url, input);
102
+ }
103
+
104
+ async enableUser(
105
+ cognitoSub: string,
106
+ input: UserActionRequest,
107
+ ): Promise<ApiGatewayResponse<void>> {
108
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/enable`;
109
+ return await this.httpRequest.post(url, input);
110
+ }
111
+
112
+ async resetUserPassword(
113
+ cognitoSub: string,
114
+ input: UserActionRequest,
115
+ ): Promise<ApiGatewayResponse<void>> {
116
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/reset`;
117
+ return await this.httpRequest.post(url, input);
118
+ }
119
+
120
+ async setUserPassword(
121
+ cognitoSub: string,
122
+ input: SetUserPasswordRequest,
123
+ ): Promise<ApiGatewayResponse<{ cognitoSub: string }>> {
124
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/set`;
125
+ return await this.httpRequest.post(url, input);
126
+ }
127
+
128
+ async globalSignOut(
129
+ cognitoSub: string,
130
+ input: UserActionRequest,
131
+ ): Promise<ApiGatewayResponse<void>> {
132
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/global-signout`;
133
+ return await this.httpRequest.post(url, input);
134
+ }
135
+
136
+ async resendInvitation(
137
+ cognitoSub: string,
138
+ input: ResendInvitationRequest,
139
+ ): Promise<ApiGatewayResponse<{ cognitoSub: string; temporaryPassword?: string }>> {
140
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/resend-invitation`;
141
+ return await this.httpRequest.post(url, input);
142
+ }
143
+
144
+ // ============= MFA admin + setup (4) =============
145
+
146
+ async mfaTotpBegin(
147
+ input: TotpBeginRequest,
148
+ ): Promise<ApiGatewayResponse<TotpBeginResponse>> {
149
+ const url = `${this.baseUrl}/mfa/totp/begin`;
150
+ return await this.httpRequest.post(url, input);
151
+ }
152
+
153
+ async mfaTotpVerify(
154
+ input: TotpVerifyRequest,
155
+ ): Promise<ApiGatewayResponse<MfaVerifyResponse>> {
156
+ const url = `${this.baseUrl}/mfa/totp/verify`;
157
+ return await this.httpRequest.post(url, input);
158
+ }
159
+
160
+ async setMfaPreference(
161
+ input: SetMfaPreferenceRequest,
162
+ ): Promise<ApiGatewayResponse<void>> {
163
+ const url = `${this.baseUrl}/mfa/preference`;
164
+ return await this.httpRequest.put(url, input);
165
+ }
166
+
167
+ async resetUserMfa(
168
+ cognitoSub: string,
169
+ input: MfaResetRequest,
170
+ ): Promise<ApiGatewayResponse<void>> {
171
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/mfa/reset`;
172
+ return await this.httpRequest.post(url, input);
173
+ }
174
+
175
+ // ============= Auth flow no-admin BFF M18 (8) =============
176
+
177
+ async authInitiate(
178
+ input: InitiateAuthRequest,
179
+ ): Promise<ApiGatewayResponse<InitiateAuthResponse>> {
180
+ const url = `${this.baseUrl}/auth/initiate`;
181
+ return await this.httpRequest.post(url, input);
182
+ }
183
+
184
+ async authVerifyPassword(
185
+ input: VerifyPasswordRequest,
186
+ ): Promise<ApiGatewayResponse<VerifyPasswordResponse>> {
187
+ const url = `${this.baseUrl}/auth/verify-password`;
188
+ return await this.httpRequest.post(url, input);
189
+ }
190
+
191
+ async introspect(
192
+ input: IntrospectRequest,
193
+ ): Promise<ApiGatewayResponse<IntrospectResponse>> {
194
+ const url = `${this.baseUrl}/auth/introspect`;
195
+ return await this.httpRequest.post(url, input);
196
+ }
197
+
198
+ async authRespondChallenge(
199
+ input: RespondToChallengeRequest,
200
+ ): Promise<ApiGatewayResponse<RespondToChallengeResponse>> {
201
+ const url = `${this.baseUrl}/auth/respond-challenge`;
202
+ return await this.httpRequest.post(url, input);
203
+ }
204
+
205
+ async authRefreshTokens(
206
+ input: RefreshTokensRequest,
207
+ ): Promise<ApiGatewayResponse<RefreshTokensResponse>> {
208
+ const url = `${this.baseUrl}/auth/refresh-tokens`;
209
+ return await this.httpRequest.post(url, input);
210
+ }
211
+
212
+ async authForgotPassword(
213
+ input: ForgotPasswordRequest,
214
+ ): Promise<ApiGatewayResponse<void>> {
215
+ const url = `${this.baseUrl}/auth/forgot-password`;
216
+ return await this.httpRequest.post(url, input);
217
+ }
218
+
219
+ async authConfirmForgotPassword(
220
+ input: ConfirmForgotPasswordRequest,
221
+ ): Promise<ApiGatewayResponse<void>> {
222
+ const url = `${this.baseUrl}/auth/confirm-forgot-password`;
223
+ return await this.httpRequest.post(url, input);
224
+ }
225
+
226
+ async authResendConfirmation(
227
+ input: ResendConfirmationRequest,
228
+ ): Promise<ApiGatewayResponse<void>> {
229
+ const url = `${this.baseUrl}/auth/resend-confirmation`;
230
+ return await this.httpRequest.post(url, input);
231
+ }
232
+
233
+ async authChangePassword(
234
+ input: ChangePasswordRequest,
235
+ ): Promise<ApiGatewayResponse<void>> {
236
+ const url = `${this.baseUrl}/auth/change-password`;
237
+ return await this.httpRequest.post(url, input);
238
+ }
239
+
240
+ // ============= Email + Profile self-service (3) =============
241
+
242
+ async updateEmail(input: UpdateEmailRequest): Promise<ApiGatewayResponse<void>> {
243
+ const url = `${this.baseUrl}/users/email/update`;
244
+ return await this.httpRequest.post(url, input);
245
+ }
246
+
247
+ async verifyEmail(input: VerifyEmailRequest): Promise<ApiGatewayResponse<void>> {
248
+ const url = `${this.baseUrl}/users/email/verify`;
249
+ return await this.httpRequest.post(url, input);
250
+ }
251
+
252
+ async updateProfile(input: UpdateProfileRequest): Promise<ApiGatewayResponse<void>> {
253
+ const url = `${this.baseUrl}/users/profile/update`;
254
+ return await this.httpRequest.post(url, input);
255
+ }
256
+
257
+ // ============= Pool + auth events + healthcheck (4) =============
258
+
259
+ async listUserAuthEvents(
260
+ cognitoSub: string,
261
+ input: AuthEventsRequest,
262
+ ): Promise<ApiGatewayResponse<AuthEventResponse[]>> {
263
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/auth-events`;
264
+ return await this.httpRequest.get(url, { ...input });
265
+ }
266
+
267
+ async createPool(input: CreatePoolRequest): Promise<ApiGatewayResponse<CreatePoolResponse>> {
268
+ const url = `${this.baseUrl}/pools`;
269
+ return await this.httpRequest.post(url, input);
270
+ }
271
+
272
+ async deletePool(userPoolId: string, region: string): Promise<ApiGatewayResponse<void>> {
273
+ const url = `${this.baseUrl}/pools/${encodeURIComponent(userPoolId)}`;
274
+ return await this.httpRequest.delete(url, { region });
275
+ }
276
+
277
+ async healthcheck(): Promise<ApiGatewayResponse<HealthcheckResponse>> {
278
+ const url = `${this.baseUrl}/healthcheck`;
279
+ return await this.httpRequest.get(url);
280
+ }
281
+ }