@artu-ai/compliance-sdk 0.0.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/errors/api.d.ts +160 -0
- package/dist/errors/api.d.ts.map +1 -0
- package/dist/errors/api.js +255 -0
- package/dist/errors/base.d.ts +87 -0
- package/dist/errors/base.d.ts.map +1 -0
- package/dist/errors/base.js +84 -0
- package/dist/errors/index.d.ts +32 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +35 -0
- package/dist/errors/upload.d.ts +109 -0
- package/dist/errors/upload.d.ts.map +1 -0
- package/dist/errors/upload.js +163 -0
- package/dist/errors/validation.d.ts +98 -0
- package/dist/errors/validation.d.ts.map +1 -0
- package/dist/errors/validation.js +129 -0
- package/dist/exports/base.d.ts +12 -0
- package/dist/exports/base.d.ts.map +1 -0
- package/dist/exports/base.js +21 -0
- package/dist/exports/index.d.ts +40 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/index.js +59 -0
- package/dist/{mexico → exports/mexico}/actividad-vulnerable/avi.d.ts +130 -138
- package/dist/exports/mexico/actividad-vulnerable/avi.d.ts.map +1 -0
- package/dist/exports/mexico/actividad-vulnerable/avi.js +108 -0
- package/dist/{mexico → exports/mexico}/actividad-vulnerable/jys.d.ts +147 -158
- package/dist/exports/mexico/actividad-vulnerable/jys.d.ts.map +1 -0
- package/dist/exports/mexico/actividad-vulnerable/jys.js +115 -0
- package/dist/{mexico → exports/mexico}/actividad-vulnerable/tsc.d.ts +118 -129
- package/dist/exports/mexico/actividad-vulnerable/tsc.d.ts.map +1 -0
- package/dist/exports/mexico/actividad-vulnerable/tsc.js +103 -0
- package/dist/exports/mexico/index.d.ts +48 -0
- package/dist/exports/mexico/index.d.ts.map +1 -0
- package/dist/exports/mexico/index.js +70 -0
- package/dist/models/Address.d.ts +118 -0
- package/dist/models/Address.d.ts.map +1 -0
- package/dist/models/Address.js +187 -0
- package/dist/models/BankAccount.d.ts +124 -0
- package/dist/models/BankAccount.d.ts.map +1 -0
- package/dist/models/BankAccount.js +190 -0
- package/dist/models/Client.d.ts +170 -0
- package/dist/models/Client.d.ts.map +1 -0
- package/dist/models/Client.js +275 -0
- package/dist/models/ContactMethod.d.ts +102 -0
- package/dist/models/ContactMethod.d.ts.map +1 -0
- package/dist/models/ContactMethod.js +152 -0
- package/dist/models/Document.d.ts +167 -0
- package/dist/models/Document.d.ts.map +1 -0
- package/dist/models/Document.js +295 -0
- package/dist/models/LinkedClient.d.ts +62 -0
- package/dist/models/LinkedClient.d.ts.map +1 -0
- package/dist/models/LinkedClient.js +70 -0
- package/dist/models/Report.d.ts +98 -0
- package/dist/models/Report.d.ts.map +1 -0
- package/dist/models/Report.js +156 -0
- package/dist/models/ReportItem.d.ts +106 -0
- package/dist/models/ReportItem.d.ts.map +1 -0
- package/dist/models/ReportItem.js +167 -0
- package/dist/models/Transaction.d.ts +108 -0
- package/dist/models/Transaction.d.ts.map +1 -0
- package/dist/models/Transaction.js +175 -0
- package/dist/models/base.d.ts +42 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +51 -0
- package/dist/models/index.d.ts +20 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +34 -0
- package/dist/models/mex/MexAddress.d.ts +93 -0
- package/dist/models/mex/MexAddress.d.ts.map +1 -0
- package/dist/models/mex/MexAddress.js +148 -0
- package/dist/models/mex/MexBankAccount.d.ts +65 -0
- package/dist/models/mex/MexBankAccount.d.ts.map +1 -0
- package/dist/models/mex/MexBankAccount.js +90 -0
- package/dist/models/mex/MexClient.d.ts +88 -0
- package/dist/models/mex/MexClient.d.ts.map +1 -0
- package/dist/models/mex/MexClient.js +133 -0
- package/dist/models/mex/MexDocument.d.ts +415 -0
- package/dist/models/mex/MexDocument.d.ts.map +1 -0
- package/dist/models/mex/MexDocument.js +687 -0
- package/dist/models/mex/MexReport.d.ts +50 -0
- package/dist/models/mex/MexReport.d.ts.map +1 -0
- package/dist/models/mex/MexReport.js +73 -0
- package/dist/models/mex/MexReportItem.d.ts +39 -0
- package/dist/models/mex/MexReportItem.d.ts.map +1 -0
- package/dist/models/mex/MexReportItem.js +50 -0
- package/dist/models/mex/MexTransaction.d.ts +53 -0
- package/dist/models/mex/MexTransaction.d.ts.map +1 -0
- package/dist/models/mex/MexTransaction.js +78 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts +37 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.js +46 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts +38 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.js +39 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts +38 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.js +39 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts +29 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.js +37 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts +43 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.js +59 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts +53 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.js +75 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts +56 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.js +63 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts +67 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.js +136 -0
- package/dist/models/mex/actividad-vulnerable/index.d.ts +20 -0
- package/dist/models/mex/actividad-vulnerable/index.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/index.js +25 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts +39 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.js +53 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts +53 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.js +75 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts +56 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.js +63 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts +85 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.js +152 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts +39 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.js +53 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts +53 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.js +75 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts +56 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.js +63 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts +53 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts.map +1 -0
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.js +82 -0
- package/dist/models/mex/index.d.ts +12 -0
- package/dist/models/mex/index.d.ts.map +1 -0
- package/dist/models/mex/index.js +20 -0
- package/dist/models/types.d.ts +81 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +6 -0
- package/dist/namespaces/index.d.ts +25 -0
- package/dist/namespaces/index.d.ts.map +1 -0
- package/dist/namespaces/index.js +27 -0
- package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts +322 -0
- package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts.map +1 -0
- package/dist/namespaces/mexico/actividad-vulnerable/avi/index.js +42 -0
- package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts +1361 -0
- package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts.map +1 -0
- package/dist/namespaces/mexico/actividad-vulnerable/index.js +53 -0
- package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts +454 -0
- package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts.map +1 -0
- package/dist/namespaces/mexico/actividad-vulnerable/jys/index.js +52 -0
- package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts +162 -0
- package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts.map +1 -0
- package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.js +40 -0
- package/dist/namespaces/mexico/index.d.ts +2481 -0
- package/dist/namespaces/mexico/index.d.ts.map +1 -0
- package/dist/namespaces/mexico/index.js +140 -0
- package/dist/resources/addresses.d.ts +171 -0
- package/dist/resources/addresses.d.ts.map +1 -0
- package/dist/resources/addresses.js +208 -0
- package/dist/resources/bank-accounts.d.ts +174 -0
- package/dist/resources/bank-accounts.d.ts.map +1 -0
- package/dist/resources/bank-accounts.js +220 -0
- package/dist/resources/base.d.ts +192 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/base.js +205 -0
- package/dist/resources/clients.d.ts +446 -0
- package/dist/resources/clients.d.ts.map +1 -0
- package/dist/resources/clients.js +448 -0
- package/dist/resources/contact-methods.d.ts +176 -0
- package/dist/resources/contact-methods.d.ts.map +1 -0
- package/dist/resources/contact-methods.js +215 -0
- package/dist/resources/documents.d.ts +340 -0
- package/dist/resources/documents.d.ts.map +1 -0
- package/dist/resources/documents.js +447 -0
- package/dist/resources/index.d.ts +23 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +25 -0
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +165 -0
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/avi/clients.js +317 -0
- package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts +7 -0
- package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/avi/index.js +6 -0
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +152 -0
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/avi/reports.js +401 -0
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +89 -0
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +252 -0
- package/dist/resources/mex/actividad-vulnerable/index.d.ts +7 -0
- package/dist/resources/mex/actividad-vulnerable/index.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/index.js +9 -0
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +119 -0
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/jys/clients.js +231 -0
- package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts +7 -0
- package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/jys/index.js +6 -0
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +132 -0
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/jys/reports.js +381 -0
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +93 -0
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +253 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +119 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +231 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts +7 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/index.js +6 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +132 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +381 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +90 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -0
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +259 -0
- package/dist/resources/mex/addresses.d.ts +143 -0
- package/dist/resources/mex/addresses.d.ts.map +1 -0
- package/dist/resources/mex/addresses.js +328 -0
- package/dist/resources/mex/bank-accounts.d.ts +107 -0
- package/dist/resources/mex/bank-accounts.d.ts.map +1 -0
- package/dist/resources/mex/bank-accounts.js +163 -0
- package/dist/resources/mex/clients.d.ts +195 -0
- package/dist/resources/mex/clients.d.ts.map +1 -0
- package/dist/resources/mex/clients.js +454 -0
- package/dist/resources/mex/ebr.d.ts +213 -0
- package/dist/resources/mex/ebr.d.ts.map +1 -0
- package/dist/resources/mex/ebr.js +417 -0
- package/dist/resources/mex/index.d.ts +11 -0
- package/dist/resources/mex/index.d.ts.map +1 -0
- package/dist/resources/mex/index.js +12 -0
- package/dist/resources/mex/reports.d.ts +226 -0
- package/dist/resources/mex/reports.d.ts.map +1 -0
- package/dist/resources/mex/reports.js +440 -0
- package/dist/resources/mex/transactions.d.ts +125 -0
- package/dist/resources/mex/transactions.d.ts.map +1 -0
- package/dist/resources/mex/transactions.js +274 -0
- package/dist/resources/reports.d.ts +211 -0
- package/dist/resources/reports.d.ts.map +1 -0
- package/dist/resources/reports.js +308 -0
- package/dist/resources/transactions.d.ts +142 -0
- package/dist/resources/transactions.d.ts.map +1 -0
- package/dist/resources/transactions.js +221 -0
- package/dist/sdk/ComplianceSDK.d.ts +459 -0
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -0
- package/dist/sdk/ComplianceSDK.js +528 -0
- package/dist/sdk/base.d.ts +17 -0
- package/dist/sdk/base.d.ts.map +1 -0
- package/dist/sdk/base.js +22 -0
- package/dist/sdk/index.d.ts +18 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +43 -0
- package/dist/{ComplianceSDK-BgzIwSsY.d.cts → sdk/mex/ComplianceSDK.d.ts} +16 -7
- package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -0
- package/dist/{ComplianceSDK-DoIZOSJq.d.ts → sdk/mex/ComplianceSDK.js} +26 -11
- package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts +44 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.js +39 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts +8 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/index.js +9 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts +35 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/avi/types.js +20 -0
- package/dist/sdk/mex/actividad-vulnerable/index.d.ts +13 -0
- package/dist/sdk/mex/actividad-vulnerable/index.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/index.js +31 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts +44 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.js +39 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts +8 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/index.js +9 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts +35 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/types.js +20 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts +44 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.js +39 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts +8 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/index.js +9 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts +35 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts.map +1 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.js +20 -0
- package/dist/sdk/mex/index.d.ts +13 -0
- package/dist/sdk/mex/index.d.ts.map +1 -0
- package/dist/sdk/mex/index.js +38 -0
- package/dist/sdk/mex/types.d.ts +57 -0
- package/dist/sdk/mex/types.d.ts.map +1 -0
- package/dist/sdk/mex/types.js +7 -0
- package/dist/sdk/resource-registry.d.ts +118 -0
- package/dist/sdk/resource-registry.d.ts.map +1 -0
- package/dist/sdk/resource-registry.js +145 -0
- package/dist/sdk/sdk-registry.d.ts +59 -0
- package/dist/sdk/sdk-registry.d.ts.map +1 -0
- package/dist/sdk/sdk-registry.js +82 -0
- package/dist/sdk/types.d.ts +232 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +42 -0
- package/dist/utils/environment.d.ts +126 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/environment.js +148 -0
- package/dist/utils/filters.d.ts +338 -0
- package/dist/utils/filters.d.ts.map +1 -0
- package/dist/utils/filters.js +373 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +43 -0
- package/dist/utils/pagination.d.ts +85 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +120 -0
- package/dist/utils/session.d.ts +173 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +58 -0
- package/dist/utils/trpc-client.d.ts +19507 -0
- package/dist/utils/trpc-client.d.ts.map +1 -0
- package/dist/utils/trpc-client.js +129 -0
- package/dist/utils/upload.d.ts +81 -0
- package/dist/utils/upload.d.ts.map +1 -0
- package/dist/utils/upload.js +261 -0
- package/package.json +17 -27
- package/src/errors/api.ts +305 -0
- package/src/errors/base.ts +127 -0
- package/src/errors/index.ts +63 -0
- package/src/errors/upload.ts +204 -0
- package/src/errors/validation.ts +163 -0
- package/src/exports/base.ts +139 -0
- package/src/exports/index.ts +187 -0
- package/src/exports/mexico/actividad-vulnerable/avi.ts +207 -0
- package/src/exports/mexico/actividad-vulnerable/jys.ts +214 -0
- package/src/exports/mexico/actividad-vulnerable/tsc.ts +202 -0
- package/src/exports/mexico/index.ts +215 -0
- package/src/models/Address.ts +235 -0
- package/src/models/BankAccount.ts +235 -0
- package/src/models/Client.ts +363 -0
- package/src/models/ContactMethod.ts +197 -0
- package/src/models/Document.ts +355 -0
- package/src/models/LinkedClient.ts +84 -0
- package/src/models/Report.ts +193 -0
- package/src/models/ReportItem.ts +211 -0
- package/src/models/Transaction.ts +219 -0
- package/src/models/base.ts +56 -0
- package/src/models/index.ts +148 -0
- package/src/models/mex/MexAddress.ts +184 -0
- package/src/models/mex/MexBankAccount.ts +121 -0
- package/src/models/mex/MexClient.ts +177 -0
- package/src/models/mex/MexDocument.ts +890 -0
- package/src/models/mex/MexReport.ts +99 -0
- package/src/models/mex/MexReportItem.ts +79 -0
- package/src/models/mex/MexTransaction.ts +105 -0
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableClient.ts +66 -0
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReport.ts +73 -0
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +74 -0
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.ts +50 -0
- package/src/models/mex/actividad-vulnerable/avi/MexAVIClient.ts +80 -0
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReport.ts +114 -0
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +105 -0
- package/src/models/mex/actividad-vulnerable/avi/MexAVITransaction.ts +157 -0
- package/src/models/mex/actividad-vulnerable/index.ts +78 -0
- package/src/models/mex/actividad-vulnerable/jys/MexJYSClient.ts +73 -0
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReport.ts +114 -0
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +105 -0
- package/src/models/mex/actividad-vulnerable/jys/MexJYSTransaction.ts +178 -0
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCClient.ts +73 -0
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReport.ts +114 -0
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +105 -0
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.ts +104 -0
- package/src/models/mex/index.ts +57 -0
- package/src/models/types.ts +196 -0
- package/src/namespaces/index.ts +29 -0
- package/src/namespaces/mexico/actividad-vulnerable/avi/index.ts +62 -0
- package/src/namespaces/mexico/actividad-vulnerable/index.ts +79 -0
- package/src/namespaces/mexico/actividad-vulnerable/jys/index.ts +72 -0
- package/src/namespaces/mexico/actividad-vulnerable/tsc/index.ts +60 -0
- package/src/namespaces/mexico/index.ts +325 -0
- package/src/resources/addresses.ts +391 -0
- package/src/resources/bank-accounts.ts +417 -0
- package/src/resources/base.ts +327 -0
- package/src/resources/clients.ts +808 -0
- package/src/resources/contact-methods.ts +412 -0
- package/src/resources/documents.ts +688 -0
- package/src/resources/index.ts +40 -0
- package/src/resources/mex/actividad-vulnerable/avi/clients.ts +559 -0
- package/src/resources/mex/actividad-vulnerable/avi/index.ts +7 -0
- package/src/resources/mex/actividad-vulnerable/avi/reports.ts +609 -0
- package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +404 -0
- package/src/resources/mex/actividad-vulnerable/index.ts +12 -0
- package/src/resources/mex/actividad-vulnerable/jys/clients.ts +445 -0
- package/src/resources/mex/actividad-vulnerable/jys/index.ts +7 -0
- package/src/resources/mex/actividad-vulnerable/jys/reports.ts +591 -0
- package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +395 -0
- package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +445 -0
- package/src/resources/mex/actividad-vulnerable/tsc/index.ts +7 -0
- package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +591 -0
- package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +404 -0
- package/src/resources/mex/addresses.ts +493 -0
- package/src/resources/mex/bank-accounts.ts +283 -0
- package/src/resources/mex/clients.ts +758 -0
- package/src/resources/mex/ebr.ts +621 -0
- package/src/resources/mex/index.ts +23 -0
- package/src/resources/mex/reports.ts +643 -0
- package/src/resources/mex/transactions.ts +422 -0
- package/src/resources/reports.ts +515 -0
- package/src/resources/transactions.ts +358 -0
- package/src/sdk/ComplianceSDK.ts +812 -0
- package/src/sdk/base.ts +43 -0
- package/src/sdk/index.ts +98 -0
- package/src/sdk/mex/ComplianceSDK.ts +147 -0
- package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +55 -0
- package/src/sdk/mex/actividad-vulnerable/avi/index.ts +16 -0
- package/src/sdk/mex/actividad-vulnerable/avi/types.ts +86 -0
- package/src/sdk/mex/actividad-vulnerable/index.ts +58 -0
- package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +54 -0
- package/src/sdk/mex/actividad-vulnerable/jys/index.ts +16 -0
- package/src/sdk/mex/actividad-vulnerable/jys/types.ts +86 -0
- package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +54 -0
- package/src/sdk/mex/actividad-vulnerable/tsc/index.ts +16 -0
- package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +86 -0
- package/src/sdk/mex/index.ts +66 -0
- package/src/sdk/mex/types.ts +88 -0
- package/src/sdk/resource-registry.ts +204 -0
- package/src/sdk/sdk-registry.ts +99 -0
- package/src/sdk/types.ts +304 -0
- package/src/utils/environment.ts +187 -0
- package/src/utils/filters.ts +412 -0
- package/src/utils/index.ts +134 -0
- package/src/utils/pagination.ts +143 -0
- package/src/utils/session.ts +303 -0
- package/src/utils/trpc-client.ts +242 -0
- package/src/utils/upload.ts +388 -0
- package/dist/chunk-2CIR32CT.cjs +0 -22972
- package/dist/chunk-2CIR32CT.cjs.map +0 -1
- package/dist/chunk-5FXVLHD3.js +0 -23
- package/dist/chunk-5FXVLHD3.js.map +0 -1
- package/dist/chunk-62M35I6I.js +0 -249
- package/dist/chunk-62M35I6I.js.map +0 -1
- package/dist/chunk-ARI5WM5X.js +0 -22819
- package/dist/chunk-ARI5WM5X.js.map +0 -1
- package/dist/chunk-B75YW6BN.cjs +0 -26
- package/dist/chunk-B75YW6BN.cjs.map +0 -1
- package/dist/chunk-F6THYYF5.cjs +0 -26
- package/dist/chunk-F6THYYF5.cjs.map +0 -1
- package/dist/chunk-HAEBRF5N.js +0 -23
- package/dist/chunk-HAEBRF5N.js.map +0 -1
- package/dist/chunk-HEGTPUIS.cjs +0 -26
- package/dist/chunk-HEGTPUIS.cjs.map +0 -1
- package/dist/chunk-TYXYZ3WV.js +0 -23
- package/dist/chunk-TYXYZ3WV.js.map +0 -1
- package/dist/chunk-ZFW24DFL.cjs +0 -261
- package/dist/chunk-ZFW24DFL.cjs.map +0 -1
- package/dist/filters-UX1_wF2Z.d.cts +0 -6460
- package/dist/filters-UX1_wF2Z.d.ts +0 -6460
- package/dist/index-6dNlw8uP.d.cts +0 -2866
- package/dist/index-CUIwWk-y.d.ts +0 -2866
- package/dist/index.cjs +0 -417
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -9
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -28
- package/dist/index.js.map +0 -1
- package/dist/mexico/actividad-vulnerable/avi.cjs +0 -320
- package/dist/mexico/actividad-vulnerable/avi.cjs.map +0 -1
- package/dist/mexico/actividad-vulnerable/avi.d.cts +0 -680
- package/dist/mexico/actividad-vulnerable/avi.js +0 -55
- package/dist/mexico/actividad-vulnerable/avi.js.map +0 -1
- package/dist/mexico/actividad-vulnerable/jys.cjs +0 -330
- package/dist/mexico/actividad-vulnerable/jys.cjs.map +0 -1
- package/dist/mexico/actividad-vulnerable/jys.d.cts +0 -746
- package/dist/mexico/actividad-vulnerable/jys.js +0 -65
- package/dist/mexico/actividad-vulnerable/jys.js.map +0 -1
- package/dist/mexico/actividad-vulnerable/tsc.cjs +0 -318
- package/dist/mexico/actividad-vulnerable/tsc.cjs.map +0 -1
- package/dist/mexico/actividad-vulnerable/tsc.d.cts +0 -600
- package/dist/mexico/actividad-vulnerable/tsc.js +0 -53
- package/dist/mexico/actividad-vulnerable/tsc.js.map +0 -1
- package/dist/mexico/index.cjs +0 -384
- package/dist/mexico/index.cjs.map +0 -1
- package/dist/mexico/index.d.cts +0 -1422
- package/dist/mexico/index.d.ts +0 -1422
- package/dist/mexico/index.js +0 -7
- package/dist/mexico/index.js.map +0 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports Resource
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations, report items management, validation, and generation.
|
|
5
|
+
*
|
|
6
|
+
* This is the base (unscoped) resource. For jurisdiction-scoped SDKs, use:
|
|
7
|
+
* - MexReportsResource - Mexico-scoped with flattened MX fields
|
|
8
|
+
* - AVIReportsResource - Mexico AVI-scoped with flattened AVI fields
|
|
9
|
+
* - JYSReportsResource - Mexico JYS-scoped with flattened JYS fields
|
|
10
|
+
* - TSCReportsResource - Mexico TSC-scoped with flattened TSC fields
|
|
11
|
+
*/
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { createReportInputSchema, updateReportInputSchema, updateReportStatusInputSchema, createReportItemInputSchema, updateReportItemInputSchema, reportDefaultsInputSchema, submitReportInputSchema, } from "@artu-ai/shared";
|
|
14
|
+
import { BaseResource } from "./base";
|
|
15
|
+
import { Report, ReportItem, } from "../models";
|
|
16
|
+
// ===========================
|
|
17
|
+
// ReportsResource
|
|
18
|
+
// ===========================
|
|
19
|
+
/**
|
|
20
|
+
* Base resource manager for report operations.
|
|
21
|
+
*
|
|
22
|
+
* Provides:
|
|
23
|
+
* - CRUD operations (create, retrieve, update, delete)
|
|
24
|
+
* - Report items management (add, update, remove items)
|
|
25
|
+
* - Validation and generation
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // Create a report with full nested format
|
|
30
|
+
* const report = await sdk.reports.create({
|
|
31
|
+
* jurisdictions: {
|
|
32
|
+
* MX: {
|
|
33
|
+
* actividadVulnerable: {
|
|
34
|
+
* AVI: { mesReportado: "202401" }
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Add items to the report
|
|
41
|
+
* await sdk.reports.addItem(report.id, {
|
|
42
|
+
* transactionId: "txn_123",
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // Validate the report
|
|
46
|
+
* const result = await sdk.reports.validate(report.id);
|
|
47
|
+
* if (result.valid) {
|
|
48
|
+
* // Generate XML
|
|
49
|
+
* const xml = await sdk.reports.generate(report.id);
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export class ReportsResource extends BaseResource {
|
|
54
|
+
// ─────────────────────────────────────────────────────────────────
|
|
55
|
+
// Report CRUD
|
|
56
|
+
// ─────────────────────────────────────────────────────────────────
|
|
57
|
+
/**
|
|
58
|
+
* Creates a new report.
|
|
59
|
+
*
|
|
60
|
+
* @param data - Report creation data in nested format
|
|
61
|
+
* @returns The created report model
|
|
62
|
+
*/
|
|
63
|
+
async create(data) {
|
|
64
|
+
const validated = this.validate(createReportInputSchema, data);
|
|
65
|
+
const response = await this.execute(() => this.trpc.reports.create.mutate(validated));
|
|
66
|
+
return this.instantiate(response);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves a report by ID.
|
|
70
|
+
*/
|
|
71
|
+
async retrieve(id) {
|
|
72
|
+
const response = await this.execute(() => this.trpc.reports.retrieve.query({ id }));
|
|
73
|
+
return this.instantiate(response);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Retrieves a report by metadata key/value.
|
|
77
|
+
*/
|
|
78
|
+
async retrieveByMetadata(key, value) {
|
|
79
|
+
const response = await this.execute(() => this.trpc.reports.retrieveByMetadata.query({ key, value }));
|
|
80
|
+
return this.instantiate(response);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Retrieves a report by externalId.
|
|
84
|
+
*/
|
|
85
|
+
async retrieveByExternalId(externalId) {
|
|
86
|
+
const response = await this.execute(() => this.trpc.reports.retrieveByExternalId.query({ externalId }));
|
|
87
|
+
return this.instantiate(response);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Updates a report.
|
|
91
|
+
*/
|
|
92
|
+
async update(id, data) {
|
|
93
|
+
const validated = this.validate(updateReportInputSchema, data);
|
|
94
|
+
const response = await this.execute(() => this.trpc.reports.update.mutate({ id, data: validated }));
|
|
95
|
+
return this.instantiate(response);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Updates a report's status.
|
|
99
|
+
*
|
|
100
|
+
* Restrictions:
|
|
101
|
+
* - Can only manually set to: Draft
|
|
102
|
+
* - Cannot change from: Accepted (terminal), Submitted (awaiting response)
|
|
103
|
+
*
|
|
104
|
+
* Use this to reset a report back to Draft status for re-editing.
|
|
105
|
+
*/
|
|
106
|
+
async updateStatus(id, data) {
|
|
107
|
+
const validated = this.validate(updateReportStatusInputSchema, data);
|
|
108
|
+
const response = await this.execute(() => this.trpc.reports.updateStatus.mutate({ id, data: validated }));
|
|
109
|
+
return this.instantiate(response);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Deletes a report.
|
|
113
|
+
*/
|
|
114
|
+
async delete(id) {
|
|
115
|
+
await this.execute(() => this.trpc.reports.delete.mutate({ id }));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Lists reports with optional filtering and pagination.
|
|
119
|
+
*/
|
|
120
|
+
async list(options) {
|
|
121
|
+
const response = await this.execute(() => this.trpc.reports.list.query(options));
|
|
122
|
+
return {
|
|
123
|
+
data: response.data.map((r) => this.instantiate(r)),
|
|
124
|
+
pagination: response.pagination,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Returns an async iterator over all reports matching the filter.
|
|
129
|
+
*/
|
|
130
|
+
iterate(filter) {
|
|
131
|
+
return this.createIterator({ filter });
|
|
132
|
+
}
|
|
133
|
+
// ─────────────────────────────────────────────────────────────────
|
|
134
|
+
// Report Items
|
|
135
|
+
// ─────────────────────────────────────────────────────────────────
|
|
136
|
+
/**
|
|
137
|
+
* Adds an item to a report.
|
|
138
|
+
*/
|
|
139
|
+
async addItem(reportId, data) {
|
|
140
|
+
const validated = this.validate(createReportItemInputSchema, data);
|
|
141
|
+
const response = await this.execute(() => this.trpc.reports.addItem.mutate({ reportId, data: validated }));
|
|
142
|
+
return this.instantiateItem(response);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Gets a specific report item.
|
|
146
|
+
*/
|
|
147
|
+
async getItem(reportId, itemId) {
|
|
148
|
+
const response = await this.execute(() => this.trpc.reports.getItem.query({ reportId, itemId }));
|
|
149
|
+
return this.instantiateItem(response);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Updates a report item.
|
|
153
|
+
*/
|
|
154
|
+
async updateItem(reportId, itemId, data) {
|
|
155
|
+
const validated = this.validate(updateReportItemInputSchema, data);
|
|
156
|
+
const response = await this.execute(() => this.trpc.reports.updateItem.mutate({ reportId, itemId, data: validated }));
|
|
157
|
+
return this.instantiateItem(response);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Removes an item from a report.
|
|
161
|
+
*/
|
|
162
|
+
async removeItem(reportId, itemId) {
|
|
163
|
+
await this.execute(() => this.trpc.reports.removeItem.mutate({ reportId, itemId }));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Lists items in a report with filtering, sorting, and pagination.
|
|
167
|
+
*/
|
|
168
|
+
async listItems(reportId, options) {
|
|
169
|
+
const response = await this.execute(() => this.trpc.reports.listItems.query({
|
|
170
|
+
reportId,
|
|
171
|
+
...options,
|
|
172
|
+
}));
|
|
173
|
+
return {
|
|
174
|
+
data: response.data.map((i) => this.instantiateItem(i)),
|
|
175
|
+
pagination: response.pagination,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Adds multiple items to a report.
|
|
180
|
+
* Validates all items upfront - fails fast if any item is invalid.
|
|
181
|
+
*/
|
|
182
|
+
async addItems(reportId, items) {
|
|
183
|
+
const validated = this.validate(z.array(createReportItemInputSchema), items);
|
|
184
|
+
const response = await this.execute(() => this.trpc.reports.addItems.mutate({ reportId, items: validated }));
|
|
185
|
+
return {
|
|
186
|
+
added: response.added,
|
|
187
|
+
items: response.items.map((i) => this.instantiateItem(i)),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Removes multiple items from a report.
|
|
192
|
+
*/
|
|
193
|
+
async removeItems(reportId, itemIds) {
|
|
194
|
+
return this.execute(() => this.trpc.reports.removeItems.mutate({ reportId, itemIds }));
|
|
195
|
+
}
|
|
196
|
+
// ─────────────────────────────────────────────────────────────────
|
|
197
|
+
// Validation & Generation
|
|
198
|
+
// ─────────────────────────────────────────────────────────────────
|
|
199
|
+
/**
|
|
200
|
+
* Validates a report and its items.
|
|
201
|
+
*
|
|
202
|
+
* Requires jurisdiction-specific defaults.
|
|
203
|
+
* For scoped SDKs, use the scoped resource which provides a simpler API.
|
|
204
|
+
*
|
|
205
|
+
* @param reportId - The report ID to validate
|
|
206
|
+
* @param defaults - Jurisdiction-specific defaults for validation
|
|
207
|
+
*/
|
|
208
|
+
async validateReport(reportId, defaults) {
|
|
209
|
+
const validated = this.validate(reportDefaultsInputSchema, defaults);
|
|
210
|
+
return this.execute(() => this.trpc.reports.validate.mutate({ reportId, ...validated }));
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Validates and generates the report output (e.g., XML for Mexico reports).
|
|
214
|
+
*
|
|
215
|
+
* Performs validation first:
|
|
216
|
+
* - If validation fails, returns `{ status: "validation_failed", validation: {...} }`
|
|
217
|
+
* - If validation passes, returns `{ status: "success", xml: "...", ... }`
|
|
218
|
+
*
|
|
219
|
+
* Use `validateReport` for dry-run/preview validation without generating XML.
|
|
220
|
+
*
|
|
221
|
+
* @param reportId - The report ID to generate
|
|
222
|
+
* @param defaults - Jurisdiction-specific defaults for generation
|
|
223
|
+
* @returns GenerateResult with status "success" or "validation_failed"
|
|
224
|
+
*/
|
|
225
|
+
async generateReport(reportId, defaults) {
|
|
226
|
+
const validated = this.validate(reportDefaultsInputSchema, defaults);
|
|
227
|
+
return this.execute(() => this.trpc.reports.generate.mutate({ reportId, ...validated }));
|
|
228
|
+
}
|
|
229
|
+
// ─────────────────────────────────────────────────────────────────
|
|
230
|
+
// Submission
|
|
231
|
+
// ─────────────────────────────────────────────────────────────────
|
|
232
|
+
/**
|
|
233
|
+
* Submits a validated report.
|
|
234
|
+
*
|
|
235
|
+
* The report must be in "valid" status. After submission, the report
|
|
236
|
+
* is locked and cannot be edited.
|
|
237
|
+
*
|
|
238
|
+
* @param reportId - The report ID
|
|
239
|
+
* @param input - Submission data with jurisdiction-specific structure
|
|
240
|
+
*/
|
|
241
|
+
async submit(input) {
|
|
242
|
+
const validated = this.validate(submitReportInputSchema, input);
|
|
243
|
+
return this.execute(() => this.trpc.reports.submit.mutate(validated));
|
|
244
|
+
}
|
|
245
|
+
async createMany(reports, options = {}) {
|
|
246
|
+
const atomic = options.atomic ?? true;
|
|
247
|
+
const validated = this.validate(z.array(createReportInputSchema), reports);
|
|
248
|
+
const response = await this.execute(() => this.trpc.reports.createMany.mutate({ items: validated, atomic }));
|
|
249
|
+
if (response.atomic) {
|
|
250
|
+
return {
|
|
251
|
+
atomic: true,
|
|
252
|
+
data: response.data.map((r) => this.instantiate(r)),
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
return {
|
|
257
|
+
atomic: false,
|
|
258
|
+
succeeded: response.succeeded.map((item) => ({
|
|
259
|
+
index: item.index,
|
|
260
|
+
data: this.instantiate(item.data),
|
|
261
|
+
})),
|
|
262
|
+
failed: response.failed,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
async updateMany(updates, options = {}) {
|
|
267
|
+
const atomic = options.atomic ?? true;
|
|
268
|
+
const updateItemSchema = z.object({
|
|
269
|
+
id: z.uuid(),
|
|
270
|
+
data: updateReportInputSchema,
|
|
271
|
+
});
|
|
272
|
+
const validated = this.validate(z.array(updateItemSchema), updates);
|
|
273
|
+
const response = await this.execute(() => this.trpc.reports.updateMany.mutate({ items: validated, atomic }));
|
|
274
|
+
if (response.atomic) {
|
|
275
|
+
return {
|
|
276
|
+
atomic: true,
|
|
277
|
+
data: response.data.map((r) => this.instantiate(r)),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
return {
|
|
282
|
+
atomic: false,
|
|
283
|
+
succeeded: response.succeeded.map((item) => ({
|
|
284
|
+
index: item.index,
|
|
285
|
+
data: this.instantiate(item.data),
|
|
286
|
+
})),
|
|
287
|
+
failed: response.failed,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
// ─────────────────────────────────────────────────────────────────
|
|
292
|
+
// Instantiation (protected for subclasses to override)
|
|
293
|
+
// ─────────────────────────────────────────────────────────────────
|
|
294
|
+
/**
|
|
295
|
+
* Instantiates a Report model from API response data.
|
|
296
|
+
* Subclasses override this to return their specific model type.
|
|
297
|
+
*/
|
|
298
|
+
instantiate(data) {
|
|
299
|
+
return new Report(data);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Instantiates a ReportItem model from API response data.
|
|
303
|
+
* Subclasses override this to return their specific model type.
|
|
304
|
+
*/
|
|
305
|
+
instantiateItem(data) {
|
|
306
|
+
return new ReportItem(data);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transactions Resource
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations, filtering, pagination, and client relationships.
|
|
5
|
+
*
|
|
6
|
+
* This is the base (unscoped) resource. For jurisdiction-scoped SDKs, use:
|
|
7
|
+
* - MexTransactionsResource - Mexico-scoped with flattened MX fields
|
|
8
|
+
* - AVITransactionsResource - Mexico AVI-scoped with flattened AVI fields
|
|
9
|
+
* - JYSTransactionsResource - Mexico JYS-scoped with flattened JYS fields
|
|
10
|
+
* - TSCTransactionsResource - Mexico TSC-scoped with flattened TSC fields
|
|
11
|
+
*/
|
|
12
|
+
import type { CreateTransactionInput, UpdateTransactionInput, TransactionFilter, TransactionSort, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, RelatedClient } from "@artu-ai/shared";
|
|
13
|
+
import { ClientRole } from "@artu-ai/shared";
|
|
14
|
+
import { BaseResource } from "./base";
|
|
15
|
+
import { Transaction, type TransactionData } from "../models";
|
|
16
|
+
/**
|
|
17
|
+
* Base resource manager for transaction operations.
|
|
18
|
+
*
|
|
19
|
+
* Provides:
|
|
20
|
+
* - CRUD operations (create, retrieve, update, delete)
|
|
21
|
+
* - Filtering and pagination
|
|
22
|
+
* - Client relationship management (linkClient, unlinkClient)
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Create a transaction with full nested format
|
|
27
|
+
* const txn = await sdk.transactions.create({
|
|
28
|
+
* amount: 50000,
|
|
29
|
+
* currency: "MXN",
|
|
30
|
+
* primaryJurisdiction: "MX",
|
|
31
|
+
* relatedClientIds: ["client_sender"],
|
|
32
|
+
* timestamp: new Date(),
|
|
33
|
+
* jurisdictions: {
|
|
34
|
+
* MX: { actividadVulnerable: { AVI: { ... } } },
|
|
35
|
+
* },
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* // List with filtering
|
|
39
|
+
* const { data, pagination } = await sdk.transactions.list({
|
|
40
|
+
* filter: { status: "completed" },
|
|
41
|
+
* limit: 20,
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class TransactionsResource<TSort = TransactionSort> extends BaseResource<Transaction, CreateTransactionInput, UpdateTransactionInput, TransactionFilter, TSort> {
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new transaction.
|
|
48
|
+
*
|
|
49
|
+
* @param data - Transaction creation data in nested format
|
|
50
|
+
* @returns The created transaction model
|
|
51
|
+
*/
|
|
52
|
+
create(data: CreateTransactionInput): Promise<Transaction>;
|
|
53
|
+
/**
|
|
54
|
+
* Retrieves a transaction by ID.
|
|
55
|
+
*/
|
|
56
|
+
retrieve(id: string): Promise<Transaction>;
|
|
57
|
+
/**
|
|
58
|
+
* Retrieves a transaction by metadata key/value.
|
|
59
|
+
*/
|
|
60
|
+
retrieveByMetadata(key: string, value: string): Promise<Transaction>;
|
|
61
|
+
/**
|
|
62
|
+
* Retrieves a transaction by externalId.
|
|
63
|
+
*/
|
|
64
|
+
retrieveByExternalId(externalId: string): Promise<Transaction>;
|
|
65
|
+
/**
|
|
66
|
+
* Updates a transaction.
|
|
67
|
+
*/
|
|
68
|
+
update(id: string, data: UpdateTransactionInput): Promise<Transaction>;
|
|
69
|
+
/**
|
|
70
|
+
* Deletes a transaction (soft delete).
|
|
71
|
+
*/
|
|
72
|
+
delete(id: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Lists transactions with optional filtering and pagination.
|
|
75
|
+
*/
|
|
76
|
+
list(options?: ListOptions<TransactionFilter, TSort>): Promise<PaginatedResponse<Transaction>>;
|
|
77
|
+
/**
|
|
78
|
+
* Lists all transactions for a specific client.
|
|
79
|
+
*
|
|
80
|
+
* @param clientId - The client ID
|
|
81
|
+
* @param options - Optional pagination options
|
|
82
|
+
* @returns Paginated list of Transactions
|
|
83
|
+
*/
|
|
84
|
+
listByClient(clientId: string, options?: {
|
|
85
|
+
cursor?: string;
|
|
86
|
+
limit?: number;
|
|
87
|
+
}): Promise<PaginatedResponse<Transaction>>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns an async iterator over all transactions matching the filter.
|
|
90
|
+
*/
|
|
91
|
+
iterate(filter?: TransactionFilter): AsyncGenerator<Transaction, void, undefined>;
|
|
92
|
+
/**
|
|
93
|
+
* Links a client to a transaction with an optional role.
|
|
94
|
+
*/
|
|
95
|
+
linkClient(transactionId: string, clientId: string, role?: ClientRole): Promise<Transaction>;
|
|
96
|
+
/**
|
|
97
|
+
* Unlinks a client from a transaction.
|
|
98
|
+
*/
|
|
99
|
+
unlinkClient(transactionId: string, clientId: string): Promise<Transaction>;
|
|
100
|
+
/**
|
|
101
|
+
* Replaces all clients related to a transaction.
|
|
102
|
+
*/
|
|
103
|
+
setClients(transactionId: string, clients: RelatedClient[]): Promise<Transaction>;
|
|
104
|
+
/**
|
|
105
|
+
* Creates multiple transactions in a single request.
|
|
106
|
+
*
|
|
107
|
+
* @param transactions - Array of transaction creation data
|
|
108
|
+
* @param options - Batch options (atomic: true by default)
|
|
109
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
110
|
+
*/
|
|
111
|
+
createMany(transactions: CreateTransactionInput[], options?: {
|
|
112
|
+
atomic?: true;
|
|
113
|
+
}): Promise<AtomicBatchResult<Transaction>>;
|
|
114
|
+
createMany(transactions: CreateTransactionInput[], options: {
|
|
115
|
+
atomic: false;
|
|
116
|
+
}): Promise<PartialBatchResult<Transaction>>;
|
|
117
|
+
/**
|
|
118
|
+
* Updates multiple transactions in a single request.
|
|
119
|
+
*
|
|
120
|
+
* @param updates - Array of { id, data } updates
|
|
121
|
+
* @param options - Batch options (atomic: true by default)
|
|
122
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
123
|
+
*/
|
|
124
|
+
updateMany(updates: {
|
|
125
|
+
id: string;
|
|
126
|
+
data: UpdateTransactionInput;
|
|
127
|
+
}[], options?: {
|
|
128
|
+
atomic?: true;
|
|
129
|
+
}): Promise<AtomicBatchResult<Transaction>>;
|
|
130
|
+
updateMany(updates: {
|
|
131
|
+
id: string;
|
|
132
|
+
data: UpdateTransactionInput;
|
|
133
|
+
}[], options: {
|
|
134
|
+
atomic: false;
|
|
135
|
+
}): Promise<PartialBatchResult<Transaction>>;
|
|
136
|
+
/**
|
|
137
|
+
* Instantiates a Transaction model from API response data.
|
|
138
|
+
* Subclasses override this to return their specific model type.
|
|
139
|
+
*/
|
|
140
|
+
protected instantiate(data: TransactionData): Transaction;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=transactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/resources/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAM9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,oBAAoB,CAC/B,KAAK,GAAG,eAAe,CACvB,SAAQ,YAAY,CACpB,WAAW,EACX,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,CACN;IAKC;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAUhE;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOhD;;OAEG;IACG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO1E;;OAEG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOpE;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS5E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC;;OAEG;IACG,IAAI,CACR,OAAO,CAAC,EAAE,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAC9C,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAW1C;;;;;;OAMG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAW1C;;OAEG;IACH,OAAO,CACL,MAAM,CAAC,EAAE,iBAAiB,GACzB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC;IAQ/C;;OAEG;IACG,UAAU,CACd,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IAWvB;;OAEG;IACG,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC;IAUvB;;OAEG;IACG,UAAU,CACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;;;OAMG;IACG,UAAU,CACd,YAAY,EAAE,sBAAsB,EAAE,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACpC,UAAU,CACd,YAAY,EAAE,sBAAsB,EAAE,EACtC,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAgC3C;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,sBAAsB,CAAA;KAAE,EAAE,EACvD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACpC,UAAU,CACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,sBAAsB,CAAA;KAAE,EAAE,EACvD,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAsC3C;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;CAG1D"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transactions Resource
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations, filtering, pagination, and client relationships.
|
|
5
|
+
*
|
|
6
|
+
* This is the base (unscoped) resource. For jurisdiction-scoped SDKs, use:
|
|
7
|
+
* - MexTransactionsResource - Mexico-scoped with flattened MX fields
|
|
8
|
+
* - AVITransactionsResource - Mexico AVI-scoped with flattened AVI fields
|
|
9
|
+
* - JYSTransactionsResource - Mexico JYS-scoped with flattened JYS fields
|
|
10
|
+
* - TSCTransactionsResource - Mexico TSC-scoped with flattened TSC fields
|
|
11
|
+
*/
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import { createTransactionInputSchema, updateTransactionInputSchema, } from "@artu-ai/shared";
|
|
14
|
+
import { BaseResource } from "./base";
|
|
15
|
+
import { Transaction } from "../models";
|
|
16
|
+
// ===========================
|
|
17
|
+
// TransactionsResource
|
|
18
|
+
// ===========================
|
|
19
|
+
/**
|
|
20
|
+
* Base resource manager for transaction operations.
|
|
21
|
+
*
|
|
22
|
+
* Provides:
|
|
23
|
+
* - CRUD operations (create, retrieve, update, delete)
|
|
24
|
+
* - Filtering and pagination
|
|
25
|
+
* - Client relationship management (linkClient, unlinkClient)
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // Create a transaction with full nested format
|
|
30
|
+
* const txn = await sdk.transactions.create({
|
|
31
|
+
* amount: 50000,
|
|
32
|
+
* currency: "MXN",
|
|
33
|
+
* primaryJurisdiction: "MX",
|
|
34
|
+
* relatedClientIds: ["client_sender"],
|
|
35
|
+
* timestamp: new Date(),
|
|
36
|
+
* jurisdictions: {
|
|
37
|
+
* MX: { actividadVulnerable: { AVI: { ... } } },
|
|
38
|
+
* },
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* // List with filtering
|
|
42
|
+
* const { data, pagination } = await sdk.transactions.list({
|
|
43
|
+
* filter: { status: "completed" },
|
|
44
|
+
* limit: 20,
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export class TransactionsResource extends BaseResource {
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────
|
|
50
|
+
// CRUD Operations
|
|
51
|
+
// ─────────────────────────────────────────────────────────────────
|
|
52
|
+
/**
|
|
53
|
+
* Creates a new transaction.
|
|
54
|
+
*
|
|
55
|
+
* @param data - Transaction creation data in nested format
|
|
56
|
+
* @returns The created transaction model
|
|
57
|
+
*/
|
|
58
|
+
async create(data) {
|
|
59
|
+
const validated = this.validate(createTransactionInputSchema, data);
|
|
60
|
+
const response = await this.execute(() => this.trpc.transactions.create.mutate(validated));
|
|
61
|
+
return this.instantiate(response);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Retrieves a transaction by ID.
|
|
65
|
+
*/
|
|
66
|
+
async retrieve(id) {
|
|
67
|
+
const response = await this.execute(() => this.trpc.transactions.retrieve.query({ id }));
|
|
68
|
+
return this.instantiate(response);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves a transaction by metadata key/value.
|
|
72
|
+
*/
|
|
73
|
+
async retrieveByMetadata(key, value) {
|
|
74
|
+
const response = await this.execute(() => this.trpc.transactions.retrieveByMetadata.query({ key, value }));
|
|
75
|
+
return this.instantiate(response);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Retrieves a transaction by externalId.
|
|
79
|
+
*/
|
|
80
|
+
async retrieveByExternalId(externalId) {
|
|
81
|
+
const response = await this.execute(() => this.trpc.transactions.retrieveByExternalId.query({ externalId }));
|
|
82
|
+
return this.instantiate(response);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Updates a transaction.
|
|
86
|
+
*/
|
|
87
|
+
async update(id, data) {
|
|
88
|
+
const validated = this.validate(updateTransactionInputSchema, data);
|
|
89
|
+
const response = await this.execute(() => this.trpc.transactions.update.mutate({ id, data: validated }));
|
|
90
|
+
return this.instantiate(response);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Deletes a transaction (soft delete).
|
|
94
|
+
*/
|
|
95
|
+
async delete(id) {
|
|
96
|
+
await this.execute(() => this.trpc.transactions.delete.mutate({ id }));
|
|
97
|
+
}
|
|
98
|
+
// ─────────────────────────────────────────────────────────────────
|
|
99
|
+
// List & Pagination
|
|
100
|
+
// ─────────────────────────────────────────────────────────────────
|
|
101
|
+
/**
|
|
102
|
+
* Lists transactions with optional filtering and pagination.
|
|
103
|
+
*/
|
|
104
|
+
async list(options) {
|
|
105
|
+
const response = await this.execute(() => this.trpc.transactions.list.query(options));
|
|
106
|
+
return {
|
|
107
|
+
data: response.data.map((t) => this.instantiate(t)),
|
|
108
|
+
pagination: response.pagination,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Lists all transactions for a specific client.
|
|
113
|
+
*
|
|
114
|
+
* @param clientId - The client ID
|
|
115
|
+
* @param options - Optional pagination options
|
|
116
|
+
* @returns Paginated list of Transactions
|
|
117
|
+
*/
|
|
118
|
+
async listByClient(clientId, options) {
|
|
119
|
+
const response = await this.execute(() => this.trpc.transactions.listByClient.query({ clientId, ...options }));
|
|
120
|
+
return {
|
|
121
|
+
data: response.data.map((t) => this.instantiate(t)),
|
|
122
|
+
pagination: response.pagination,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Returns an async iterator over all transactions matching the filter.
|
|
127
|
+
*/
|
|
128
|
+
iterate(filter) {
|
|
129
|
+
return this.createIterator({ filter });
|
|
130
|
+
}
|
|
131
|
+
// ─────────────────────────────────────────────────────────────────
|
|
132
|
+
// Client Relationship Management
|
|
133
|
+
// ─────────────────────────────────────────────────────────────────
|
|
134
|
+
/**
|
|
135
|
+
* Links a client to a transaction with an optional role.
|
|
136
|
+
*/
|
|
137
|
+
async linkClient(transactionId, clientId, role) {
|
|
138
|
+
const response = await this.execute(() => this.trpc.transactions.linkClient.mutate({
|
|
139
|
+
transactionId,
|
|
140
|
+
clientId,
|
|
141
|
+
role,
|
|
142
|
+
}));
|
|
143
|
+
return this.instantiate(response);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Unlinks a client from a transaction.
|
|
147
|
+
*/
|
|
148
|
+
async unlinkClient(transactionId, clientId) {
|
|
149
|
+
const response = await this.execute(() => this.trpc.transactions.unlinkClient.mutate({
|
|
150
|
+
transactionId,
|
|
151
|
+
clientId,
|
|
152
|
+
}));
|
|
153
|
+
return this.instantiate(response);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Replaces all clients related to a transaction.
|
|
157
|
+
*/
|
|
158
|
+
async setClients(transactionId, clients) {
|
|
159
|
+
const response = await this.execute(() => this.trpc.transactions.setClients.mutate({
|
|
160
|
+
transactionId,
|
|
161
|
+
clients,
|
|
162
|
+
}));
|
|
163
|
+
return this.instantiate(response);
|
|
164
|
+
}
|
|
165
|
+
async createMany(transactions, options = {}) {
|
|
166
|
+
const atomic = options.atomic ?? true;
|
|
167
|
+
const validated = this.validate(z.array(createTransactionInputSchema), transactions);
|
|
168
|
+
const response = await this.execute(() => this.trpc.transactions.createMany.mutate({ items: validated, atomic }));
|
|
169
|
+
if (response.atomic) {
|
|
170
|
+
return {
|
|
171
|
+
atomic: true,
|
|
172
|
+
data: response.data.map((t) => this.instantiate(t)),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
return {
|
|
177
|
+
atomic: false,
|
|
178
|
+
succeeded: response.succeeded.map((item) => ({
|
|
179
|
+
index: item.index,
|
|
180
|
+
data: this.instantiate(item.data),
|
|
181
|
+
})),
|
|
182
|
+
failed: response.failed,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
async updateMany(updates, options = {}) {
|
|
187
|
+
const atomic = options.atomic ?? true;
|
|
188
|
+
const updateItemSchema = z.object({
|
|
189
|
+
id: z.uuid(),
|
|
190
|
+
data: updateTransactionInputSchema,
|
|
191
|
+
});
|
|
192
|
+
const validated = this.validate(z.array(updateItemSchema), updates);
|
|
193
|
+
const response = await this.execute(() => this.trpc.transactions.updateMany.mutate({ items: validated, atomic }));
|
|
194
|
+
if (response.atomic) {
|
|
195
|
+
return {
|
|
196
|
+
atomic: true,
|
|
197
|
+
data: response.data.map((t) => this.instantiate(t)),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
return {
|
|
202
|
+
atomic: false,
|
|
203
|
+
succeeded: response.succeeded.map((item) => ({
|
|
204
|
+
index: item.index,
|
|
205
|
+
data: this.instantiate(item.data),
|
|
206
|
+
})),
|
|
207
|
+
failed: response.failed,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// ─────────────────────────────────────────────────────────────────
|
|
212
|
+
// Instantiation (protected for subclasses to override)
|
|
213
|
+
// ─────────────────────────────────────────────────────────────────
|
|
214
|
+
/**
|
|
215
|
+
* Instantiates a Transaction model from API response data.
|
|
216
|
+
* Subclasses override this to return their specific model type.
|
|
217
|
+
*/
|
|
218
|
+
instantiate(data) {
|
|
219
|
+
return new Transaction(data);
|
|
220
|
+
}
|
|
221
|
+
}
|