@yuno-payments/dashboard-api-mfe 1.11.3 → 1.11.4

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 (162) hide show
  1. package/build/cjs/index.js +6 -6
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/types/api/api.d.ts +18 -11
  4. package/build/cjs/types/mutations/index.d.ts +0 -1
  5. package/build/cjs/types/mutations/notifications/notifications.mutation.d.ts +3 -2
  6. package/build/cjs/types/mutations/recipients/recipients.mutation.d.ts +7 -14
  7. package/build/cjs/types/queries/checkouts/checkouts.query.d.ts +1 -105
  8. package/build/cjs/types/queries/cms/cms.query.d.ts +14 -0
  9. package/build/cjs/types/queries/cms/index.d.ts +1 -0
  10. package/build/cjs/types/queries/data-report/data-report.query.d.ts +4 -0
  11. package/build/cjs/types/queries/dialogs/dialogs.query.d.ts +2 -0
  12. package/build/cjs/types/queries/dialogs/index.d.ts +1 -0
  13. package/build/cjs/types/queries/index.d.ts +2 -0
  14. package/build/cjs/types/queries/mfa/organization-settings.query.d.ts +1 -4
  15. package/build/cjs/types/queries/payment-links/payment-links.query.d.ts +1 -0
  16. package/build/cjs/types/queries/recipients/recipients.query.d.ts +1 -6
  17. package/build/cjs/types/types/audit/audit.d.ts +0 -2
  18. package/build/cjs/types/types/cms/cms.d.ts +47 -0
  19. package/build/cjs/types/types/cms/index.d.ts +1 -0
  20. package/build/cjs/types/types/data-report/data-report.d.ts +1 -4
  21. package/build/cjs/types/types/index.d.ts +1 -1
  22. package/build/cjs/types/types/installments/installments.d.ts +0 -4
  23. package/build/cjs/types/types/mfa/mfa.d.ts +0 -4
  24. package/build/cjs/types/types/recipients/index.d.ts +0 -1
  25. package/build/cjs/types/types/reports/reports.d.ts +0 -1
  26. package/build/cjs/types/types/subscriptions/subscriptions.d.ts +0 -7
  27. package/build/cjs/types/types/template-reporting/template.types.d.ts +0 -4
  28. package/build/cjs/types/utils/enums.d.ts +143 -0
  29. package/build/esm/index.js +6 -6
  30. package/build/esm/index.js.map +1 -1
  31. package/build/esm/types/api/api.d.ts +18 -11
  32. package/build/esm/types/mutations/index.d.ts +0 -1
  33. package/build/esm/types/mutations/notifications/notifications.mutation.d.ts +3 -2
  34. package/build/esm/types/mutations/recipients/recipients.mutation.d.ts +7 -14
  35. package/build/esm/types/queries/checkouts/checkouts.query.d.ts +1 -105
  36. package/build/esm/types/queries/cms/cms.query.d.ts +14 -0
  37. package/build/esm/types/queries/cms/index.d.ts +1 -0
  38. package/build/esm/types/queries/data-report/data-report.query.d.ts +4 -0
  39. package/build/esm/types/queries/dialogs/dialogs.query.d.ts +2 -0
  40. package/build/esm/types/queries/dialogs/index.d.ts +1 -0
  41. package/build/esm/types/queries/index.d.ts +2 -0
  42. package/build/esm/types/queries/mfa/organization-settings.query.d.ts +1 -4
  43. package/build/esm/types/queries/payment-links/payment-links.query.d.ts +1 -0
  44. package/build/esm/types/queries/recipients/recipients.query.d.ts +1 -6
  45. package/build/esm/types/types/audit/audit.d.ts +0 -2
  46. package/build/esm/types/types/cms/cms.d.ts +47 -0
  47. package/build/esm/types/types/cms/index.d.ts +1 -0
  48. package/build/esm/types/types/data-report/data-report.d.ts +1 -4
  49. package/build/esm/types/types/index.d.ts +1 -1
  50. package/build/esm/types/types/installments/installments.d.ts +0 -4
  51. package/build/esm/types/types/mfa/mfa.d.ts +0 -4
  52. package/build/esm/types/types/recipients/index.d.ts +0 -1
  53. package/build/esm/types/types/reports/reports.d.ts +0 -1
  54. package/build/esm/types/types/subscriptions/subscriptions.d.ts +0 -7
  55. package/build/esm/types/types/template-reporting/template.types.d.ts +0 -4
  56. package/build/esm/types/utils/enums.d.ts +143 -0
  57. package/build/index.d.ts +97 -249
  58. package/build/main.0ef469d30ac1f73e.hot-update.js +46 -0
  59. package/build/main.0ef469d30ac1f73e.hot-update.js.map +1 -0
  60. package/build/main.0ef469d30ac1f73e.hot-update.json +1 -0
  61. package/build/main.12ba9763a5af2867.hot-update.js +4178 -0
  62. package/build/main.12ba9763a5af2867.hot-update.js.map +1 -0
  63. package/build/main.12ba9763a5af2867.hot-update.json +1 -0
  64. package/build/main.2f0bb65f361bc9aa.hot-update.js +2575 -0
  65. package/build/main.2f0bb65f361bc9aa.hot-update.js.map +1 -0
  66. package/build/main.2f0bb65f361bc9aa.hot-update.json +1 -0
  67. package/build/main.31b800bdfc7bcf66.hot-update.js +23 -0
  68. package/build/main.31b800bdfc7bcf66.hot-update.js.map +1 -0
  69. package/build/main.31b800bdfc7bcf66.hot-update.json +1 -0
  70. package/build/main.31ef41183a0357fd.hot-update.js +23 -0
  71. package/build/main.31ef41183a0357fd.hot-update.js.map +1 -0
  72. package/build/main.31ef41183a0357fd.hot-update.json +1 -0
  73. package/build/main.39b804b4f223333f.hot-update.js +142 -0
  74. package/build/main.39b804b4f223333f.hot-update.js.map +1 -0
  75. package/build/main.39b804b4f223333f.hot-update.json +1 -0
  76. package/build/main.3ca3490681942ed0.hot-update.js +10 -0
  77. package/build/main.3ca3490681942ed0.hot-update.js.map +1 -0
  78. package/build/main.3ca3490681942ed0.hot-update.json +1 -0
  79. package/build/main.3e4059ad01b911d5.hot-update.js +10 -0
  80. package/build/main.3e4059ad01b911d5.hot-update.js.map +1 -0
  81. package/build/main.3e4059ad01b911d5.hot-update.json +1 -0
  82. package/build/main.4ead4321633f87fd.hot-update.js +10 -0
  83. package/build/main.4ead4321633f87fd.hot-update.js.map +1 -0
  84. package/build/main.4ead4321633f87fd.hot-update.json +1 -0
  85. package/build/main.5231ec959bfdd54a.hot-update.js +823 -0
  86. package/build/main.5231ec959bfdd54a.hot-update.js.map +1 -0
  87. package/build/main.5231ec959bfdd54a.hot-update.json +1 -0
  88. package/build/main.60642e2056d40cbc.hot-update.js +23 -0
  89. package/build/main.60642e2056d40cbc.hot-update.js.map +1 -0
  90. package/build/main.60642e2056d40cbc.hot-update.json +1 -0
  91. package/build/main.7504b5e28de88b4d.hot-update.js +10 -0
  92. package/build/main.7504b5e28de88b4d.hot-update.js.map +1 -0
  93. package/build/main.7504b5e28de88b4d.hot-update.json +1 -0
  94. package/build/main.75fac631457c8400.hot-update.js +937 -0
  95. package/build/main.75fac631457c8400.hot-update.js.map +1 -0
  96. package/build/main.75fac631457c8400.hot-update.json +1 -0
  97. package/build/main.7654b5e519accc5a.hot-update.js +10 -0
  98. package/build/main.7654b5e519accc5a.hot-update.js.map +1 -0
  99. package/build/main.7654b5e519accc5a.hot-update.json +1 -0
  100. package/build/main.7734f96d14c3c07a.hot-update.js +10 -0
  101. package/build/main.7734f96d14c3c07a.hot-update.js.map +1 -0
  102. package/build/main.7734f96d14c3c07a.hot-update.json +1 -0
  103. package/build/main.79d0dd0a059cf3d2.hot-update.js +10 -0
  104. package/build/main.79d0dd0a059cf3d2.hot-update.js.map +1 -0
  105. package/build/main.79d0dd0a059cf3d2.hot-update.json +1 -0
  106. package/build/main.9a3105c0515511e6.hot-update.js +952 -0
  107. package/build/main.9a3105c0515511e6.hot-update.js.map +1 -0
  108. package/build/main.9a3105c0515511e6.hot-update.json +1 -0
  109. package/build/main.9a70cae7efc29065.hot-update.js +39 -0
  110. package/build/main.9a70cae7efc29065.hot-update.js.map +1 -0
  111. package/build/main.9a70cae7efc29065.hot-update.json +1 -0
  112. package/build/main.9b33c6fcc8fd3f57.hot-update.js +10 -0
  113. package/build/main.9b33c6fcc8fd3f57.hot-update.js.map +1 -0
  114. package/build/main.9b33c6fcc8fd3f57.hot-update.json +1 -0
  115. package/build/main.9c87c39ff7873bca.hot-update.js +10 -0
  116. package/build/main.9c87c39ff7873bca.hot-update.js.map +1 -0
  117. package/build/main.9c87c39ff7873bca.hot-update.json +1 -0
  118. package/build/main.9f7159d52fd04a7d.hot-update.js +3749 -0
  119. package/build/main.9f7159d52fd04a7d.hot-update.js.map +1 -0
  120. package/build/main.9f7159d52fd04a7d.hot-update.json +1 -0
  121. package/build/main.a0a0faaf03061b21.hot-update.js +23 -0
  122. package/build/main.a0a0faaf03061b21.hot-update.js.map +1 -0
  123. package/build/main.a0a0faaf03061b21.hot-update.json +1 -0
  124. package/build/main.b58cc596e947fb5b.hot-update.js +34 -0
  125. package/build/main.b58cc596e947fb5b.hot-update.js.map +1 -0
  126. package/build/main.b58cc596e947fb5b.hot-update.json +1 -0
  127. package/build/main.b659381d4f13795e.hot-update.js +10 -0
  128. package/build/main.b659381d4f13795e.hot-update.js.map +1 -0
  129. package/build/main.b659381d4f13795e.hot-update.json +1 -0
  130. package/build/main.bbb650ecadb0a13b.hot-update.js +61 -0
  131. package/build/main.bbb650ecadb0a13b.hot-update.js.map +1 -0
  132. package/build/main.bbb650ecadb0a13b.hot-update.json +1 -0
  133. package/build/main.bf97cc6dbbb3cdb1.hot-update.js +10 -0
  134. package/build/main.bf97cc6dbbb3cdb1.hot-update.js.map +1 -0
  135. package/build/main.bf97cc6dbbb3cdb1.hot-update.json +1 -0
  136. package/build/main.d62d5a57d5bc6614.hot-update.js +4236 -0
  137. package/build/main.d62d5a57d5bc6614.hot-update.js.map +1 -0
  138. package/build/main.d62d5a57d5bc6614.hot-update.json +1 -0
  139. package/build/main.e0010fdb661814be.hot-update.js +10 -0
  140. package/build/main.e0010fdb661814be.hot-update.js.map +1 -0
  141. package/build/main.e0010fdb661814be.hot-update.json +1 -0
  142. package/build/main.ecc2159bd4dc7d54.hot-update.js +23 -0
  143. package/build/main.ecc2159bd4dc7d54.hot-update.js.map +1 -0
  144. package/build/main.ecc2159bd4dc7d54.hot-update.json +1 -0
  145. package/build/main.f921adce709bfd01.hot-update.js +50871 -0
  146. package/build/main.f921adce709bfd01.hot-update.js.map +1 -0
  147. package/build/main.f921adce709bfd01.hot-update.json +1 -0
  148. package/build/yuno-dashboard-api-mfe.js +55915 -0
  149. package/build/yuno-dashboard-api-mfe.js.map +1 -0
  150. package/package.json +6 -6
  151. package/build/cjs/types/msw/handlers/mfa.d.ts +0 -1
  152. package/build/cjs/types/mutations/playground/index.d.ts +0 -1
  153. package/build/cjs/types/mutations/playground/playground.mutation.d.ts +0 -7
  154. package/build/cjs/types/types/playground/index.d.ts +0 -1
  155. package/build/cjs/types/types/playground/playground.d.ts +0 -33
  156. package/build/cjs/types/types/recipients/recipients-export.d.ts +0 -52
  157. package/build/esm/types/msw/handlers/mfa.d.ts +0 -1
  158. package/build/esm/types/mutations/playground/index.d.ts +0 -1
  159. package/build/esm/types/mutations/playground/playground.mutation.d.ts +0 -7
  160. package/build/esm/types/types/playground/index.d.ts +0 -1
  161. package/build/esm/types/types/playground/playground.d.ts +0 -33
  162. package/build/esm/types/types/recipients/recipients-export.d.ts +0 -52
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.12ba9763a5af2867.hot-update.js","sources":["webpack://dashboard-api-mfe/./src/api/api.ts","webpack://dashboard-api-mfe/./src/msw/handlers/index.ts","webpack://dashboard-api-mfe/./src/mutations/accounts/accounts.mutation.ts","webpack://dashboard-api-mfe/./src/mutations/accounts/index.ts","webpack://dashboard-api-mfe/./src/mutations/index.ts","webpack://dashboard-api-mfe/./src/queries/accounts/accounts.query.ts","webpack://dashboard-api-mfe/./src/queries/accounts/index.ts","webpack://dashboard-api-mfe/./src/queries/index.ts","webpack://dashboard-api-mfe/./src/types/organization/organization.ts","webpack://dashboard-api-mfe/./src/yuno-dashboard-api-mfe.tsx","webpack://dashboard-api-mfe/webpack/runtime/get_full_hash"],"sourcesContent":["import {\n AxiosError,\n AxiosRequestConfig,\n AxiosResponse,\n InternalAxiosRequestConfig,\n} from 'axios'\nimport { HttpClient, apiConfig, serializeParams } from '../lib/http-client'\nimport {\n GetPaymentsParams,\n GetReconciliationMetricParams,\n FirebaseUserSubscribe,\n PathNotification,\n TimeZoneCatalog,\n GetTransactionDetailsV2Params,\n MfaUserSubscribe,\n UserInviteMultiaccountPayload,\n GetTransactionsParams,\n PaymentsSettings,\n GetPayoutDetail,\n GetPayoutTransactionDetail,\n PinnedSections,\n ThemeSettings,\n ListSubscriptionsParams,\n} from './api.types'\n\nimport {\n Audit,\n OperationTransaction,\n Organization,\n OrganizationConfig,\n SmartRouting,\n User,\n Webhook,\n Reports,\n ReportType,\n TemplateType,\n OrganizationSettings,\n IListScheduledReportsResponse,\n DataReport,\n Reconciliation,\n Checkout,\n ReconciliationReportType,\n SendPaymentNotification,\n ReconciliationAlerts,\n ReconciliationAgenda,\n ReconciliationSales,\n ReconciliationAdvancements,\n ReconciliationFees,\n ReconciliationInsights,\n Payment,\n AddToRiskListRequest,\n InsightsFraudParams,\n InsightsFraudBody,\n AI,\n PaymentFiltersSection,\n Installments,\n Connection,\n TemplateReporting,\n GetUserFullResponse,\n Team,\n ConciergeAlerts,\n Playground,\n} from '../types'\nimport {\n ConversionRateParams,\n ConversionRateBody,\n ConversionRateOverview,\n ConversionRateOverviewFraud3ds,\n} from '../types/data-report/conversion-rate.types'\nimport { RoutingMonitors } from '../types/routing-monitors'\nimport { ChangePaymentsWebhook } from '../mutations'\nimport { S3Client } from '../types/s3-client'\nimport {\n CreateRecipientPayload,\n UpdateRecipientPayload,\n CreateOnboardingPayload,\n UpdateOnboardingPayload,\n} from '../types/recipients/recipients-mutations'\nimport { AllowedList } from '../types/allowed-list'\nimport {\n connectionsActions,\n connectionsActionsUrl,\n connectionsActionsValues,\n typesInsightsExport,\n} from '../utils/enums'\nimport { Cost } from '../types/connection/costs'\nimport { Styling, StylingSettings } from '../types/checkout/styling/styling'\nimport { FeatureFlags } from '../types/feature-flags/intex'\nimport { v4 as uuidv4 } from 'uuid'\nimport {\n DuplicateAccountBody,\n DuplicateAccountResponse,\n RetryDuplicateAccountResponse,\n} from '../mutations/accounts/types'\nimport { PendingDuplicateAccountsResponse } from '../queries/accounts/types'\nimport { FeatureFlagsResult, PatchChartGPTPayload } from '../queries'\n\nconst getAccounts = (paramsAccountCode?: string) => ({\n account_codes:\n paramsAccountCode && paramsAccountCode?.length > 0\n ? paramsAccountCode?.split(',')\n : [],\n})\n\n/**\n * Transforms frontend metadata format into backend metadata_filters format.\n * Returns an empty object when metadata is undefined or empty, allowing safe spreading into request bodies.\n *\n * @param metadata - Array of metadata fields from frontend (field, type, values)\n * @returns Object with metadata_filters property or empty object\n */\nfunction buildMetadataFiltersBody(\n metadata?: Array<{ field: string; type: string; values: string | string[] }>,\n): Record<string, unknown> {\n if (!metadata || metadata.length === 0) return {}\n return {\n metadata_filters: metadata.map(({ field, type, values }) => ({\n key: field,\n conditional: type,\n values: Array.isArray(values) ? values : [values],\n })),\n }\n}\n\ninterface S3Payload {\n payload: S3Client.PayloadV2\n handleSetProgress?: (progress: number) => void\n}\nexport class Api extends HttpClient {\n constructor(config?: AxiosRequestConfig) {\n const customConfig: AxiosRequestConfig = config\n ? {\n ...apiConfig,\n ...config,\n }\n : apiConfig\n\n super(customConfig)\n }\n\n // When u need mock the error component or page, u can use this\n // use: if (true) return this.simulateAxiosError()\n\n public simulateAxiosError() {\n return new Promise<AxiosResponse>((_, reject) => {\n reject({ name: 'AxiosError' })\n })\n }\n\n // #region RECONCILIATIONS\n public updateReconciliationReportTemplate<T>(\n payload: Reports.ICreateTemplate,\n ): Promise<AxiosResponse<T>> {\n const reportType =\n payload.type === ReconciliationReportType.TRANSACTIONS\n ? 'TRANSACTIONS'\n : payload.type\n const _payload = {\n ...payload,\n type: reportType,\n }\n\n return this.put<T, any>(`/v1/reconciliation/reports/templates`, _payload)\n }\n public createReconciliationReportTemplate<T>(\n payload: Reports.ICreateTemplate,\n ): Promise<AxiosResponse<T>> {\n const reportType =\n payload.type === ReconciliationReportType.TRANSACTIONS\n ? 'TRANSACTIONS'\n : payload.type\n const _payload = {\n ...payload,\n type: reportType,\n }\n\n return this.post<T, any>(`/v1/reconciliation/reports/templates`, _payload)\n }\n\n public getReconciliationTransactions<T>(\n params: any,\n ): Promise<AxiosResponse<T, any>> {\n const paramsAccountCode = params.account_code\n delete params.account_code\n\n return this.post<T, any>(\n `v2/reconciliation/transactions`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n },\n { params },\n )\n }\n\n public getReconciliationSettlements<T>(\n params: any,\n ): Promise<AxiosResponse<T, any>> {\n const paramsAccountCode = params.account_code\n delete params.account_code\n\n return this.post<T, any>(\n `/reconciliation/settlements`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n },\n { params },\n )\n }\n\n public getReconciliationMetrics<T>(\n params: GetReconciliationMetricParams,\n ): Promise<AxiosResponse<T, unknown>> {\n const paramsAccountCode = params.account_code\n delete params.account_code\n\n return this.post<T, any>(\n '/reconciliation/reports',\n {\n account_codes: paramsAccountCode?.split(',') || [],\n },\n { params },\n )\n }\n public getReconciliationFilters<T>(): Promise<AxiosResponse<T, unknown>> {\n return this.get<T>('/reconciliation/filters')\n }\n\n public getReconciliationsReportColumns<T>(\n templateType: TemplateType,\n reportType: ReconciliationReportType,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/v1/reconciliation/reports/columns/${templateType}/${reportType}`,\n )\n }\n\n public getReconciliationReportTemplates<T>(): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/v1/reconciliation/reports/templates`)\n }\n\n public getAllTableColumns<T>(\n tableType: Reconciliation.TableType,\n ): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/v1/reconciliation/table/${tableType}/columns`)\n }\n\n public getReconciliationActive<T>(): Promise<AxiosResponse<T, unknown>> {\n return this.get<T>('/v1/reconciliation/status')\n }\n\n // #region RECONCILIATIONS - ALERTS\n\n public getReconciliationAlerts<T>(\n body: ReconciliationAlerts.ReconciliationAlertFiltersBody,\n params: ReconciliationAlerts.ReconciliationAlertFiltersParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/alerts/list', body, { params })\n }\n\n public postReconciliationAlert<T>(\n payload: ReconciliationAlerts.ReconciliationAlertToSave,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/alerts', payload)\n }\n\n public updateReconciliationAlert<T>(\n payload: ReconciliationAlerts.ReconciliationAlertToUpdate,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>('/reconciliation/alerts', payload)\n }\n\n public deleteReconciliationAlert<T>(\n params: ReconciliationAlerts.DeleteReconciliationAlertResponse,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, any>('/reconciliation/alerts', { params })\n }\n\n // #region RECONCILIATIONS - AGENDA\n\n public getReconciliationAgenda<T>(\n body: ReconciliationAgenda.FiltersRequestBody,\n params: ReconciliationAgenda.FiltersRequestParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/agenda/list', body, { params })\n }\n\n public getReconciliationAgendaInsightByKey<T>(\n body: ReconciliationAgenda.FiltersRequestBody,\n params: ReconciliationAgenda.InsightRequestParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/agenda/insights', body, {\n params,\n })\n }\n\n // #region RECONCILIATIONS - SALES\n\n public getReconciliationSales<T>(\n body: ReconciliationSales.FiltersRequestBody,\n params: ReconciliationSales.FiltersRequestParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/sales/list', body, { params })\n }\n\n // #region RECONCILIATIONS - ADVANCEMENTS\n\n public getReconciliationAdvancements<T>(\n body: ReconciliationAdvancements.FiltersRequestBody,\n params: ReconciliationAdvancements.FiltersRequestParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/advancements/list', body, {\n params,\n })\n }\n\n // #region RECONCILIATIONS - FEES\n\n public getReconciliationFees<T>(\n body: ReconciliationFees.FiltersRequestBody,\n params: ReconciliationFees.FiltersRequestParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliation/fees/list', body, { params })\n }\n\n // #region RECONCILIATION INSIGHTS\n\n // 1. Conflicts Summary\n public getReconciliationInsightsConflictsSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/conflicts/summary',\n body,\n )\n }\n\n // 2. Not Reconciled - Aggregators\n public getReconciliationInsightsNotReconciledAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/not-reconciled/aggregators',\n body,\n )\n }\n\n // 3. Not Reconciled - List\n public getReconciliationInsightsNotReconciledList<T>(\n body: ReconciliationInsights.ListFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/not-reconciled/list',\n body,\n )\n }\n\n // 4. Status Conflict - Aggregators\n public getReconciliationInsightsStatusConflictAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/status-conflict/aggregators',\n body,\n )\n }\n\n // 5. Status Conflict - List\n public getReconciliationInsightsStatusConflictList<T>(\n body: ReconciliationInsights.ListFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/status-conflict/list',\n body,\n )\n }\n\n // 6. Amount Conflict - Aggregators\n public getReconciliationInsightsAmountConflictAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/amount-conflict/aggregators',\n body,\n )\n }\n\n // 7. Amount Conflict - List\n public getReconciliationInsightsAmountConflictList<T>(\n body: ReconciliationInsights.ListFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/amount-conflict/list',\n body,\n )\n }\n\n // 8. Conflict Date - Summary\n public getReconciliationInsightsConflictDateSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/conflict-date/summary',\n body,\n )\n }\n\n // 9. Conflict Date - Aggregators\n public getReconciliationInsightsConflictDateAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/conflict-date/aggregators',\n body,\n )\n }\n\n // 10. Conflict Date - List\n public getReconciliationInsightsConflictDateList<T>(\n body: ReconciliationInsights.ListFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/conflict-date/list',\n body,\n )\n }\n\n // 11. Incorrect Fees - Summary (with date_filter param)\n public getReconciliationInsightsIncorrectFeesSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/incorrect-fees/summary',\n body,\n dateFilter ? { params: { date_filter: dateFilter } } : undefined,\n )\n }\n\n // 12. Incorrect Fees - Aggregators (with date_filter param)\n public getReconciliationInsightsIncorrectFeesAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/incorrect-fees/aggregators',\n body,\n dateFilter ? { params: { date_filter: dateFilter } } : undefined,\n )\n }\n\n // 13. Incorrect Fees - List (with date_filter param)\n public getReconciliationInsightsIncorrectFeesList<T>(\n body: ReconciliationInsights.ListFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/incorrect-fees/list',\n body,\n dateFilter ? { params: { date_filter: dateFilter } } : undefined,\n )\n }\n\n // 14. Fees Charged - Summary (with date_filter param)\n public getReconciliationInsightsFeesChargedSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/fees-charged/summary',\n body,\n dateFilter ? { params: { date_filter: dateFilter } } : undefined,\n )\n }\n\n // 15. Reconciled - Summary (with date_filter param)\n public getReconciliationInsightsReconciledSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/reconciled/summary',\n body,\n dateFilter ? { params: { date_filter: dateFilter } } : undefined,\n )\n }\n\n // 16. Reconciled - Aggregators\n public getReconciliationInsightsReconciledAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n transactionType?: string,\n ): Promise<AxiosResponse<T>> {\n const params: Record<string, string> = {}\n if (dateFilter) params.date_filter = dateFilter\n if (transactionType) params.type = transactionType\n\n return this.post<T, any>(\n '/reconciliations/insights/reconciled/aggregators',\n body,\n Object.keys(params).length > 0 ? { params } : undefined,\n )\n }\n\n // 17. Reconciled - List\n public getReconciliationInsightsReconciledList<T>(\n body: ReconciliationInsights.ListFiltersWithAcquirer,\n dateFilter?: ReconciliationInsights.DateFilterType,\n transactionType?: string,\n ): Promise<AxiosResponse<T>> {\n const params: Record<string, string> = {}\n if (dateFilter) params.date_filter = dateFilter\n if (transactionType) params.type = transactionType\n\n return this.post<T, any>(\n '/reconciliations/insights/reconciled/list',\n body,\n Object.keys(params).length > 0 ? { params } : undefined,\n )\n }\n\n // 18. Not Confirm - Summary\n public getReconciliationInsightsNotConfirmSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/not-confirm/summary',\n body,\n )\n }\n\n // 19. Not Confirm - Aggregators\n public getReconciliationInsightsNotConfirmAggregators<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/not-confirm/aggregators',\n body,\n )\n }\n\n // 20. Not Confirm - List\n public getReconciliationInsightsNotConfirmList<T>(\n body: ReconciliationInsights.ListFiltersWithAcquirer,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/reconciliations/insights/not-confirm/list', body)\n }\n\n // 21. Amount To Be Settled - Summary\n public getReconciliationInsightsAmountToBeSettledSummary<T>(\n body: ReconciliationInsights.BaseFiltersWithAcquirer,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/amount-to-be-settled/summary',\n body,\n )\n }\n\n // 22. Reconciliation Rate - By Provider\n public getReconciliationInsightsReconciliationRateByProvider<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/reconciliation-rate/summary/by-provider',\n body,\n )\n }\n\n // 23. Reconciliation Rate - By Account\n public getReconciliationInsightsReconciliationRateByAccount<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/reconciliation-rate/summary/by-account',\n body,\n )\n }\n\n // 24. Reconciliation Rate - By Currency\n public getReconciliationInsightsReconciliationRateByCurrency<T>(\n body: ReconciliationInsights.BaseFiltersWithProvider,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/reconciliations/insights/reconciliation-rate/summary/by-currency',\n body,\n )\n }\n\n // #endregion RECONCILIATION INSIGHTS\n\n // #region PAYMENTS\n public postPaymentsLazy<T>(\n params: GetPaymentsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n if (!restParams.start_date) restParams.start_date = new Date()\n if (!restParams.end_date) restParams.end_date = new Date()\n\n return this.post<T, any>(\n `/payments/lazy`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n ...buildMetadataFiltersBody(metadata),\n },\n { params: restParams },\n )\n }\n\n public postPayouts<T>(\n params: GetPaymentsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n if (!restParams.start_date) restParams.start_date = new Date()\n if (!restParams.end_date) restParams.end_date = new Date()\n\n return this.post<T, any>(\n `/payouts`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n ...buildMetadataFiltersBody(metadata),\n },\n { params: restParams },\n )\n }\n\n public getPayoutsFilters<T>(organizationCode): Promise<AxiosResponse<T>> {\n return this.get<T>('/payouts/filters', {\n headers: { 'x-organization-code': organizationCode },\n })\n }\n public postPaymentsEvaluated<T>(\n params: GetPaymentsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code, ...restParams } = params\n if (!restParams.start_date) restParams.start_date = new Date()\n if (!restParams.end_date) restParams.end_date = new Date()\n\n return this.post<T, any>(`/payments/evaluated`, restParams)\n }\n\n public getPaymentV2<T>(paymentCode: string): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/payments/v2/${paymentCode}`)\n }\n\n public postTransactions<T>(\n params: GetTransactionsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n\n return this.post<T, any>(\n `/v2/transactions`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n ...buildMetadataFiltersBody(metadata),\n },\n { params: restParams },\n )\n }\n\n public postFraudTransactions<T>(\n params: GetTransactionsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n\n return this.post<T, any>(\n `/fraud-transactions`,\n {\n account_codes: paramsAccountCode?.split(',') || [],\n ...buildMetadataFiltersBody(metadata),\n },\n { params: restParams },\n )\n }\n\n public getPayoutDetails<T>(\n params: GetPayoutDetail,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': params.organization_code,\n }\n return this.get<T>(`/payouts/detail/${params.payout_code}`, { headers })\n }\n\n public getPayoutTransactionDetails<T>(\n params: GetPayoutTransactionDetail,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': params.organization_code,\n }\n return this.get<T>(\n `/payouts/${params.payout_code}/transaction/${params.transaction_code}/detail`,\n { headers },\n )\n }\n\n public getPayoutHistoryDetails<T>(\n params: GetPayoutDetail,\n organizationCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/payouts/${params.payout_code}/history`, { headers })\n }\n\n public getPayoutTimeline<T>(\n payoutCode: string,\n organizationCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/payouts/${payoutCode}/timeline`, { headers })\n }\n\n public getPaymentMethodsByCountry<T>(\n { provider_id, country }: Organization.PaymentMethods,\n organizationCodeFromAccount,\n ): Promise<AxiosResponse<T, any>> {\n const organizationCodeMerlin = localStorage.getItem('x-organization-code')\n const headers = {\n 'x-organization-code': organizationCodeFromAccount,\n }\n return this.get<T>(\n `/organizations/provider-params/${provider_id}/${country}`,\n !organizationCodeMerlin ? { headers } : {},\n )\n }\n\n public getOrgByName<T>(name): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/organizations/get-by-name`, { org_name: name })\n }\n\n public createOperationTransaction<T>(\n payload: OperationTransaction.Request,\n transactionId: string,\n paymentId: string,\n action: OperationTransaction.Actions,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, OperationTransaction.Request>(\n `/payments/${paymentId}/transactions/${transactionId}/${action}`,\n payload,\n )\n }\n\n public getPaymentMethodsAndProviders<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/payments/payment-methods/providers`)\n }\n\n public getTransactionDetailsV2<T>(\n params: GetTransactionDetailsV2Params,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/payments/${params.payment_code}/transactions/details`,\n {\n params: {\n payment_code: params.payment_code,\n size: 99,\n },\n },\n )\n }\n\n public getTransactionRawResponse<T>(\n params: GetTransactionDetailsV2Params,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/transactions/${params.transaction_code}/raw-response`)\n }\n\n public postProviderRawResponse<T>(\n transactionCode: string,\n payload: Payment.ProviderRawResponse.Request,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, Payment.ProviderRawResponse.Request>(\n `/provider-raw-response/${transactionCode}`,\n payload,\n )\n }\n\n public uploadChargebacks<T>(\n payload: Payment.UploadRequest,\n paymentId: string,\n transactionId: string,\n handleSetProgress: (progress: number) => void,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, Payment.UploadRequest>(\n `/chargebacks/upload-file/payment/${paymentId}/transaction/${transactionId}`,\n payload,\n {\n onUploadProgress: (ev) => {\n handleSetProgress(\n ev.total ? Math.round((ev.loaded * 100) / ev.total) : 0,\n )\n },\n\n headers: {\n 'x-account-code': payload?.account_id,\n 'x-idempotency-key': uuidv4(),\n },\n },\n )\n }\n\n public getPaymentTransactionsDetails<T>({\n transaction_code,\n }): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/transactions/${transaction_code}/details`)\n }\n\n public getTransactionHistoryByPaymentCode<T>({\n payment_code,\n }): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/transactions/by-payment/${payment_code}/history`)\n }\n\n public getDeveloperCredentials<T>(\n password,\n accountCode,\n otp?: string,\n mfaToken?: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers: Record<string, string> = {}\n\n if (password) {\n headers['x-password'] = password\n }\n if (accountCode) {\n headers['x-account-code'] = accountCode\n }\n if (otp) {\n headers['x-otp'] = otp\n }\n if (mfaToken) {\n headers['x-mfa-token'] = mfaToken\n }\n\n return this.get<T>(`/v2/developers/credentials`, {\n headers,\n })\n }\n\n public getDeveloperCredentialsValidatePassword<T>(\n password,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/validate-password`, {\n headers: {\n 'x-password': password,\n },\n })\n }\n\n public getDeveloperCredentialsValidatePasswordRegularUser<T>(\n password,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/validate-password-regular`, {\n headers: {\n 'x-password': password,\n },\n })\n }\n\n public getAllowedIps<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/allowlist-ips`)\n }\n\n public patchAllowedIps<T>(\n request: AllowedList.Request,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, AllowedList.Request>(`/allowlist-ips`, request)\n }\n\n public getOrganization<T>(): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': '',\n }\n return this.get<T>(`/organizations`, { headers })\n }\n\n public getAllOrganization<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/organizations/all`)\n }\n\n public getProviderParams<T>(\n param,\n organizationCodeFromAccount,\n ): Promise<AxiosResponse<T, any>> {\n const organizationCodeMerlin = localStorage.getItem('x-organization-code')\n const headers = {\n 'x-organization-code': organizationCodeMerlin\n ? JSON.parse(organizationCodeMerlin)?.value\n : organizationCodeFromAccount,\n }\n\n return this.get<T>(`/organizations/provider-params/${param.id}`, {\n headers,\n })\n }\n\n public getIntegrationByAccountV2<T>({\n accountCode,\n organizationCode,\n }: {\n accountCode: string\n organizationCode: string\n }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.post<T, { account_code: string }>(\n `/connections/my-connections`,\n { account_code: accountCode },\n { headers },\n )\n }\n\n public async putCosts<T>(payload: {\n integration_code: string\n costs: Cost[]\n }): Promise<AxiosResponse<T>> {\n return this.put<T, any>(`/connections/costs`, {\n costs: [payload],\n })\n }\n\n public async updateOrganizationStatus<T>(): Promise<AxiosResponse<T>> {\n return this.patch<T, Organization.PatchOrganizationStatusParam>(\n `/organizations/status`,\n )\n }\n\n public addToRiskList<T>(\n paymentId: string,\n payload: AddToRiskListRequest,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, AddToRiskListRequest>(\n `/payments/${paymentId}/add-to-risk-list`,\n payload,\n )\n }\n\n // #region ORGANIZATION CONFIG\n public getOrganizationConfigs<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>('/organization-config/configs')\n }\n\n public postOrganizationConfigs<T>(\n payload: OrganizationConfig.PostConfigsRequest,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, OrganizationConfig.PostConfigsRequest>(\n '/organization-config/configs-by-account',\n payload,\n )\n }\n\n public putOrganizationConfigsByAccount<T>(\n payload: OrganizationConfig.PutConfigsByAccountRequest,\n ): Promise<AxiosResponse<T, any>> {\n return this.put<T, OrganizationConfig.PutConfigsByAccountRequest>(\n '/organization-config/configs-by-account',\n payload,\n )\n }\n // #endregion\n\n public getIntegrationParams<T>({\n accountCode,\n integration_code,\n }): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/connections/integration-params/${integration_code}`,\n accountCode\n ? {\n headers: {\n 'x-account-code': accountCode,\n },\n }\n : {},\n )\n }\n\n public async getConnectionsByPaymentMethod<T>(\n accountCode: string,\n paymentMethod: string,\n basePath: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(\n `/organizations/connections/${accountCode}/${paymentMethod}${\n basePath === 'routing-payouts' ? '?flow_type=PAYOUT' : ''\n }`,\n )\n }\n\n public getHashPylon<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>('/pylon-hash')\n }\n\n public getConnections<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>('/connections')\n }\n\n public getOnboardingStatus<T>(\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/onboarding/status/${accountCode}`)\n }\n\n public postValidateStatusConnection<T>({\n payload,\n accountCode,\n }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.post<T, any>(`/connections/validate-status`, payload, {\n headers,\n })\n }\n\n public postChangeStatusConnection<T>({\n payload,\n accountCode,\n }): Promise<AxiosResponse<T, any>> {\n let url = '/connections/change-status'\n\n if (payload.status == connectionsActionsValues.DELETED) {\n delete payload.status\n return this.delete<T, any>(url, { data: payload })\n } else if (Object.values(connectionsActions).includes(payload?.status)) {\n url = `${url}/${connectionsActionsUrl[payload.status]}`\n delete payload.status\n }\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.post<T, any>(url, payload, { headers })\n }\n\n public postMultiConnection<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/connections/multi-accounts`, payload)\n }\n\n public postMultiConnectionValidate<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/connection/valid-accounts`)\n }\n\n public patchConnection<T>({\n payload,\n connectionCode,\n }): Promise<AxiosResponse<T, any>> {\n const accountCodeCache = localStorage.getItem('account')\n const accountCode = accountCodeCache\n ? JSON.parse(accountCodeCache).value?.code\n : ''\n return this.patch<T, any>(`/connections/${connectionCode}`, {\n account_code: accountCode,\n ...payload,\n })\n }\n public postDefaultRoutes<T>({\n payload,\n }: {\n payload: {\n provider_id: string\n connections: [integration_code: string, account_code: string]\n }\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/connections/default-routes`, payload)\n }\n\n // #region WEBHOOKS V2\n public getWebhookParamsV2<T>(): Promise<AxiosResponse<T, Webhook.ParamV2[]>> {\n return this.get<T>(`/accounts/webhooks-v2/params-catalog`)\n }\n\n public getWebhooksV3<T>({\n accountCode,\n name,\n }: {\n accountCode: string\n name?: string\n }): Promise<AxiosResponse<Webhook.WebHookV2[]>> {\n return this.post<\n Webhook.WebHookV2[],\n { name?: string },\n AxiosResponse<Webhook.WebHookV2[]>\n >(\n `/accounts/webhooks-v2/search`,\n { name },\n {\n headers: { 'x-account-code': accountCode },\n },\n )\n }\n\n public getWebhooksV2Detail<T>({\n accountCode,\n }): Promise<AxiosResponse<T, Webhook.WebHookV2[]>> {\n return this.get<T>(`/accounts/webhooks-v2/detail/${accountCode}`)\n }\n\n public postWebhookV2MultiAccount<T>({\n payload,\n }: {\n payload: Webhook.WebHookV2MultiAccount\n }): Promise<AxiosResponse<T>> {\n return this.post<T, Webhook.WebHookV2MultiAccount>(\n `/accounts/webhooks/multi-account`,\n payload,\n )\n }\n\n public deleteWebhookV2<T>(\n code: string,\n accountCode: string,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, AxiosResponse<T, null>>(\n `/accounts/webhooks-v2/${code}/${accountCode}`,\n )\n }\n\n public updateWebhookV2<T>(\n code: string,\n payload: any,\n accountCode: string,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, Webhook.WebHookV2>(\n `/accounts/webhooks-v2/${code}/${accountCode}`,\n payload,\n )\n }\n\n // #region WEBHOOK LOGS\n public postWebhookLogs<T>({\n payload: { account_code, ...rest },\n }: {\n payload: Audit.AuditWebhooksParams\n }): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: account_code,\n }\n return this.post<T, any>(`/v2/webhooks/organization`, body, {\n params: rest,\n paramsSerializer: serializeParams,\n })\n }\n\n public postResendWebhooks<T>({\n codes,\n }: Audit.AuditWebhooksResendParams): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/v2/webhooks/organization/resend`, { codes })\n }\n\n public postExportApiLogs<T>(\n payload: Audit.ExportApiLogsRequest,\n ): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: payload.account_code,\n }\n delete payload.account_code\n delete payload.size\n delete payload.page\n return this.post<T, any>(`/v2/api-logs/organization/export-csv`, body, {\n params: payload,\n paramsSerializer: serializeParams,\n })\n }\n public postExportWebhooksLogs<T>(\n payload: Audit.ExportWebhooksLogsRequest,\n ): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: payload.account_code,\n }\n delete payload.account_code\n delete payload.size\n delete payload.page\n return this.post<T, any>(`/v2/webhooks/organization/export-csv`, body, {\n params: payload,\n paramsSerializer: serializeParams,\n })\n }\n\n // #region API LOGS V3\n public getApiLogsV3<T>(paymentCode: string): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/v3/api-logs/payment/${paymentCode}`)\n }\n\n // #region WEBHOOK TIMELINE V3\n public getWebhookTimeline<T>(paymentCode: string): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/v3/webhooks/payment/${paymentCode}`)\n }\n\n public postExportDashboardLogs<T>(\n payload: Audit.ExportDashboardLogsRequest,\n ): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: payload.account_code,\n event: payload.event,\n source: payload.source,\n search: payload.search,\n }\n const params = {\n report_name: payload.report_name,\n start_date: payload.start_date,\n end_date: payload.end_date,\n time_zone: payload.time_zone,\n }\n return this.post<T, any>(`/v2/events/organization/export-csv`, body, {\n params,\n paramsSerializer: serializeParams,\n })\n }\n\n public postExportMonitorsLogs<T>(\n payload: Audit.ExportMonitorsLogsRequest,\n ): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: payload.account_codes,\n status: payload.status,\n payment_methods: payload.payment_methods,\n providers: payload.providers,\n traffic_redistribution: payload.traffic_redistribution,\n }\n const params = {\n report_name: payload.report_name,\n start_date: payload.start_date,\n end_date: payload.end_date,\n time_zone: payload.time_zone,\n }\n return this.post<T, any>(`/routing-monitor/audit/export-csv`, body, {\n params,\n paramsSerializer: serializeParams,\n })\n }\n\n public getAuditExportsList<T>(\n reportType: Audit.AuditExportReportType,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/audit/reports`, {\n params: { report_type: reportType },\n })\n }\n\n public getAuditExportDownload<T>(\n reportId: string,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/audit/reports/${reportId}/download`)\n }\n\n // ============================================\n // New unified export endpoints for all 4 tabs\n // ============================================\n\n private getUnifiedExportsPath(tab: Audit.UnifiedExportTabType): string {\n return `/v1/${tab}/exports`\n }\n\n public postUnifiedExport<T>(\n tab: Audit.UnifiedExportTabType,\n payload: Audit.UnifiedExportRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, Audit.UnifiedExportRequest>(\n this.getUnifiedExportsPath(tab),\n payload,\n )\n }\n\n public getUnifiedExportStatus<T>(\n tab: Audit.UnifiedExportTabType,\n exportId: string,\n ): Promise<AxiosResponse<T>> {\n const basePath = this.getUnifiedExportsPath(tab)\n return this.get<T>(`${basePath}/${exportId}`)\n }\n\n public getUnifiedExportsList<T>(\n tab: Audit.UnifiedExportTabType,\n page = 0,\n size = 10,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(this.getUnifiedExportsPath(tab), {\n params: { page, size },\n })\n }\n\n public postApiLogs<T>({\n payload: { account_code, ...rest },\n }: {\n payload: Audit.AuditApiLogsParams\n }): Promise<AxiosResponse<T>> {\n const body = {\n account_codes: account_code,\n }\n return this.post<T, any>(`/v2/api-logs/organization`, body, {\n params: rest,\n paramsSerializer: serializeParams,\n })\n }\n public getApiLogsDetailByPaymentCode<T>(\n paymentCode: string,\n createdAtFrom?: string,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/v3/api-logs/payment/${paymentCode}`, {\n params: createdAtFrom ? { created_at_from: createdAtFrom } : undefined,\n })\n }\n\n public getApiLogsByTransactionCode<T>(\n transactionCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/v2/api-logs/transaction/${transactionCode}`, {\n headers: {\n 'x-account-code': accountCode,\n },\n })\n }\n\n public postApiLogsStatsRequests<T>(\n payload: Audit.ApiLogsStatsParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, Audit.ApiLogsStatsParams>(\n '/v3/api-logs/organization/stats/requests',\n payload,\n )\n }\n\n public postApiLogsStatsErrors<T>(\n payload: Audit.ApiLogsStatsParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, Audit.ApiLogsStatsParams>(\n '/v3/api-logs/organization/stats/errors',\n payload,\n )\n }\n\n public postApiLogsStatsErrorsByEndpoint<T>(\n payload: Audit.ApiLogsStatsParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, Audit.ApiLogsStatsParams>(\n '/v3/api-logs/organization/stats/errors-by-endpoint',\n payload,\n )\n }\n\n public postApiLogsList<T>(\n payload: Audit.ApiLogsListParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, Audit.ApiLogsListParams>(\n '/v3/api-logs/organization/list',\n payload,\n )\n }\n\n public getApiLogsV3ByPaymentCode<T>(\n paymentCode: string,\n createdAtFrom?: string,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/v3/api-logs/payment/${paymentCode}`, {\n params: createdAtFrom ? { created_at_from: createdAtFrom } : undefined,\n })\n }\n\n public useGetCountriesConfig<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/country-data-api/v1/config`)\n }\n\n public useGetCountriesConfigV2<T>(\n acceptLanguage?: string,\n ): Promise<AxiosResponse<T, any>> {\n const params = acceptLanguage ? { 'accept-language': acceptLanguage } : {}\n return this.get<T>(`/country-data/v2/config`, { params })\n }\n\n // #region SMART-ROUTING\n public getSmartRoutingMethods<T>(\n accountCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/config/withdrawal-methods`\n : `/${routingType}/methods/${accountCode}`\n return this.get<T>(path)\n }\n\n public putSmartRoutingToggleMethod<T>(\n accountCode: string,\n paymentMethod: string,\n active: boolean,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path = `/${routingType}/methods/${accountCode}/${paymentMethod}`\n return this.put<T, { active: boolean }>(path, { active })\n }\n\n public getSmartRoutingConditionTypes<T>(\n accountCode: string,\n paymentMethod: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/config/condition-types/${paymentMethod}`\n : `/${routingType}/condition-types/${accountCode}/${paymentMethod}`\n return this.get<T>(path)\n }\n\n public getSmartRoutingConditionPaymentMethod<T>(\n accountCode: string,\n paymentMethod: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T>(\n `/smart-routing/payment-methods/${paymentMethod}/conditions`,\n { headers },\n )\n }\n\n public getSmartRoutingConditionTypesValues<T>(\n accountCode: string,\n index: number,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/smart-routing/condition-types-values/${accountCode}/${index}`,\n )\n }\n\n public getSmartRoutingNextSteps<T>(\n accountCode: string,\n stepType: string,\n status: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, { actions: string[] } | string[]>> {\n if (routingType === 'routing-payouts') {\n // POST /routing-payouts/config/next-steps with body\n return this.post<T, any>(`/${routingType}/config/next-steps`, {\n step_type: stepType,\n status,\n })\n } else {\n // GET /smart-routing/next-route/:accountCode/:stepType/:status\n return this.get<T>(\n `/${routingType}/next-route/${accountCode}/${stepType}/${status}`,\n )\n }\n }\n\n public getSmartRoutingWorkflowVersion<T>(\n accountCode: string,\n workflowVersionId: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflow-version/${workflowVersionId}`\n : `/${routingType}/workflow-version/${accountCode}/${workflowVersionId}`\n return this.get<T>(path)\n }\n\n public getSmartRoutingWorkflow<T>(\n accountCode: string,\n paymentName: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/${paymentName}`\n : `/${routingType}/workflow/${accountCode}/${paymentName}`\n return this.get<T>(path)\n }\n\n public putSmartRoutingUpdateWorkflow<T>(\n accountCode: string,\n data: any,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n if (routingType === 'routing-payouts') {\n const workflowCode = data.version?.code || data.code\n return this.put<T, any>(`/${routingType}/workflows/${workflowCode}`, data)\n } else {\n return this.put<T, any>(\n `/${routingType}/update-workflow/${accountCode}`,\n data,\n )\n }\n }\n\n public putSmartRoutingUpdateWorkflowName<T>(\n accountCode: string,\n data: { name: string; code: string },\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/name/${data.code}`\n : `/${routingType}/workflow/${accountCode}/edit-name`\n return this.put<T, any>(path, data)\n }\n\n public postSmartRoutingCreateWorkflow<T>(\n accountCode: string,\n data: any,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n if (routingType === 'routing-payouts') {\n return this.post<T, any>(`/${routingType}/workflows`, data)\n } else {\n return this.post<T, any>(\n `/${routingType}/create-workflow/${accountCode}`,\n data,\n )\n }\n }\n\n public postSmartRoutingPublishVersion<T>(\n accountCode: string,\n versionCode: string,\n organizationCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/${versionCode}/publish`\n : `/${routingType}/publish-version/${accountCode}/${versionCode}`\n return this.post<T, any>(path, {}, { headers })\n }\n\n public deleteSmartRoutingVersion<T>(\n accountCode: string,\n versionCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/${versionCode}`\n : `/${routingType}/delete-version/${accountCode}/${versionCode}`\n return this.delete<T, any>(path)\n }\n\n public postSmartRoutingDuplicateVersion<T>(\n accountCode: string,\n versionCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/${versionCode}/duplicate`\n : `/${routingType}/duplicate-version/${accountCode}/${versionCode}`\n return this.post<T, any>(path, {})\n }\n\n public getSmartRoutingDeclinedGroup<T>(\n accountCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/${routingType}/declined-groups/${accountCode}`)\n }\n\n public updateSmartRoutingDeclinedGroup<T>(\n accountCode: string,\n declineId: string,\n payload,\n ): Promise<AxiosResponse<T, any>> {\n return this.put<T, any>(\n `/smart-routing/declined-groups/${accountCode}/${declineId}`,\n payload,\n )\n }\n\n public createSmartRoutingDeclinedGroup<T>(\n accountCode: string,\n payload,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/smart-routing/declined-groups/${accountCode}`,\n payload,\n )\n }\n\n public getSmartRoutingPaymentRoute<T>(\n accountCode: string,\n paymentId: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, SmartRouting.PaymentRoutes>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/payments/${paymentId}/route`\n : `/${routingType}/payment-route/${accountCode}/${paymentId}`\n return this.get<T>(path)\n }\n\n public updateSmartRoutingFavorite<T>(\n accountCode: string,\n versionCode: string,\n favorite: boolean,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/favorite/${versionCode}`\n : `/${routingType}/favorite/${accountCode}/${versionCode}`\n return this.put<T, any>(path, { favorite })\n }\n\n public getSmartRoutingSimulateConditionTypeValues<T>(\n accountCode: string,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, SmartRouting.ConditionTypeValues[]>> {\n return this.get<T>(\n `/${routingType}/condition-types-values-list/${accountCode}`,\n )\n }\n public simulateSmartRoutingTransaction<T>(\n accountCode: string,\n workflowVersionCode: string,\n values: any,\n routingType: SmartRouting.RoutingType = SmartRouting.DEFAULT_ROUTING_TYPE,\n ): Promise<AxiosResponse<T, any>> {\n const path =\n routingType === 'routing-payouts'\n ? `/${routingType}/workflows/${workflowVersionCode}/simulate`\n : `/${routingType}/simulate-transaction/${accountCode}/${workflowVersionCode}`\n return this.post<T, any>(path, values)\n }\n\n public getSmartRoutingSearchConditionValues<T>(\n conditionType: string,\n text: string,\n ): Promise<AxiosResponse<T, SmartRouting.ConditionTypeValues[]>> {\n return this.get<T>(\n `/smart-routing/search-condition-values/${conditionType}/${text}`,\n )\n }\n\n public getProviderConversionRatesData<T>(): Promise<\n AxiosResponse<T, SmartRouting.SRConversionRates[]>\n > {\n return this.get<T>('/smart-routing/conversion-rates/all')\n }\n\n public updateMonitorRedistribution<T>(\n organizationCode: string,\n values: SmartRouting.MonitorRedistribution,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`/smart-routing/monitor-redistribution`, values, {\n headers,\n })\n }\n public removeDeclinedGroup<T>(\n organizationCode: string,\n declinedGroupCode: number | string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.delete<T, any>(\n `/smart-routing/declined-groups/${declinedGroupCode}`,\n {\n headers,\n },\n )\n }\n public multiAccountDeclinedGroupCreate<T>(\n organizationCode: string,\n payload: SmartRouting.PayloadDeclinedGroupCreate,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(\n `/smart-routing/declined-groups/massive/create`,\n payload,\n {\n headers,\n },\n )\n }\n // #region AI\n public generateAIWorkflowRoutes<T>(\n organizationCode: string,\n payload: SmartRouting.PayloadAIWorkflowCreate,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`/ai/generate-route`, payload, {\n headers,\n })\n }\n\n public postAIGenerationFeedback<T>(\n payload: AI.AIGenerate,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/ai/generation-feedback`, payload)\n }\n // #region ROUTING MONITORS\n public getRoutingMonitorsTemplates<T>(\n organizationCode,\n ): Promise<AxiosResponse<T, RoutingMonitors.TemplateSelector[]>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/routing-monitor/templates`, { headers })\n }\n\n public getRoutingMonitorsTemplate<T>(\n code: string,\n organizationCode: string,\n ): Promise<AxiosResponse<T, RoutingMonitors.Template>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/routing-monitor/template/${code}`, { headers })\n }\n\n public createMonitorThreshold<T>(\n data,\n organizationCode,\n ): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`/routing-monitor/threshold`, data, { headers })\n }\n\n public createMonitorTemplate<T>(\n data,\n organizationCode,\n ): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`/routing-monitor/template`, data, { headers })\n }\n\n // DATA REPORTS\n public getSmartRoutingDataReport<T>(params: {\n [key: string]: number\n }): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/data-report`, {\n params,\n })\n }\n\n public getInsightsMetricsConversionRateV2<T>(\n params: DataReport.InsightMetricParams,\n path: string,\n ): Promise<AxiosResponse<T, any>> {\n const {\n account_code: paramsAccountCode,\n connection_name: paramsConnectionName,\n metadata,\n ...restParams\n } = params\n\n let body: DataReport.InsightMetricBody = getAccounts(paramsAccountCode)\n\n if (paramsConnectionName) {\n body.connection_name = paramsConnectionName.split(',')\n }\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/conversion-rate/${path}`, body, {\n params: restParams,\n })\n }\n\n public getInsightsMetricsConversionRateViewMore<T>(\n params: DataReport.InsightMetricParams,\n type: string,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n\n let body: DataReport.InsightMetricBody = getAccounts(paramsAccountCode)\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(\n `/insights/conversion-rate/cards/metrics/${type}`,\n body,\n { params: restParams },\n )\n }\n\n public getInsightFallbackMetrics<T>(\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code: paramsAccountCode, metadata, ...restParams } = params\n\n let body: DataReport.InsightMetricBody = getAccounts(paramsAccountCode)\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/conversion-rate/fallback`, body, {\n params: restParams,\n })\n }\n\n public getInsightsMetricsVolume<T>(\n account_codes: string,\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n const { connection_name, metadata, ...restParams } = params\n\n let body: DataReport.InsightMetricBody = {\n account_codes: account_codes?.length ? account_codes?.split(',') : [],\n }\n\n if (connection_name) {\n body = { ...body, connection_name: connection_name?.split(',') }\n }\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/volume/metrics`, body, {\n params: restParams,\n })\n }\n\n public getInsightsMetricsVolumeV2<T>(\n account_codes: string,\n path: DataReport.InsightsVolumeMetricsV2Path,\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n const { connection_name, metadata, ...restParams } = params\n\n let body: DataReport.InsightMetricBody = {\n account_codes: account_codes?.length ? account_codes?.split(',') : [],\n }\n\n if (connection_name) {\n body = { ...body, connection_name: connection_name?.split(',') }\n }\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/volume/${path}`, body, {\n params: restParams,\n })\n }\n\n // #region FRAUD INSIGHTS\n\n public getInsightsFraudScreeningVolumeAndCountTx(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post('/insights/fraud-screening/volume-and-count-tx', body, {\n params,\n })\n }\n\n public getInsightsFraudScreeningConversionRate(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/fraud-screening/conversion-rate',\n body,\n { params },\n )\n }\n\n public getInsights3dsVolumeAndCountTx(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/3ds/volume-and-count-tx', body, {\n params,\n })\n }\n\n public getInsights3dsConversionRateAndEvolution(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/3ds/conversion-rate-and-evolution',\n body,\n { params },\n )\n }\n\n public getInsights3dsDeclineReasons(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/3ds/decline-reasons', body, {\n params,\n })\n }\n\n public getInsights3dsFrictionlessVsChallenge(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/3ds/frictionless-vs-challenge',\n body,\n { params },\n )\n }\n\n public getInsightsChargebacksVolumeAndCountTx(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post('/insights/chargebacks/volume-and-count-tx', body, {\n params,\n })\n }\n\n public getInsightsChargebacksTotalRateAndEvolution(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/chargebacks/total-rate-and-evolution',\n body,\n {\n params,\n },\n )\n }\n\n public getInsightsChargebacksWinRate(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/chargebacks/win-rate', body, {\n params,\n })\n }\n\n public getInsightsChargebacksDisputed(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/chargebacks/disputed', body, {\n params,\n })\n }\n\n public getInsightsChargebacksByProviderAndCardBrand(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/chargebacks/by-provider-and-card-brand',\n body,\n { params },\n )\n }\n\n public getInsightsChargebacksReasonsDistribution(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/chargebacks/reasons-distribution',\n body,\n { params },\n )\n }\n\n public getInsightsChargebacksStatusDistribution(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>(\n '/insights/chargebacks/status-distribution',\n body,\n { params },\n )\n }\n\n public getInsightsChargebacksByCardBrand(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/chargebacks/by-card-brand', body, {\n params,\n })\n }\n\n // #endregion\n\n public getInsightOverview<T>(\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n const {\n account_code: paramsAccountCode,\n connection_name: connectionName,\n metadata,\n ...restParams\n } = params\n\n let body: DataReport.InsightMetricBody = getAccounts(paramsAccountCode)\n\n if (connectionName) {\n body = { ...body, connection_name: connectionName?.split(',') }\n }\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/overview`, body, { params: restParams })\n }\n\n public getInsightOverviewV3<T>(\n params: DataReport.InsightMetricParams,\n type: DataReport.OverviewMetricType,\n ): Promise<AxiosResponse<T, any>> {\n const {\n account_code: paramsAccountCode,\n connection_name: connectionName,\n metadata,\n ...restParams\n } = params\n\n let body: DataReport.InsightMetricBody = getAccounts(paramsAccountCode)\n\n if (connectionName) {\n body = { ...body, connection_name: connectionName?.split(',') }\n }\n\n if (metadata) {\n body = {\n ...body,\n ...buildMetadataFiltersBody(metadata),\n }\n }\n\n return this.post<T, any>(`/insights/overview/${type}`, body, {\n params: restParams,\n })\n }\n\n // #region CHART INSIGHTS IN HOME MFE\n public getInsighstHomeMetrics<T>(\n params: DataReport.InsightsHomeMetrics,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/insights/dashboard-home-metrics`, params)\n }\n\n public getInsightsMetricsTotalPaymentsAndFraud<T>(\n account_codes: string,\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/insights/payments-and-fraud/payments`,\n { account_codes: account_codes?.length ? account_codes?.split(',') : [] },\n { params },\n )\n }\n\n public getInsightsMetricsCustomerPaymentsAndFraud<T>(\n account_codes: string,\n params: DataReport.InsightMetricParams,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/insights/payments-and-fraud/customer`,\n { account_codes: account_codes?.length ? account_codes?.split(',') : [] },\n { params },\n )\n }\n\n // #region CHECKOUTS\n public getCheckouts({\n accountCode,\n }): Promise<AxiosResponse<Checkout.CheckoutList[]>> {\n return this.get<Checkout.CheckoutList[]>(`/checkouts/${accountCode}`)\n }\n\n public getNameAndIcon({\n paymentMethodType,\n type,\n }: Checkout.GetNameAndIconArgs): Promise<\n AxiosResponse<Checkout.GetNameAndIconResponse>\n > {\n return this.get<Checkout.GetNameAndIconResponse>(\n `/checkouts/payment-methods/${paymentMethodType}/icon-name?type=${type}`,\n )\n }\n\n public getRequiredFields({\n paymentMethodType,\n type,\n }: Checkout.GetRequiredFieldsArgs): Promise<\n AxiosResponse<Checkout.GetRequiredFieldsResponse>\n > {\n return this.get<Checkout.GetRequiredFieldsResponse>(\n `/checkouts/payment-methods/${paymentMethodType}/required-fields?type=${type}`,\n )\n }\n\n public getPaymentMethodAccounts({\n paymentMethod,\n organizationCode,\n }: Checkout.GetPaymentMethodAccountsArgs): Promise<\n AxiosResponse<Checkout.GetPaymentMethodAccountsResponse>\n > {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<Checkout.GetPaymentMethodAccountsResponse>(\n `/checkouts/payment-methods/${paymentMethod}/accounts`,\n { headers },\n )\n }\n\n /**\n * @deprecated since v0.28.6. Use changeStylingSettings instead\n */\n public updateCheckoutTemplate<T>({\n accountCode,\n template,\n }: {\n accountCode: string\n template: Checkout.CheckoutTemplateResponse['template']\n }): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/v2/checkouts/template`, {\n account_code: accountCode,\n template,\n })\n }\n\n public updateIsActiveCheckout(\n args: Checkout.UpdateIsActiveCheckoutParams,\n ): Promise<AxiosResponse> {\n const { accountCode, ...body } = args\n\n return this.patch<any, Checkout.UpdateIsActiveCheckoutParams>(\n `/checkouts/publish`,\n body,\n { headers: { 'x-account-code': accountCode } },\n )\n }\n\n public getCountryData({\n accountCode,\n }: {\n accountCode: string\n }): Promise<AxiosResponse<Checkout.GetCountryDataResponse>> {\n return this.get<Checkout.GetCountryDataResponse>(\n `/country-data/v1/country-documents`,\n { headers: { 'x-account-code': accountCode } },\n )\n }\n\n public publishCheckout(\n args: Checkout.PublishCheckoutParams,\n ): Promise<AxiosResponse> {\n const { accountCode, ...body } = args\n\n return this.patch<any, Omit<Checkout.PublishCheckoutParams, 'accountCode'>>(\n `/checkouts/publish`,\n body,\n { headers: { 'x-account-code': accountCode } },\n )\n }\n\n // #region CHECKOUT STYLING\n public getStylingSdkDynamic({ accountCode }) {\n const headers = {\n 'x-account-code': accountCode,\n }\n\n return this.get<Styling.Settings>(`/checkout/settings`, {\n headers,\n })\n }\n\n public getStylingSettingsV2({ accountCode }: { accountCode: string }) {\n const headers = {\n 'x-account-code': accountCode,\n }\n\n return this.get<StylingSettings.UpdateSettingsResponse>(\n `/v1/checkouts/builder/settings`,\n {\n headers,\n },\n )\n }\n\n public changeStylingSettings({\n accountCode,\n payload,\n }: {\n accountCode: string\n payload: StylingSettings.UpdateSettings\n }) {\n const headers = {\n 'x-account-code': accountCode,\n 'Content-Type': 'application/json',\n }\n\n return this.patch<\n StylingSettings.UpdateSettingsResponse,\n StylingSettings.UpdateSettings\n >(`/v1/checkouts/builder/settings`, payload, {\n headers,\n })\n }\n\n // #region CHANGE PASSWORD\n\n public emailVerification<T>(email): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/user/email-verification/${email}`)\n }\n\n // #region REPORTS\n\n public createReconciliationsReportV2<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/v2/reports/create`, payload)\n }\n\n public createReconciliationsReportV3<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/v3/reports/create`, payload)\n }\n\n public createReportV2<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/reports`, payload)\n }\n public getTotalRowsForExport<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/reports/count`, payload)\n }\n\n public reportsList<T>(): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/reports`)\n }\n\n public reportsListMultiEnv<T>(): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/reports/multi-environment`)\n }\n\n public downloadReports<T>(reportId): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/reports-redirect/${reportId}`)\n }\n\n public cancelReport<T>(reportId): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/reports/${reportId}`)\n }\n\n public getReportTemplates<T>(): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/reports/templates`)\n }\n public createReportTemplate<T>(\n payload: Reports.ICreateTemplate,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/reports/templates`, payload)\n }\n public updateReportTemplate<T>(\n payload: Reports.ICreateTemplate,\n ): Promise<AxiosResponse<T>> {\n return this.put<T, any>(`/reports/templates`, payload)\n }\n public deletePaymentsReportTemplate<T>(\n payload: Reports.IDeletePaymentsReportTemplate,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(`/reports/templates`, { data: payload })\n }\n public getReportColumns<T>(\n templateType: TemplateType,\n reportType: ReportType,\n ) {\n return this.get<T, any>(`/reports/columns/${templateType}/${reportType}`)\n }\n\n // ========= TEMPLATE REPORTING API METHODS =========\n\n // Template endpoints\n public searchReportTemplates<T>(\n payload: TemplateReporting.SearchTemplatesRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/template-reporting/report-templates/search',\n payload,\n )\n }\n\n public searchReportTemplateById<T>(\n templateId: number,\n payload: TemplateReporting.SearchTemplateByIdRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n `/template-reporting/report-templates/search/${templateId}`,\n payload,\n )\n }\n\n public createTemplateReporting<T>(\n payload: TemplateReporting.CreateTemplateRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/template-reporting/report-templates', payload)\n }\n\n public cloneReportTemplate<T>(\n templateId: number,\n payload: TemplateReporting.CloneTemplateRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n `/template-reporting/report-templates/${templateId}/clone`,\n payload,\n )\n }\n\n public updateTemplateSelection<T>(\n templateId: number,\n payload: TemplateReporting.UpdateTemplateSelectionRequest,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(\n `/template-reporting/report-templates/${templateId}/selection`,\n payload,\n )\n }\n\n public changeTemplateStatus<T>(\n templateId: number,\n payload: TemplateReporting.ChangeTemplateStatusRequest,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(\n `/template-reporting/report-templates/${templateId}/status`,\n payload,\n )\n }\n\n public deleteReportTemplate<T>(\n templateId: number,\n payload: TemplateReporting.DeleteTemplateRequest,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(\n `/template-reporting/report-templates/${templateId}`,\n { data: payload },\n )\n }\n\n // Schedule endpoints\n public searchReportSchedules<T>(\n payload: TemplateReporting.SearchSchedulesRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n '/template-reporting/report-schedules/search',\n payload,\n )\n }\n\n public searchReportScheduleById<T>(\n scheduleId: number,\n payload: TemplateReporting.SearchScheduleByIdRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(\n `/template-reporting/report-schedules/search/${scheduleId}`,\n payload,\n )\n }\n\n public createReportSchedule<T>(\n payload: TemplateReporting.CreateScheduleRequest,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/template-reporting/report-schedules', payload)\n }\n\n public disableReportSchedule<T>(\n scheduleId: number,\n payload: TemplateReporting.DisableScheduleRequest,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(\n `/template-reporting/report-schedules/${scheduleId}/disable`,\n payload,\n )\n }\n\n public deleteReportSchedule<T>(\n scheduleId: number,\n payload: TemplateReporting.DeleteScheduleRequest,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(\n `/template-reporting/report-schedules/${scheduleId}`,\n { data: payload },\n )\n }\n public getRefundPdf<T>(\n transactionCode: string,\n organizationCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/refund-pdf/${transactionCode}`, { headers })\n }\n\n public getProofOfCancel<T>(\n transactionCode: string,\n organizationCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/transactions/${transactionCode}/proof-of-cancel`, {\n headers,\n })\n }\n\n public getProofOfPayment<T>(\n transactionCode: string,\n organizationCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/transactions/${transactionCode}/proof-of-payment`, {\n headers,\n })\n }\n\n // #region Scheduled reports\n public getScheduledReport<T>(reportType): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/scheduled-reports?reportType=${reportType}`)\n }\n\n public postScheduledReport<T>(\n payload: IListScheduledReportsResponse,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/scheduled-reports`, payload)\n }\n\n public updateScheduledReport<T>(\n reportCode: string,\n payload: IListScheduledReportsResponse,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/scheduled-reports/${reportCode}`, payload)\n }\n\n public deleteScheduledReport<T>(\n reportCode: string,\n ): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(`/scheduled-reports/${reportCode}`)\n }\n\n // #region profile\n\n public getProfile<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/user`)\n }\n\n public getUserFull(): Promise<AxiosResponse<GetUserFullResponse, any>> {\n return this.get(`/user-full`)\n }\n\n public getImpersonationUsers<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/impersonation/user`)\n }\n\n public getImpersonationEnabled<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/impersonation/enabled`)\n }\n\n public getUsersToImpersonate(\n organizationCode: string,\n accountCodes?: string[],\n page: number = 1,\n pageSize: number = 10,\n searchValue?: string,\n roleIds?: string[],\n ): Promise<AxiosResponse<User.UsersToImpersonateResponse>> {\n const payload = {\n account_codes: accountCodes || [],\n page,\n page_size: pageSize,\n ...(searchValue && { search_value: searchValue }),\n ...(roleIds?.length && { role_ids: roleIds }),\n }\n return this.post<User.UsersToImpersonateResponse, typeof payload>(\n `/impersonation/user/organization/${organizationCode}/users-to-impersonate`,\n payload,\n )\n }\n\n public getAccountsForImpersonation(organizationCode: string): Promise<\n AxiosResponse<{\n response: Array<{\n name: string\n code_live: string\n code_testing: string\n }>\n }>\n > {\n return this.get<{\n response: Array<{\n name: string\n code_live: string\n code_testing: string\n }>\n }>(`/impersonation/user/organization/${organizationCode}/accounts`)\n }\n\n public getRolesForImpersonation(organizationCode: string): Promise<\n AxiosResponse<{\n roles: Array<{\n id: string\n name: string\n }>\n }>\n > {\n return this.get<{\n roles: Array<{\n id: string\n name: string\n }>\n }>(`/impersonation/user/organization/${organizationCode}/roles`)\n }\n\n public updateProfile<T>(\n payload: User.UserRequestPayload,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/user`, payload)\n }\n\n public inviteUsersMassive<T>(\n data: UserInviteMultiaccountPayload,\n organizationCode: string,\n ): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`user/invite/massive`, data, { headers })\n }\n\n public inviteUsersMassiveV2<T>(\n data: UserInviteMultiaccountPayload,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`user/invite/massive/v2`, data)\n }\n\n public unInviteUsersV2<T>({\n userCode,\n organizationCode,\n }): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.delete<T, any>(`/v2/user/uninvite/${userCode}`, { headers })\n }\n\n public getAccounts<T>(organizationCode): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/accounts-user`, { headers })\n }\n\n public getAccountsV2<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/accounts-user`)\n }\n\n public getAccountsByUser<T>(\n userCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/accounts-user/user/${userCode}`)\n }\n\n public putAccountsUserMassive<T>(\n organizationCode,\n userCode,\n payload,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.put<T, any>(\n `/accounts-user/role/massive/user/${userCode}`,\n payload,\n {\n headers: headers,\n },\n )\n }\n\n public deleteAccountsUserMassive<T, K>(\n organizationCode: string,\n userCode: string,\n payload,\n ): Promise<AxiosResponse<T, K>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.delete<T, AxiosResponse<T, K>>(\n `/accounts-user/role/massive/user/${userCode}`,\n {\n data: payload,\n headers: headers,\n },\n )\n }\n\n public postAccount<T>(\n name: string,\n principal: boolean,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/accounts`, { name, principal })\n }\n\n public duplicateAccount(\n body: DuplicateAccountBody,\n ): Promise<AxiosResponse<DuplicateAccountResponse>> {\n return this.post(`/accounts/duplicate`, body)\n }\n\n public retryDuplicateAccount(\n account_code: string,\n ): Promise<AxiosResponse<RetryDuplicateAccountResponse>> {\n return this.post(`/accounts/duplicate/${account_code}/retry`)\n }\n\n public getPendingDuplicateAccounts(): Promise<\n AxiosResponse<PendingDuplicateAccountsResponse>\n > {\n return this.get(`/accounts/duplicate`)\n }\n\n public patchAccount<T>({\n name,\n code,\n principal,\n }: {\n name: string\n code: string\n principal: boolean\n }): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/accounts/${code}`, { name, principal })\n }\n\n public patchAccountV2<T>({\n name,\n code,\n principal,\n }: {\n name: string\n code: string\n principal: boolean\n }): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(\n `/accounts/with-principal`,\n { name, principal },\n { headers: { 'x-account-code': code } },\n )\n }\n\n public putAccountPrincipal<T>({ account_code }): Promise<AxiosResponse<T>> {\n return this.put<T, any>(`/user-accounts/principal`, { account_code })\n }\n\n // #region NOTIFICATIONS\n\n public getMergedNotifications<T>(): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/notifications-all`)\n }\n\n public getNotificationsCustomer<T>(customer): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/notifications/${customer}`)\n }\n public getValidateOpsgenieKey<T>(key): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/notifications/opsgenie/validate/${key}`)\n }\n\n public postSlackMessageChannel<T>(payload: {\n channel: string\n text: string\n }): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/slack-channel-message`, payload)\n }\n\n public pathNotification<T>(\n payload: PathNotification,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/notifications`, payload)\n }\n\n public getNotificationsNumber<T>(customer): Promise<AxiosResponse<T>> {\n return this.get<T, any>(`/notifications/${customer}/number`)\n }\n\n // #region TEAM\n\n public teamsFiltersMembers<T>({\n organizationCode,\n }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/teams/filters/members`, { headers })\n }\n\n public postMembersPaginatedV2<T>({\n organizationCode,\n accountCodes,\n search,\n status,\n roleId,\n statuses,\n roleIds,\n page,\n pageSize,\n }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(\n `/teams/paginated`,\n {\n account_codes: accountCodes,\n search,\n status, // Backward compatibility\n role_id: roleId, // Backward compatibility\n statuses,\n role_ids: roleIds,\n page,\n page_size: pageSize,\n },\n { headers },\n )\n }\n\n public getRoles<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/teams/roles`)\n }\n\n public setCustodian<T>(): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/teams/custodian`)\n }\n\n public deleteUserTeamV2<T>({\n userCode,\n organizationCode,\n }): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.delete<T, any>(`/v2/teams/${userCode}`, { headers })\n }\n\n public createRoles<T>(payload, accountCode): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/teams/roles`, payload, {\n headers: { 'x-account-code': accountCode },\n })\n }\n\n public editRoles<T>({ payload, id }, accountCode): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/teams/roles/${id}`, payload, {\n headers: { 'x-account-code': accountCode },\n })\n }\n\n public deleteRoles<T>(id): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(`/teams/roles/${id}`)\n }\n\n public getRolesPermissions<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>(`/teams/permissions`)\n }\n\n public getFeatureFlagId<T>({\n name,\n ...rest\n }: FeatureFlags.Request): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/feature-flags/evaluate', {\n name,\n parameters: rest,\n })\n }\n\n public async getFeatureFlagIdAll({\n accountCode,\n }: {\n accountCode?: string\n }): Promise<AxiosResponse<FeatureFlagsResult, any>> {\n const response = await this.get<{ feature_flag_names: string[] }>(\n '/feature-flags/names',\n accountCode\n ? {\n headers: {\n 'x-account-code': accountCode,\n },\n }\n : {},\n )\n\n const structuredData: FeatureFlagsResult | {} = {}\n response.data.feature_flag_names.forEach((name) => {\n structuredData[name] = true\n })\n\n return {\n data: structuredData as FeatureFlagsResult,\n status: 200,\n statusText: 'OK',\n headers: {},\n config: {} as InternalAxiosRequestConfig,\n }\n }\n\n public getPermissionsCatalog<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>(`/teams/permissions-catalog`)\n }\n\n // Organization Roles\n public getOrgRolesPermissions<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>(`/teams/permissions?type=ORGANIZATION`)\n }\n\n public getOrgPermissionsCatalog<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>(`/teams/permissions-catalog?role_type=ORGANIZATION`)\n }\n\n public createOrgRole<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/teams/roles`, payload)\n }\n\n public editOrgRole<T>({ payload, id }): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/teams/roles/${id}`, payload)\n }\n\n public deleteOrgRole<T>(id): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(`/teams/roles/${id}`)\n }\n\n public getOrgRoleAssignments<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>(`/teams/organization-roles/assignments`)\n }\n\n public assignOrgRole<T>(payload): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/teams/organization-roles/assign`, payload)\n }\n\n public unassignOrgRole<T>(userCode: string): Promise<AxiosResponse<T>> {\n return this.delete<T, any>(`/teams/organization-roles/assign/${userCode}`)\n }\n\n // User Exports\n public startUserExport<T>(\n params: Team.StartUserExportParams,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/users/exports/start`, {\n account_codes: params.accountCodes,\n name: params.name,\n search: params.search,\n statuses: params.statuses,\n role_ids: params.roleIds,\n })\n }\n\n public getUserExportStatus<T>({\n exportCode,\n }: {\n exportCode: string\n }): Promise<AxiosResponse<T>> {\n return this.get<T>(`/users/exports/${exportCode}`)\n }\n\n public listUserExports<T>({\n page = 0,\n pageSize = 20,\n }: {\n page?: number\n pageSize?: number\n }): Promise<AxiosResponse<T>> {\n return this.get<T>(`/users/exports?page=${page}&page_size=${pageSize}`)\n }\n\n public changePasswordV2<T>(body): Promise<AxiosResponse<T>> {\n return this.patch<T, any>('/user/change-password-profile', body)\n }\n\n public workosPasswordReset<T>(body): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/workos/password-reset', body, {\n baseURL: (this.instance.defaults.baseURL || '').replace(\n /\\/api$/,\n '/api-public',\n ),\n })\n }\n\n public workosAdminPortal<T>(): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/workos/admin-portal', {})\n }\n\n public workosDomainVerificationPortal<T>(): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/workos/domain-verification-portal', {})\n }\n\n public workosDomainStatus<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>('/workos/domain-status')\n }\n\n public workosVerifyMfa<T>(body): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/workos/verify-mfa', body, {\n baseURL: (this.instance.defaults.baseURL || '').replace(\n /\\/api$/,\n '/api-public',\n ),\n withCredentials: true,\n })\n }\n\n public getCardBrands<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>('/catalog/card-brands')\n }\n\n public getPaymentFilters<T>(\n section: PaymentFiltersSection,\n ): Promise<AxiosResponse<T>> {\n return this.get<T>(`/payments/filters?section=${section}`)\n }\n\n public getPaymentMetricsFilters<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>('/payments/metrics/filters')\n }\n\n public sendPaymentNotification(\n params: SendPaymentNotification.Params,\n body: SendPaymentNotification.Body,\n ): Promise<AxiosResponse<SendPaymentNotification.Response>> {\n return this.post(\n `/payments/${params.paymentCode}/transactions/${params.transactionCode}/settle`,\n body,\n )\n }\n\n // #region EVENTS\n public postAuditMonitors<T>(\n payload: Audit.AuditMonitorsParams,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/routing-monitor/audit`, payload)\n }\n public getAuditMonitorDetail<T>(\n id: number | null,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/routing-monitor/audit-monitors-details/${id}`)\n }\n public getAuditEvents<T>(\n params: Audit.AuditEventsParams,\n ): Promise<AxiosResponse<T, any>> {\n const { account_code, ...queryParams } = params\n return this.post(\n `v2/events/organization`,\n {\n account_codes: account_code,\n },\n {\n params: queryParams,\n paramsSerializer: serializeParams,\n },\n )\n }\n\n public getPaymentLinks<T>(params, account): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/v2/payment-links/${account}`, { params })\n }\n\n public getPaymentLinksByCode<T>(\n paymentLinkCode,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/v2/payment-links/by-code/${paymentLinkCode}`)\n }\n\n public postPaymentLinks<T>({\n payload,\n accountCode,\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/v2/payment-links/${accountCode}`, payload)\n }\n\n public patchPaymentLinks<T>({\n payload,\n accountCode,\n paymentLinkCode,\n }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(\n `/v2/payment-links/${accountCode}/${paymentLinkCode}`,\n payload,\n )\n }\n public postDeletePaymentLink<T>({ code }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/v2/payment-links/cancel/${code}`)\n }\n\n public uploadPaymentLinkLogo<T>({\n payload,\n }: {\n payload: { base64_data: string; file_name: string }\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>('/v1/checkouts/payment-link/logo', payload)\n }\n\n // #region SUBSCRIPTIONS\n public postSubscription<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/subscriptions`, payload)\n }\n\n public getSubscriptionByCode<T>(\n subscriptionCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/subscriptions/${subscriptionCode}`)\n }\n\n public postPauseSubscription<T>(\n subscriptionCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/subscriptions/${subscriptionCode}/pause`)\n }\n\n public postResumeSubscription<T>(\n subscriptionCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/subscriptions/${subscriptionCode}/resume`)\n }\n\n public postCancelSubscription<T>(\n subscriptionCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/subscriptions/${subscriptionCode}/cancel`)\n }\n\n public patchSubscription<T>(\n subscriptionCode: string,\n payload,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(`/subscriptions/${subscriptionCode}`, payload)\n }\n\n public postRescheduleSubscription<T>(\n subscriptionCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/subscriptions/${subscriptionCode}/reschedule`)\n }\n\n public getSubscriptionPayments<T>(\n subscriptionCode: string,\n page?: number,\n size?: number,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/subscriptions/${subscriptionCode}/payments`, {\n params: { page, size },\n })\n }\n\n public postListSubscriptions<T>(\n payload: ListSubscriptionsParams,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, ListSubscriptionsParams>(`/subscriptions/list`, payload)\n }\n\n public getInstallmentPlans(\n params?: Installments.GetInstallmentsPlansParams,\n ): Promise<AxiosResponse<Installments.GetInstallmentsPlansResponse>> {\n const queryString = params ? serializeParams(params) : ''\n const url = queryString\n ? `/v1/installments-plans?${queryString}`\n : `/v1/installments-plans`\n return this.get<Installments.GetInstallmentsPlansResponse>(url)\n }\n\n public createInstallmentsPlan<T, P = unknown>(\n payload: P,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, P>(`/v1/installments-plans`, payload)\n }\n\n public updateInstallmentsPlan<T, P = unknown>(\n code: string,\n payload: P,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, P>(`/v1/installments-plans/${code}`, payload)\n }\n\n public deleteInstallmentsPlan<T>(code: string): Promise<AxiosResponse<T>> {\n return this.delete<T>(`/v1/installments-plans/${code}`)\n }\n\n public searchInstallmentsPlans(\n payload: Installments.SearchInstallmentsPlansRequest,\n ): Promise<AxiosResponse<Installments.SearchInstallmentsPlansResponse>> {\n return this.post<\n Installments.SearchInstallmentsPlansResponse,\n Installments.SearchInstallmentsPlansRequest\n >(`/v2/installments-plans/search`, payload)\n }\n\n public bulkCreateInstallmentsPlans(\n payload: Installments.BulkCreateInstallmentsPlansRequest,\n ): Promise<AxiosResponse<Installments.BulkCreateInstallmentsPlansResponse>> {\n return this.post<\n Installments.BulkCreateInstallmentsPlansResponse,\n Installments.BulkCreateInstallmentsPlansRequest\n >(`/v2/installments-plans/bulk`, payload)\n }\n\n public bulkDeleteInstallmentsPlans(\n payload: Installments.BulkDeleteInstallmentsPlansRequest,\n ): Promise<AxiosResponse<Installments.BulkDeleteInstallmentsPlansResponse>> {\n return this.post<\n Installments.BulkDeleteInstallmentsPlansResponse,\n Installments.BulkDeleteInstallmentsPlansRequest\n >(`/v2/installments-plans/bulk-delete`, payload)\n }\n\n // #region FIREBASE\n public firebaseUserSubscribe<T>(\n payload: FirebaseUserSubscribe,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/firebase/user/subscribe`, payload)\n }\n\n // #region SETTINGS\n public postUserSettings<T>(\n payload: TimeZoneCatalog | PaymentsSettings,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/user-settings`, payload)\n }\n\n public postUserSettingsTables<T>(\n payload: PaymentsSettings,\n section: string,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/user-settings/${section}`, payload)\n }\n\n public postUserSettingsPinned<T>(\n payload: PinnedSections,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/user-settings/pinned_sections`, payload)\n }\n\n public postUserThemeSettings<T>(\n payload: ThemeSettings,\n ): Promise<AxiosResponse<T>> {\n return this.patch<T, any>(`/user-settings/theme`, payload)\n }\n\n // #region MFA\n // #region MFA\n public getMfaTokenValidation<T>(\n password: string,\n otp: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/mfa/token`, {\n password: password,\n otp_input: otp,\n user_code: '',\n })\n }\n\n public getEmailOtp<T>(): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/mfa/send-otp`, {})\n }\n public confirmMfaOtp<T>(\n payload: MfaUserSubscribe,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/mfa/confirm/otp`, payload)\n }\n\n public unrollMfa<T>(password): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/mfa/unroll/otp`, {\n password: password,\n })\n }\n\n public sendOTPForMFA(): Promise<AxiosResponse<void>> {\n return this.post<void, any>(`/mfa/send-otp`)\n }\n\n // #region fraud-screening\n\n public getConfigAllowlist<T>(accountCode): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T, any>(`/yuno-fraud-screening-int/allow-lists/config`, {\n headers,\n })\n }\n\n public getBlackListType<T>(accountCode): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T, any>(`/blacklist`, { headers })\n }\n\n public postBlockList<T>(\n accountCodes: string[],\n listName: string,\n page: number,\n size: number,\n ): Promise<AxiosResponse<T, any>> {\n const data = {\n name: listName,\n account_codes: accountCodes,\n page,\n size,\n }\n return this.post<T, any>(`/blacklist`, data)\n }\n\n public getBlackListSummary<T>(\n black_list_code: string,\n account: string | null = null,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(\n `/blacklist/get-one/${black_list_code}/summary`,\n account\n ? {\n headers: { 'x-account-code': account },\n }\n : {},\n )\n }\n\n public getBlacklistDetail<T>(\n black_list_code: string,\n offset: number,\n limit = 26,\n account: string | null = null,\n search: string | null = null,\n ): Promise<AxiosResponse<T, any>> {\n let url = `/blacklist/get-one/${black_list_code}/detail?offset=${offset}&limit=${limit}`\n if (search && search?.length > 0) url += `&search=${search}`\n return this.get<T, any>(\n url,\n account\n ? {\n headers: { 'x-account-code': account },\n }\n : {},\n )\n }\n\n public getAllowlistDetail<T>(\n code: string,\n account: string | null = null,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(\n `/yuno-fraud-screening-int/allow-lists/${code}`,\n account\n ? {\n headers: { 'x-account-code': account },\n }\n : {},\n )\n }\n\n public postAllowlistItems<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `yuno-fraud-screening-int/allow-lists/${payload.code}/items/pageable`,\n payload,\n payload.account && {\n headers: { 'x-account-code': payload.account },\n },\n )\n }\n\n public postGetAllowlist<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/yuno-fraud-screening-int/allow-lists/pageable`,\n payload,\n )\n }\n\n public postCreateAllowlistMultiAccount<T>({\n payload,\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/yuno-fraud-screening-int/allow-lists/massive`,\n payload,\n )\n }\n\n public patchChangeStatusAllowlist<T>({\n payload,\n }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(\n `/yuno-fraud-screening-int/allow-lists/${payload.code}`,\n { active: payload.active },\n payload?.account && {\n headers: { 'x-account-code': payload?.account },\n },\n )\n }\n\n public patchChangeStatusAllowlistItem<T>({\n payload,\n }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(\n `/yuno-fraud-screening-int/allow-lists/${payload.allowlist_code}/items/${payload.item_allowlist_code}`,\n { active: payload.active },\n )\n }\n\n public patchAddAllowlistItems<T>({\n payload,\n }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(\n `/yuno-fraud-screening-int/allow-lists/${payload.allowlist_code}/items`,\n payload,\n payload.account && {\n headers: { 'x-account-code': payload.account },\n },\n )\n }\n\n public deleteAllowlistItem<T>({ payload }): Promise<AxiosResponse<T>> {\n const headers = {\n 'x-account-code': payload.account_code,\n }\n return this.delete<T>(\n `/yuno-fraud-screening-int/allow-lists/${payload.allowlist_code}/items/${payload.allowlist_item_id}`,\n { headers },\n )\n }\n\n public validateAllowlistItems<T>({\n payload,\n }): Promise<AxiosResponse<T, unknown>> {\n return this.post<T, unknown>(\n `/yuno-fraud-screening-int/allow-lists/${payload.allowlist_code}/validate/duplicate-items`,\n payload,\n {\n headers: { 'x-account-code': payload.account_code },\n },\n )\n }\n\n public patchAllowlist<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(\n `/yuno-fraud-screening-int/allow-lists/${payload.allowlist_code}`,\n payload,\n payload.account && {\n headers: { 'x-account-code': payload.account },\n },\n )\n }\n\n public postBlackListMultiAccount<T>({\n payload,\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/blacklist/create/multi-account`,\n payload,\n payload.account && {\n headers: {\n 'x-account-code': payload.account,\n },\n },\n )\n }\n public putBlackListType<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.put<T, any>(`/blacklist/edit`, payload)\n }\n public changeBlackListStatus<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.put<T, any>(`/blacklist/change-status`, payload)\n }\n public changeBlackListStatusItem<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.put<T, any>(`/blacklist/change-item-status`, payload)\n }\n public postBlackListItems<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/blacklist/items`, payload)\n }\n public postBlackListBatch<T>({\n blacklist_code,\n expiration_days,\n file,\n handleSetProgress,\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/blacklist/create-batch/${blacklist_code}`,\n { expiration_days, file },\n {\n onUploadProgress: (ev) => {\n handleSetProgress(\n ev.total ? Math.round((ev.loaded * 100) / ev.total) : 0,\n )\n },\n },\n )\n }\n public deleteBlackListType<T>({\n black_list_code,\n }): Promise<AxiosResponse<T, any>> {\n return this.delete<T, any>(`/blacklist/delete/${black_list_code}`)\n }\n\n public deleteBlockListItem<T>({\n blocklist_code,\n blocklist_item_id,\n account_code,\n }): Promise<AxiosResponse<T>> {\n return this.delete<T>(\n `/blacklist/${blocklist_code}/items/${blocklist_item_id}`,\n {\n headers: {\n 'x-account-code': account_code,\n },\n },\n )\n }\n\n public valiateBlockListItems<T>({\n payload,\n }): Promise<AxiosResponse<T, unknown>> {\n return this.post<T, unknown>(\n `/blacklist/${payload.blocklist_code}/validate/duplicate-items`,\n payload,\n {\n headers: {\n 'x-account-code': payload.account_code,\n },\n },\n )\n }\n // #region Velocity-rules\n public getVelocityRules<T>(params): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/yuno-fraud-screening-int/velocity-rules-list`, {\n ...params,\n })\n }\n\n public postChangePaymentsWebhook<T>({\n status,\n paymentCode,\n }: ChangePaymentsWebhook): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/yuno-fraud-screening-int/payments/webhook`, {\n status,\n payment_code: paymentCode,\n })\n }\n\n //S3Client\n public uploadFileS3ClientBatchRefunds<T>({\n payload,\n handleSetProgress,\n }: S3Payload) {\n const cancelToken = this.getCancelTokenSource()\n const cancel = () => cancelToken.cancel()\n\n const promise = this.post<T, any>(\n `/batch-refunds/upload-s3-file`,\n payload,\n {\n onUploadProgress: (ev) =>\n handleSetProgress?.(\n ev.total ? Math.round((ev.loaded * 100) / ev.total) : 0,\n ),\n cancelToken: cancelToken.token,\n },\n )\n return { promise, cancel }\n }\n\n // #region S3Client\n public uploadFileS3ClientChargeBacks<T>({\n payload,\n handleSetProgress,\n }: S3Payload) {\n const cancelToken = this.getCancelTokenSource()\n const cancel = () => cancelToken.cancel()\n\n const promise = this.post<T, any>(`/chargebacks/upload-s3-file`, payload, {\n cancelToken: cancelToken.token,\n onUploadProgress: (ev) => {\n handleSetProgress?.(\n ev.total ? Math.round((ev.loaded * 100) / ev.total) : 0,\n )\n },\n })\n return { promise, cancel }\n }\n\n // #region Batch-refunds\n public batchRefundByFile<T>({\n payload,\n }): Promise<AxiosResponse<T, AxiosError>> {\n return this.post<T, AxiosError>(`/batch-refund-by-file`, {\n ...payload,\n })\n }\n\n public uploadBatchRefundsV2<T>({ payload }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/batch-refunds`, {\n ...payload,\n })\n }\n public getBatchRefunds<T>(limit, offset): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/batch-refunds?limit=${limit}&offset=${offset}`)\n }\n\n public getBatchRefundProcessedFileDownload<T>(\n batchRefundId: string,\n organizationCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.get<T, any>(\n `/batch-refunds/${batchRefundId}/processed-file-download`,\n { headers },\n )\n }\n\n public getBatchRefundUserFileDownload<T>(\n batchRefundId: string,\n organizationCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n 'x-account-code': accountCode,\n }\n return this.get<T, any>(\n `/batch-refunds/${batchRefundId}/user-file-download`,\n { headers },\n )\n }\n\n public getMFAConfig<T>({ organizationCode }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/organization-settings/mfa/config`, { headers })\n }\n\n public getMFAExcludedUsers<T>({\n organizationCode,\n }): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/organization-settings/mfa/excluded-users`, { headers })\n }\n\n public getMFAEnforcementStatus<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/mfa/enforcement-status`)\n }\n\n public getWorkOsMfaStatus<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/mfa/status`)\n }\n\n public updateMFAConfig<T>(\n payload: OrganizationSettings.MfaConfigRequest,\n organizationCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, OrganizationSettings.MfaConfigRequest>(\n `/organization-settings/mfa/config`,\n payload,\n {\n headers: {\n 'x-organization-code': organizationCode,\n },\n },\n )\n }\n\n public mfaExcludeUsers<T>(\n users: OrganizationSettings.MfaUserExcluded[],\n organizationCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, OrganizationSettings.MfaUserExcluded[]>(\n `/organization-settings/mfa/exclude-users`,\n users,\n {\n headers: {\n 'x-organization-code': organizationCode,\n },\n },\n )\n }\n\n // #region risk-conditions\n public getAllConfigRules<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/yuno-fraud-screening-int/velocity-rules/config/all`)\n }\n\n public getConditionalConfigRules<T>(\n conditional,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/yuno-fraud-screening-int/velocity-rules/config/conditional/${conditional}`,\n )\n }\n\n public getRule<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/yuno-fraud-screening-int/velocity-rules/${payload.idRule}`,\n payload?.accountCode && {\n headers: { 'x-account-code': payload?.accountCode },\n },\n )\n }\n public postCreateRuleMultiAccount<T>(\n payload,\n accountCode,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(\n `/yuno-fraud-screening-int/velocity-rules/multi-account`,\n payload,\n {\n headers: {\n 'x-account-code': accountCode,\n },\n },\n )\n }\n\n public postEditRule<T>(\n payload,\n ruleId,\n accountCode,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, unknown>(\n `/yuno-fraud-screening-int/velocity-rules/${ruleId}`,\n payload,\n {\n headers: {\n 'x-account-code': accountCode,\n },\n },\n )\n }\n\n // #region Customized api keys\n public postApiKeysRoll<T>(\n payload,\n keyCode,\n password,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(\n `/credentials-manager/v1/keys/roll/${keyCode}`,\n payload,\n { headers: { 'x-password': password } },\n )\n }\n\n public patchApiKeysEditNote<T>(\n payload,\n keyCode,\n password,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, unknown>(\n `/credentials-manager/keys/edit-note/${keyCode}`,\n payload,\n { headers: { 'x-password': password } },\n )\n }\n\n public getCustomizedApiKeysMembers<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/organization-user/resources/users/customized-keys`)\n }\n\n public getCustomizedApiKeysAccounts<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/organization-user/resources/accounts/customized-keys`)\n }\n\n public postCreateCustomizedApiKeys<T>(\n payload,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(`/credentials-manager/keys`, payload)\n }\n\n public pathCreateCustomizedApiKeys<T>(\n payload,\n code,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, unknown>(`/credentials-manager/key/${code}`, payload)\n }\n\n public postCustomizedApiKeys<T>(\n accountCodes: string[],\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(`/credentials-manager/keys/retrieve`, {\n account_codes: accountCodes,\n })\n }\n\n public getCustomizedApiKeysProducts<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/credentials-manager/product-list`)\n }\n\n public getCustomizedApiKeysToken<T>(\n code: string,\n password?: string,\n otp?: string,\n mfaToken?: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers: Record<string, string> = {}\n\n if (password) headers['x-password'] = password\n if (otp) headers['x-otp'] = otp\n if (mfaToken) headers['x-mfa-token'] = mfaToken\n\n return this.get<T>(`/credentials-manager/keys/show-token/${code}`, {\n headers,\n })\n }\n\n public validatePasswordStatus<T>() {\n return this.get<T>(`/validate-password-status`)\n }\n\n public deleteCustomizedApiKeys<T>(code): Promise<AxiosResponse<T, any>> {\n return this.delete<T, any>(`/credentials-manager/key/${code}`)\n }\n\n // #region Organization API Keys\n private buildAuthHeaders(\n password?: string,\n otp?: string,\n mfaToken?: string,\n ): Record<string, string> {\n const headers: Record<string, string> = {}\n if (password) headers['x-password'] = password\n if (otp) headers['x-otp'] = otp\n if (mfaToken) headers['x-mfa-token'] = mfaToken\n return headers\n }\n\n public getOrganizationKeysMetadata<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/v2/developers/organization-keys/metadata`)\n }\n\n public patchOrganizationKeysNote<T>(\n payload: { note: string },\n password: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, unknown>(\n `/v2/developers/organization-keys/note`,\n payload,\n { headers: { 'x-password': password } },\n )\n }\n\n public postOrganizationKeysRoll<T>(\n password?: string,\n otp?: string,\n mfaToken?: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(\n `/v2/developers/organization-keys/roll`,\n {},\n { headers: this.buildAuthHeaders(password, otp, mfaToken) },\n )\n }\n\n public postOrganizationKeysTamRequest<T>(\n password?: string,\n otp?: string,\n mfaToken?: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(\n `/v2/developers/organization-keys/tam-request`,\n {},\n { headers: this.buildAuthHeaders(password, otp, mfaToken) },\n )\n }\n\n public postOrganizationKeysMarkRevealed<T>(\n password?: string,\n otp?: string,\n mfaToken?: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(\n `/v2/developers/organization-keys/mark-revealed`,\n {},\n { headers: this.buildAuthHeaders(password, otp, mfaToken) },\n )\n }\n // #endregion Organization API Keys\n\n // #region export-insights\n public postCreateInsightsReport<T>(payload): Promise<AxiosResponse<T, any>> {\n const isFallback = payload?.type === 'CR_FALLBACK'\n const url = isFallback\n ? `/insights/conversion-rate/${typesInsightsExport[payload?.type]}/export`\n : `/insights/conversion-rate/cards/metrics/${\n typesInsightsExport[payload?.type]\n }/export`\n\n return this.post<T, unknown>(url, payload)\n }\n\n public getInsightsReport<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.get<T>(\n `/insights/conversion-rate/exports/${payload?.type}/by-user`,\n )\n }\n\n public getInsightsReportAgain<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/insights/conversion-rate/exports/${payload.code}`)\n }\n\n public createUserAuth0<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(`/user/auth0`, payload)\n }\n\n public getSamlConfig<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/saml-config`)\n }\n\n public createSamlConfig<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.post(`/saml-config`, payload)\n }\n\n public updateSamlConfig<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.patch(`/saml-config`, payload)\n }\n\n public deleteSamlConfig<T>(): Promise<AxiosResponse<T, any>> {\n return this.delete(`/saml-config`)\n }\n\n public postCall<T>(payload): Promise<AxiosResponse<T, any>> {\n return this.post<T, unknown>(`/ai-agent-caller/demo`, payload)\n }\n\n public getLoginMethods<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T>(`/organization/login-methods`)\n }\n\n public changeLoginMethods<T>(payload: {\n methodCode: string\n enabled: boolean\n }): Promise<AxiosResponse<T, any>> {\n return this.patch<T, unknown>(\n `/organization/login-methods/${payload.methodCode}`,\n {\n enabled: payload.enabled,\n },\n )\n }\n\n public postValidateCredentials<T>({\n payload,\n }: {\n payload: {\n account_code: string\n provider_id: string\n provider_type: string\n integration_code: string\n }\n }): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/connections/validate-credentials', payload)\n }\n\n public getInsightsConversionRateOverview(\n body: ConversionRateBody,\n params: ConversionRateParams,\n ): Promise<AxiosResponse<ConversionRateOverview>> {\n return this.post<ConversionRateOverview, any>(\n '/v3/insights/conversion-rate/overview',\n body,\n { params },\n )\n }\n\n public getInsightsConversionRateOverviewFraud3ds(\n body: ConversionRateBody,\n params: ConversionRateParams,\n ): Promise<AxiosResponse<ConversionRateOverviewFraud3ds>> {\n return this.post<ConversionRateOverviewFraud3ds, any>(\n '/v3/insights/conversion-rate/overview-fraud-3ds',\n body,\n { params },\n )\n }\n\n public getConversionRateChargebacksByCardBrand(\n body: InsightsFraudBody,\n params: InsightsFraudParams,\n ): Promise<AxiosResponse<any, any>> {\n return this.post<any, any>('/insights/chargebacks/by-card-brand', body, {\n params,\n })\n }\n\n public get3DSExemptions(): Promise<\n AxiosResponse<SmartRouting.ThreeDSExemptionsResponse>\n > {\n return this.get('/routing/3ds-exemptions')\n }\n\n public getNetworkTokensOnboarding(): Promise<\n AxiosResponse<SmartRouting.NetworkTokensOnboardingResponse>\n > {\n return this.get('/network-tokens/onboarding')\n }\n\n public getNetworkTokensOnboardingByOrganization(\n organizationCode: string,\n ): Promise<AxiosResponse<Connection.NetworkTokensOnboardingMerchantData>> {\n return this.get(`network-tokens/organization/onboarding`, {\n headers: {\n 'x-organization-code': organizationCode,\n },\n })\n }\n\n public postNetworkTokensOnboarding(\n payload: Connection.NetworkTokensOnboardingMerchantRequest,\n ): Promise<AxiosResponse<Connection.NetworkTokensOnboardingMerchantData>> {\n return this.post(`/network-tokens/organization/onboarding`, payload)\n }\n\n // #region ChartGPT\n public createChartGPTChart<T>(payload: {\n user_prompt: string\n timezone?: string\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/data-assistant/charts`, payload)\n }\n\n public deleteChartGPTChart<T>(\n chart_id: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.delete<T, any>(`/data-assistant/charts/${chart_id}`)\n }\n\n public getChartById<T>(chart_id: string): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/data-assistant/charts/${chart_id}`)\n }\n\n public patchChartGPTChart<T>(\n chart_id: string,\n payload: PatchChartGPTPayload,\n ): Promise<AxiosResponse<T, any>> {\n return this.patch<T, any>(`/data-assistant/charts/${chart_id}`, payload)\n }\n\n public executeChartGPTChart<T>(\n chart_id: string = '',\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/data-assistant/charts/${chart_id}/execute`)\n }\n\n public getChartsByUser<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/data-assistant/user/charts`)\n }\n\n public submitChartFeedback<T>(\n chartCode: string,\n payload: {\n rating: string\n issues?: string[]\n comment?: string\n },\n ): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(\n `/data-assistant/charts/${chartCode}/feedback`,\n payload,\n )\n }\n\n public getChartFeedback<T>(\n chartCode: string,\n ): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/data-assistant/charts/${chartCode}/feedback`)\n }\n\n public getLanguages<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/languages`)\n }\n\n public getTranslations<T>(lang: string): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/translations?language=${lang}`)\n }\n\n public getCommunications<T>(payload: {\n start_date: string\n end_date: string\n account_codes: string[]\n country: string[]\n status: string[]\n focus: string[]\n skip: number\n limit: number\n search_value: string\n }): Promise<AxiosResponse<T, any>> {\n return this.post<T, any>(`/communications`, payload)\n }\n\n public getCommunicationsFilters<T>(): Promise<AxiosResponse<T, any>> {\n return this.get<T, any>(`/communications/filters`)\n }\n\n public getCommunicationDetails<T>(\n communicationId: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/communications/${communicationId}/details`, {\n headers,\n })\n }\n\n public getRecipients<T>(\n organizationCode: string,\n params: {\n account_ids?: string\n countries?: string\n national_entities?: string\n entity_types?: string\n start_date?: string\n end_date?: string\n search_type?: string\n search_value?: string\n page?: number\n page_size?: number\n sort_by?: string\n sort_order?: string\n },\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/recipients`, { headers, params })\n }\n\n public getRecipientById<T>(\n organizationCode: string,\n recipientId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/recipients/${recipientId}`, { headers })\n }\n\n public getOnboardingDetail<T>(\n organizationCode: string,\n recipientId: string,\n onboardingId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(\n `/recipients/${recipientId}/onboardings/${onboardingId}`,\n { headers },\n )\n }\n\n public getOnboardingTimeline<T>(\n organizationCode: string,\n onboardingId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.get<T>(`/recipients/onboardings/${onboardingId}/timeline`, {\n headers,\n })\n }\n\n public createRecipientExport<T>(\n payload: unknown,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.post<T, any>(`/v1/recipients/exports`, payload, { headers })\n }\n\n public getRecipientExports<T>(\n params: { page?: number; size?: number },\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/v1/recipients/exports`, { headers, params })\n }\n\n public downloadRecipientExport<T>(\n exportCode: string,\n accountCode: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-account-code': accountCode,\n }\n return this.get<T>(`/v1/recipients/exports/${exportCode}/download`, {\n headers,\n })\n }\n\n public createRecipient<T>(\n organizationCode: string,\n payload: CreateRecipientPayload,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(`/recipients`, payload, { headers })\n }\n\n public updateRecipient<T>(\n organizationCode: string,\n recipientId: string,\n payload: UpdateRecipientPayload,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.patch<T, any>(`/recipients/${recipientId}`, payload, {\n headers,\n })\n }\n\n public deleteRecipient<T>(\n organizationCode: string,\n recipientId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.delete<T>(`/recipients/${recipientId}`, { headers })\n }\n\n public createOnboarding<T>(\n organizationCode: string,\n recipientId: string,\n payload: CreateOnboardingPayload,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(\n `/recipients/${recipientId}/onboardings`,\n payload,\n { headers },\n )\n }\n\n public updateOnboarding<T>(\n organizationCode: string,\n recipientId: string,\n onboardingId: string,\n payload: UpdateOnboardingPayload,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.patch<T, any>(\n `/recipients/${recipientId}/onboardings/${onboardingId}`,\n payload,\n { headers },\n )\n }\n\n public blockOnboarding<T>(\n organizationCode: string,\n recipientId: string,\n onboardingId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(\n `/recipients/${recipientId}/onboardings/${onboardingId}/block`,\n {},\n { headers },\n )\n }\n\n public unblockOnboarding<T>(\n organizationCode: string,\n recipientId: string,\n onboardingId: string,\n ): Promise<AxiosResponse<T, any>> {\n const headers = {\n 'x-organization-code': organizationCode,\n }\n return this.post<T, any>(\n `/recipients/${recipientId}/onboardings/${onboardingId}/unblock`,\n {},\n { headers },\n )\n }\n\n // #region CONCIERGE - ALERTS\n\n public getConciergeAlerts<T>(): Promise<AxiosResponse<T>> {\n return this.get<T>('/concierge/alerts')\n }\n\n public getConciergeAlertById<T>(alertId: string): Promise<AxiosResponse<T>> {\n return this.get<T>(`/concierge/alerts/${alertId}`)\n }\n\n public createConciergeAlert<T>(\n payload: ConciergeAlerts.CreateAlertPayload,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>('/concierge/alerts', payload)\n }\n\n public deleteConciergeAlert<T>(alertId: string): Promise<AxiosResponse<T>> {\n return this.delete<T>(`/concierge/alerts/${alertId}`)\n }\n\n public enableConciergeAlert<T>(\n alertId: string,\n payload: ConciergeAlerts.EnableAlertPayload,\n ): Promise<AxiosResponse<T>> {\n return this.post<T, any>(`/concierge/alerts/enable/${alertId}`, payload)\n }\n\n // #endregion\n\n // #region Playground\n\n public postPlaygroundExecuteFlow<T>(\n payload: Playground.ExecuteFlowPayload,\n ): Promise<AxiosResponse<T, unknown>> {\n return this.post<T, unknown>('/playground/payment-flows', payload)\n }\n\n // #endregion\n}\n","import { paymentsHandlers } from './payments'\nimport { insightsHandlers } from './insights'\nimport { reconciliationInsightsHandlers } from './reconciliation-insights'\nimport { installmentsHandlers } from './installments'\nimport { recipientsHandlers } from './recipients'\nimport { apiLogsHandlers } from './api-logs'\nimport { webhooksHandlers } from './webhooks'\nimport { mfaHandlers } from './mfa'\n\nexport const handlers = [\n ...paymentsHandlers,\n ...insightsHandlers,\n ...reconciliationInsightsHandlers,\n ...installmentsHandlers,\n ...recipientsHandlers,\n ...apiLogsHandlers,\n ...webhooksHandlers,\n ...mfaHandlers,\n]\n","import { Organization, Webhook } from '../../types'\nimport { useMutation, UseMutationResult } from '@tanstack/react-query'\nimport { ApiSingleton } from '../../api'\nimport { DeleteMutation } from './delete-mutation'\nimport {\n DuplicateAccountBody,\n DuplicateAccountResponse,\n DuplicateSetting,\n RetryDuplicateAccountResponse,\n} from './types'\nimport { AxiosError, AxiosResponse } from 'axios'\n\nexport function usePostWebhookMultiAccount({\n onSuccessCallback,\n}: {\n onSuccessCallback?: (data) => void\n}) {\n return useMutation(\n ({ payload }: { payload: Webhook.WebHookV2MultiAccount }) => {\n const api = ApiSingleton.getInstance()\n return api.postWebhookV2MultiAccount({ payload })\n },\n {\n onMutate: (response) => response,\n onSuccess: onSuccessCallback,\n },\n )\n}\n\nexport function useDeleteWebhookV2({\n onSuccessCallback,\n}: {\n onSuccessCallback?: (data) => void\n}) {\n return useMutation(\n ({ code, accountCode }: { code: string; accountCode: string }) => {\n const api = ApiSingleton.getInstance()\n return api.deleteWebhookV2<null>(code, accountCode)\n },\n {\n onMutate: (response) => response,\n onSuccess: onSuccessCallback,\n },\n )\n}\n\nexport function useUpdateWebhookV2({\n onSuccessCallback,\n}: {\n onSuccessCallback?: (data) => void\n}) {\n return useMutation(\n ({\n code,\n payload,\n accountCode,\n }: {\n code: string\n payload: any\n accountCode: string\n }) => {\n const api = ApiSingleton.getInstance()\n return api.updateWebhookV2<Webhook.WebHookV2>(code, payload, accountCode)\n },\n {\n onMutate: (response) => response,\n onSuccess: onSuccessCallback,\n },\n )\n}\n\nexport function usePostAccount() {\n return useMutation(\n ({ name, principal }: { name: string; principal: boolean }) => {\n const api = ApiSingleton.getInstance()\n return api.postAccount<Organization.Account>(name, principal)\n },\n )\n}\n\nexport function useDuplicateAccount(): UseMutationResult<\n AxiosResponse<DuplicateAccountResponse>,\n AxiosError\n> {\n return useMutation((body: DuplicateAccountBody) => {\n const settings = [DuplicateSetting.ACCOUNT, ...body.duplicate_order]\n const api = ApiSingleton.getInstance()\n return api.duplicateAccount({ ...body, duplicate_order: settings })\n })\n}\n\nexport function useRetryDuplicateAccount(): UseMutationResult<\n AxiosResponse<RetryDuplicateAccountResponse>,\n AxiosError\n> {\n return useMutation((account_code: string) => {\n const api = ApiSingleton.getInstance()\n return api.retryDuplicateAccount(account_code)\n })\n}\n\nexport function usePatchAccountV2() {\n return useMutation(\n ({\n name,\n code,\n principal,\n }: {\n name: string\n code: string\n principal: boolean\n }) => {\n const api = ApiSingleton.getInstance()\n return api.patchAccountV2<Organization.Account>({ name, code, principal })\n },\n )\n}\n\nexport function usePutAccountPrincipal() {\n return useMutation(({ account_code }: { account_code: string }) => {\n const api = ApiSingleton.getInstance()\n return api.putAccountPrincipal<Organization.Account>({\n account_code,\n })\n })\n}\n\nexport function usePutAccountsUserMassive() {\n return useMutation(\n ({\n organizationCode,\n userCode,\n payload,\n }: {\n organizationCode: string\n userCode: string\n payload: {\n accounts_roles: { role_id: string; account_code: string }[]\n }\n }) => {\n const api = ApiSingleton.getInstance()\n return api.putAccountsUserMassive<Organization.Account>(\n organizationCode,\n userCode,\n payload,\n )\n },\n )\n}\n\nexport function useDeleteAccountsUserMassive(): DeleteMutation {\n return useMutation(({ organizationCode, userCode, payload }) => {\n const api = ApiSingleton.getInstance()\n return api.deleteAccountsUserMassive<\n Organization.AccountOrganization & { messages: string[] },\n unknown\n >(organizationCode, userCode, payload)\n })\n}\n","export * from './accounts.mutation'\nexport * from './types'\n","export * from './accounts'\nexport * from './connections'\nexport * from './organizations'\nexport * from './security'\nexport * from './users'\nexport * from './checkouts'\nexport * from './payments'\nexport * from './reports'\nexport * from './smart-routing'\nexport * from './routing-monitors'\nexport * from './notifications'\nexport * from './team'\nexport * from './payment-links'\nexport * from './subscriptions'\nexport * from './settings'\nexport * from './multi-factor-authentication'\nexport * from './fraud-screening'\nexport * from './batch-refunds'\nexport * from './S3Client'\nexport * from './organization-settings'\nexport * from './scheduled-reports'\nexport * from './velocity-rules'\nexport * from './developers'\nexport * from './audit'\nexport * from './audit/audit-api.mutation'\nexport * from './reconciliations'\nexport * from './insights'\nexport * from './saml-config'\nexport * from './ai'\nexport * from './chartgpt'\nexport * from './template-reporting'\nexport * from './organization-config'\nexport * from './installments'\nexport * from './recipients'\nexport * from './concierge'\nexport * from './playground'\n","import { AxiosError, AxiosResponse } from 'axios'\nimport { useQuery, UseQueryResult } from '@tanstack/react-query'\nimport { Organization, Webhook } from '../../types'\nimport { ApiSingleton } from '../../api'\nimport { useOrganizationCode } from '../../utils/use-localstorage'\nimport { PendingDuplicateAccountsResponse } from './types'\n\nexport function useGetWebhookParamsV2(): UseQueryResult<\n Webhook.Param[],\n unknown\n> {\n return useQuery(['params-catalog'], () => {\n const api = ApiSingleton.getInstance()\n return api.getWebhookParamsV2<Webhook.Param[]>().then((res) => res?.data)\n })\n}\n\nexport function useGetWebhooksV3({\n accountCode,\n name,\n}: {\n accountCode: string\n name?: string\n}): UseQueryResult<Webhook.WebHookV2[], unknown> {\n return useQuery(\n ['webhooks', accountCode, name],\n () => {\n const api = ApiSingleton.getInstance()\n return api\n .getWebhooksV3<Webhook.WebHookV2[]>({ accountCode, name })\n .then((res) => res?.data)\n },\n {\n enabled: !!accountCode,\n useErrorBoundary: false,\n },\n )\n}\n\nexport function useGetWebhooksV2Detail({\n accountCode,\n enabled,\n}): UseQueryResult<Webhook.WebHookV2[], unknown> {\n return useQuery(\n ['webhooks-detail', accountCode],\n () => {\n const api = ApiSingleton.getInstance()\n return api\n .getWebhooksV2Detail<Webhook.WebHookV2[]>({ accountCode })\n .then((res) => {\n return res?.data\n })\n .catch((error) => error)\n },\n {\n enabled: !!accountCode && !!enabled,\n },\n )\n}\n\nexport function useGetAccounts(\n organizationCode?: string,\n): UseQueryResult<Organization.Account[], unknown> {\n const orgCode = useOrganizationCode()\n const organizationCodeStorage = organizationCode ?? orgCode ?? null\n\n return useQuery({\n queryKey: ['accounts', organizationCodeStorage],\n queryFn: () => {\n const api = ApiSingleton.getInstance()\n return api\n .getAccounts<Organization.Account[]>(organizationCodeStorage)\n .then((res) => res?.data)\n },\n keepPreviousData: true,\n useErrorBoundary: false,\n // 3 seconds\n cacheTime: 3000,\n enabled: !!organizationCodeStorage,\n })\n}\n\nexport function useGetAccountsV2(\n organizationCode: string,\n): UseQueryResult<Organization.Account[], unknown> {\n return useQuery(\n ['accountsV2', organizationCode],\n () => {\n const api = ApiSingleton.getInstance()\n return api\n .getAccountsV2<Organization.Account[]>()\n .then((res) => res?.data || [])\n .catch((error) => {\n throw error\n })\n },\n {\n keepPreviousData: true,\n enabled: !!organizationCode,\n useErrorBoundary: false,\n },\n )\n}\n\nexport function useGetAccountsByUser(userCode: string): UseQueryResult<\n {\n accountsV2ByUser: Organization.Account[]\n error?: AxiosError\n },\n unknown\n> {\n return useQuery(\n ['accountsV2-by-user', userCode],\n () => {\n if (!userCode) return { accountsV2ByUser: [] }\n const api = ApiSingleton.getInstance()\n return api\n .getAccountsByUser<Organization.Account[]>(userCode)\n .then((result) => ({ accountsV2ByUser: result?.data || null }))\n .catch((error) => ({ accountsV2ByUser: [], error }))\n },\n { enabled: !!userCode, staleTime: 0 },\n )\n}\n\n// Hook to get accounts for impersonation filters\nexport function useGetAccountsForImpersonation(\n organizationCode?: string,\n isTesting?: boolean,\n): UseQueryResult<\n Array<{\n label: string\n value: string\n code_live: string\n code_testing: string\n }>,\n unknown\n> {\n return useQuery({\n queryKey: ['accounts-for-impersonation', organizationCode, isTesting],\n queryFn: async () => {\n const api = ApiSingleton.getInstance()\n return api.getAccountsForImpersonation(organizationCode!).then(\n (res) =>\n res?.data?.response?.map((account) => ({\n label: account.name,\n value: isTesting ? account.code_testing : account.code_live,\n code_live: account.code_live,\n code_testing: account.code_testing,\n })) || [],\n )\n },\n keepPreviousData: true,\n useErrorBoundary: false,\n cacheTime: 3000,\n enabled: !!organizationCode,\n })\n}\n\n// Hook to get roles for impersonation filters\nexport function useGetRolesForImpersonation(\n organizationCode?: string,\n): UseQueryResult<\n Array<{\n label: string\n value: string\n }>,\n unknown\n> {\n return useQuery({\n queryKey: ['roles-for-impersonation', organizationCode],\n queryFn: async () => {\n const api = ApiSingleton.getInstance()\n return api.getRolesForImpersonation(organizationCode!).then(\n (res) =>\n res?.data?.roles?.map((role) => ({\n label: role.name,\n value: role.id,\n })) || [],\n )\n },\n keepPreviousData: true,\n useErrorBoundary: false,\n cacheTime: 3000,\n enabled: !!organizationCode,\n })\n}\n\nexport function useGetPendingDuplicateAccounts(\n refetchInterval?: number,\n): UseQueryResult<AxiosResponse<PendingDuplicateAccountsResponse>, AxiosError> {\n return useQuery({\n queryKey: ['pending-duplicate-accounts', refetchInterval],\n queryFn: () => {\n const api = ApiSingleton.getInstance()\n return api.getPendingDuplicateAccounts()\n },\n useErrorBoundary: false,\n keepPreviousData: true,\n refetchInterval,\n })\n}\n","export * from './accounts.query'\nexport * from './types'\n","export * from './payments'\nexport * from './developers'\nexport * from './organizations'\nexport * from './connections'\nexport * from './accounts'\nexport * from './smart-routing'\nexport * from './routing-monitors'\nexport * from './checkouts'\nexport * from './users'\nexport * from './notifications'\nexport * from './reports'\nexport * from './team'\nexport * from './data-report'\nexport * from './reconciliations'\nexport * from './feature-flags'\nexport * from './audit'\nexport * from './payment-links'\nexport * from './subscriptions'\nexport * from './firebase'\nexport * from './fraud-screening'\nexport * from './batch-refunds'\nexport * from './velocity-rules'\nexport * from './mfa'\nexport * from './saml-config'\nexport * from './chartgpt'\nexport * from './translation'\nexport * from './network-tokens'\nexport * from './smart-recovery'\nexport * from './network-tokens'\nexport * from './template-reporting'\nexport * from './organization-config'\nexport * from './onboarding'\nexport * from './recipients'\nexport * from './installments'\nexport * from './api-logs'\nexport * from './webhooks'\nexport * from './security'\nexport * from './concierge'\n","import type { Request } from 'express'\nimport { Cost } from '../connection/costs'\nimport { Connection } from '../connection'\n\nexport namespace Organization {\n export type OrganizationStatus = 'INACTIVE' | 'ACTIVE' | 'VERIFYING_ACCOUNT'\n\n export interface Organization {\n code: string\n name: string\n category: string\n status: OrganizationStatus //ACTIVE, INACTIVE, VERIFYING_ACCOUNT\n selected?: boolean\n created_at: Date\n updated_at: Date\n nps: number\n type: string\n allowed_sections?: {\n nova: boolean\n reconciliations: boolean\n future_providers: boolean\n hide_denied_sections: boolean\n }\n }\n // https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims#add-custom-claims-to-a-token\n export enum CustomClaims {\n ORGANIZATION_CODE = 'https://dashboard.dev.y.uno/organization_code',\n USER_CODE = 'https://dashboard.dev.y.uno/user_code',\n USER_EMAIL = 'https://dashboard.dev.y.uno/user_email',\n }\n\n export interface PatchOrganizationStatusParam {\n status: OrganizationStatus\n }\n export interface ProviderParams {\n paymentMethods: PaymentMethods[]\n new_params_catalog: Connection.ConnectionPayload[]\n params: Connection.ConnectionPayload[]\n provider: {\n async: boolean\n location_coverage: string[]\n }\n code: number\n }\n export interface OrganizationRequest extends Request {\n user: {\n [CustomClaims.ORGANIZATION_CODE]: string\n [CustomClaims.USER_CODE]: string\n sub: string\n }\n }\n export interface AccountOrganization extends Account {\n account_codes: string[]\n }\n export interface Account {\n active: boolean\n email: string\n legal_name: string\n phone: string\n country_code: string\n updated_at: string\n account_code_live: string\n account_code_testing: string\n code: string\n created_at: string\n id: number\n name: string\n organization_code: string\n principal: boolean\n role: {\n adming: boolean\n id: string\n name: string\n permission_ids: string[]\n staff: boolean\n status: string\n user_account_code: string\n }\n }\n\n export interface Integration {\n code: string\n provider_id: string\n active: boolean\n country: string\n created_at: string\n updated_at: string\n }\n\n export interface IntegrationParams {\n payment_method: string[]\n param_id: string\n category: string\n panel_name: string\n panel_description: string\n type: string\n created_at: string\n updated_at: string\n country: string\n async: string\n provider_description?: string\n integration_type?: string\n costs?: Cost[]\n value?: string\n }\n\n export interface PaymentMethods {\n type?: string\n provider_id: string\n icon?: string\n name?: string\n description?: string\n active?: boolean\n country?: string\n }\n\n export interface ProviderParamsResponse {\n paymentMethods: PaymentMethods[]\n params: IntegrationParams[]\n }\n export interface Credentials {\n public_api_key: string\n private_secret_key: string\n }\n export type ConnectionState = 'ARCHIVED' | 'ACTIVE' | 'PAUSED'\n export interface Connections {\n integration_code: string\n type: string\n provider_id: string\n icon: string\n name: string\n description: string\n active: boolean\n created_at: string\n updated_at: string\n provider_name: string\n connection_name: string\n network_token_enable: boolean\n connection_state?: ConnectionState\n provider_icon: string\n category: string\n costs?: Cost[]\n percentage_cost?: number\n }\n}\n","import { enableMocking } from './msw'\n\nexport * from './api'\nexport * from './mutations'\nexport * from './queries'\nexport * from './api-provider'\nexport * from './store'\nexport * from './types'\nexport * from './constants'\nexport * from './websockets'\nexport * from './utils'\n\n// Only initialize MSW if we're in a browser and in a valid environment\nconst validEnvironments = ['LOCAL', 'DEV', 'STG']\nconst isValidEnvironment = validEnvironments.includes(\n process.env.ENVIRONMENT || '',\n)\n\nif (typeof window !== 'undefined' && isValidEnvironment) {\n enableMocking()\n}\n","__webpack_require__.h = () => (\"8f958f8c742f258b\")"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMA;AAmBA;AAsDA;AASA;AASA;AACA;AAIA;AAEA;;;;;;AAMA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;;AACA;AACA;AAMA;AAYA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAGA;AAIA;AAEA;;AAGA;AACA;AACA;AAGA;AAIA;AAEA;;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AACA;AAAA;AAEA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AACA;AAAA;AAEA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AAIA;AAGA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AAAA;AAAA;AACA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAKA;AACA;AACA;AAEA;AAGA;AAAA;AAEA;AAEA;AACA;AAKA;AACA;AACA;AAEA;AAGA;AAAA;AAEA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AACA;AAGA;AAIA;AAEA;AAEA;AACA;AAGA;;;;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAAA;AAEA;AAEA;AAGA;;;;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAAA;AAEA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAGA;;;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAGA;;;;AAEA;AAGA;AACA;AAEA;AAAA;AAEA;AAEA;AAGA;;;;AAEA;AAGA;AACA;AAEA;AAAA;AAEA;AAEA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AAMA;AAIA;AAEA;AACA;AACA;AAEA;AAGA;AAGA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAGA;AACA;AAEA;AAIA;AAIA;AAEA;AAMA;AAIA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAGA;AACA;AAEA;AAAA;AAGA;AACA;AAEA;AAMA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AAOA;AAHA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAMA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAEA;AAEA;;;AAIA;;AAAA;AACA;AAAA;;AACA;;;AACA;;AAEA;;;AACA;;AAAA;;;AAGA;;AAEA;AAIA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AACA;AAEA;AACA;AAGA;AAIA;AACA;AACA;AACA;AAGA;AAEA;AACA;AAEA;;;AAAA;AAEA;;AAAA;;;AAKA;;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAKA;AAFA;AACA;AAGA;AACA;AACA;AAEA;AACA;AAAA;AAQA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAMA;AAMA;AAAA;AAEA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AAGA;AACA;AAEA;AAAA;AAKA;AAIA;AAEA;AAIA;AAGA;AAEA;AAKA;AAIA;AAEA;AACA;AACA;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAGA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAIA;AAEA;AAIA;AACA;AACA;AAEA;AAEA;AAGA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AAEA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAEA;AAEA;AAIA;AACA;AAEA;AAIA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAIA;AAGA;AAEA;AAIA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAGA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAIA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAGA;AAEA;AACA;AACA;AACA;AAIA;AACA;AAEA;AAIA;AAEA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAEA;AAEA;AACA;AAEA;AAKA;AAIA;AAEA;AAIA;AAIA;AAEA;AAGA;AAEA;AAIA;AACA;AAEA;AAIA;AAEA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAEA;AAGA;AACA;AAIA;AAEA;AAIA;AACA;AAEA;AAIA;AAGA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AAIA;AACA;AACA;AACA;AAIA;AACA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAIA;;;;;AAOA;AAEA;AACA;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAIA;;;;AAEA;AAEA;AACA;AAIA;AAEA;AAGA;AAAA;AAEA;AAEA;AAGA;;;;AAEA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAIA;;;;AAEA;AACA;AACA;AAEA;AACA;AAAA;;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAKA;;;;AAEA;AACA;AACA;AAEA;AACA;AAAA;;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AAIA;AACA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AAGA;;;;;AAOA;AAEA;AACA;AAAA;;AACA;AAEA;AACA;AAIA;AAEA;AAAA;AAAA;AACA;AAEA;AAIA;;;;;AAOA;AAEA;AACA;AAAA;;AACA;AAEA;AACA;AAIA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AAIA;AAEA;AAAA;AACA;AAAA;AAEA;AAEA;AAIA;AAEA;AAAA;AACA;AAAA;AAEA;AAEA;AACA;AAAA;AAGA;AACA;AAEA;AACA;AAKA;AAGA;AAEA;AACA;AAKA;AAGA;AAEA;AACA;AAKA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;;AAEA;AAEA;AAMA;AACA;AACA;AACA;AACA;AAEA;AAGA;;;AAEA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AAAA;AAKA;AAEA;AAAA;AAAA;AAAA;AAEA;AAEA;AAGA;;;AAEA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAEA;AACA;AAMA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAGA;AAAA;AAAA;AACA;AACA;AAIA;AACA;AAEA;AAEA;AACA;AAGA;AAIA;AAEA;AAIA;AAIA;AAEA;AAGA;AACA;AAEA;AAIA;AAIA;AAEA;AAIA;AAIA;AAEA;AAIA;AAIA;AAEA;AAIA;AAEA;AAAA;AAEA;AAEA;AACA;AAGA;AAIA;AAEA;AAIA;AAIA;AAEA;AAGA;AACA;AAEA;AAIA;AAIA;AAEA;AAIA;AAEA;AAAA;AAEA;AACA;AAKA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AAGA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AAKA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AAEA;AAIA;AAEA;AASA;AAOA;AAEA;AAQA;AAMA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAKA;AACA;AACA;AACA;AAIA;AACA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;AAEA;AAIA;AAAA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AAQA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AAQA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAEA;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAUA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AAEA;AAAA;AACA;;;;AAAA;AAIA;;AAAA;AAIA;AACA;AACA;AACA;;;AAPA;AAWA;AACA;AACA;AACA;AAEA;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAKA;AACA;AAEA;AAAA;AAOA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAIA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAIA;AAEA;AACA;AAGA;AACA;AACA;AAGA;AACA;AACA;AAGA;;;AACA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAAA;AAAA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AAIA;AAIA;AACA;AAAA;AACA;AACA;AAEA;AAAA;AAKA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AAGA;AACA;AAEA;AAKA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AAEA;AAGA;AAIA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAGA;AAEA;AAGA;AAIA;AACA;AACA;AAIA;AAAA;AAAA;AACA;AAGA;AAEA;AAEA;AAEA;AAIA;AAAA;AAAA;AACA;AAGA;AAEA;AAAA;AACA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AACA;AAIA;AAEA;AAAA;AAGA;AAIA;AAEA;AAAA;AAGA;AAEA;AAAA;AAEA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AAGA;AAEA;AAAA;AAEA;AAEA;AAAA;AAGA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAAA;AAGA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AACA;AAIA;AAAA;AAAA;AACA;AAEA;AAEA;AAAA;AAGA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAKA;AAEA;AAAA;AAAA;AAEA;AACA;AAGA;AACA;AAEA;AACA;AAAA;AAGA;AACA;AAEA;AACA;AAIA;AAGA;AACA;AACA;AACA;AAEA;AAEA;AAAA;AAGA;AAIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAGA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AAIA;AAIA;AACA;AAEA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AAGA;AAGA;AAEA;AAAA;AACA;AAGA;AACA;AACA;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAAA;AAGA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AAIA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AAGA;AAEA;AACA;AAGA;AAAA;AAAA;AACA;AAEA;AACA;AAIA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AAKA;AAIA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAKA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AAKA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAIA;AACA;AAEA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAMA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAGA;AAAA;AAAA;AAAA;AAEA;AAEA;AAKA;AAGA;AAAA;AAEA;AAEA;AAKA;AAGA;AAAA;AAEA;AAEA;AAKA;AAGA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAMA;AACA;AAEA;AACA;AAGA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AAGA;AACA;AAEA;AAEA;AAAA;AAUA;AACA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AAGA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AAIA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAQA;AAIA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAWA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAiBA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAKA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AAEA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AAKA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AAMA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AAKA;AACA;AACA;AACA;AAGA;AAAA;AAEA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAGA;AACA;AAEA;AACA;AACA;AAEA;AAIA;AACA;AAEA;AAEA;AAEA;AAGA;AACA;AA/iIA;AACA;AAOA;AACA;AAyiIA;;;;;;;;;;;;;;;;;;;;;;ACnrIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AACA;AAEA;AAQA;AAAA;AAKA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AAKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AAKA;AAEA;AAQA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAIA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;;AACA;AACA;AAEA;AAIA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAQA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAUA;AACA;AAKA;AAEA;AAEA;AACA;AAAA;AACA;AACA;AAIA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;AAEA;AACA;AAGA;AAIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AAMA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAGA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AAIA;AADA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAAA;AAAA;AAEA;AACA;AAIA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AAOA;AACA;AAAA;AAAA;AAEA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAEA;AAEA;AACA;AAYA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAAA;AACA;;AAAA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AACA;;AAAA;AACA;;AAAA;AAEA;AAAA;AACA;AACA;AACA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAGA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACzMA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjCA;AAqBA;;;;AAAA;AAuHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChJA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAIA;AACA;AACA;;;;;;;;;;;;ACpBA"}
@@ -0,0 +1 @@
1
+ {"c":["main"],"r":[],"m":["./src/msw/handlers/accounts.ts"]}