@mbanq/core-sdk-js 0.2.0 → 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/README.md +171 -113
- package/dist/chunk-BYLL2GK4.js +1 -0
- package/dist/chunk-C5426MUQ.js +1 -0
- package/dist/chunk-I22UNKNA.mjs +1 -0
- package/dist/{chunk-MNWURBTP.mjs → chunk-TF7GWO4M.mjs} +1 -1
- package/dist/{chunk-S3G3HESY.js → chunk-WANY7FS3.js} +1 -1
- package/dist/chunk-ZPWW7X3U.mjs +1 -0
- package/dist/client/index.d.mts +1291 -3
- package/dist/client/index.d.ts +1291 -3
- package/dist/client/index.js +1 -1
- package/dist/client/index.mjs +1 -1
- package/dist/client-z_1PDcj6.d.mts +7971 -0
- package/dist/client-z_1PDcj6.d.ts +7971 -0
- package/dist/commands/index.d.mts +2 -2
- package/dist/commands/index.d.ts +2 -2
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.mjs +1 -1
- package/dist/index-BcDxuEgp.d.ts +176 -0
- package/dist/index-D3PYCZYG.d.mts +176 -0
- package/dist/index.d.mts +5 -38
- package/dist/index.d.ts +5 -38
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-MDNXUIWP.mjs +0 -1
- package/dist/chunk-S3UCKQ5Q.js +0 -1
- package/dist/chunk-SQZ4PAOL.mjs +0 -1
- package/dist/chunk-UD2TOWHP.js +0 -1
- package/dist/client-DhU5QMWd.d.mts +0 -2143
- package/dist/client-DhU5QMWd.d.ts +0 -2143
- package/dist/index-BC3pkS--.d.mts +0 -4638
- package/dist/index-BHzajnME.d.mts +0 -92
- package/dist/index-CQe-0gwX.d.ts +0 -92
- package/dist/index-UyJmi0Vg.d.ts +0 -4638
package/README.md
CHANGED
|
@@ -20,12 +20,11 @@
|
|
|
20
20
|
- [Metrics Middleware](#metrics-middleware)
|
|
21
21
|
- [Custom Middleware](#custom-middleware)
|
|
22
22
|
- [API Reference](#api-reference)
|
|
23
|
+
- [Client Operations](#client-operations)
|
|
24
|
+
- [Account Operations](#account-operations)
|
|
23
25
|
- [Payment Operations](#payment-operations)
|
|
24
|
-
- [Create Payment](#create-payment)
|
|
25
|
-
- [Get Payment](#get-payment)
|
|
26
|
-
- [Update Payment](#update-payment)
|
|
27
|
-
- [List Payments](#list-payments)
|
|
28
26
|
- [Multi-Tenant Support](#multi-tenant-support)
|
|
27
|
+
- [Documentation](#documentation)
|
|
29
28
|
- [Type Safety & Validation](#type-safety--validation)
|
|
30
29
|
- [Error Handling](#error-handling)
|
|
31
30
|
- [Examples](#examples)
|
|
@@ -341,7 +340,7 @@ const client = createClient({
|
|
|
341
340
|
The SDK provides two API patterns for different operations:
|
|
342
341
|
|
|
343
342
|
### Modern Fluent API (Recommended)
|
|
344
|
-
For payment operations, use the modern fluent API with method chaining:
|
|
343
|
+
For payment, client, and account operations, use the modern fluent API with method chaining:
|
|
345
344
|
|
|
346
345
|
```javascript
|
|
347
346
|
// Create payment
|
|
@@ -449,150 +448,209 @@ await coreSDK.request(updateTraceCommand);
|
|
|
449
448
|
|
|
450
449
|
Available transfer commands: `GetTransfers`, `CreateTransfer`, `GetTransfer`, `MarkAsSuccess`, `MarkAsProcessing`, `MarkAsReturned`, `LogFailTransfer`, `MarkAsFail`, `UpdateTraceNumber`
|
|
451
450
|
|
|
452
|
-
###
|
|
453
|
-
|
|
454
|
-
#### Create Payment
|
|
451
|
+
### Client Operations
|
|
455
452
|
|
|
456
|
-
|
|
453
|
+
The SDK provides comprehensive client management capabilities with full CRUD operations and advanced filtering. For complete documentation, see [Client API Documentation](./docs/CLIENT_API.md).
|
|
457
454
|
|
|
458
455
|
```javascript
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
// Originator (sender)
|
|
467
|
-
debtor: {
|
|
468
|
-
name: 'John Sender',
|
|
469
|
-
identifier: '123456789', // Account number
|
|
470
|
-
accountType: 'CHECKING', // Optional: CHECKING or SAVINGS
|
|
471
|
-
agent: {
|
|
472
|
-
name: 'First Bank',
|
|
473
|
-
identifier: '021000021' // Routing code
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
|
|
477
|
-
// Recipient (receiver)
|
|
478
|
-
creditor: {
|
|
479
|
-
name: 'Jane Receiver',
|
|
480
|
-
identifier: '987654321',
|
|
481
|
-
accountType: 'SAVINGS',
|
|
482
|
-
address: { // Required for WIRE transfers
|
|
483
|
-
streetAddress: '123 Main St',
|
|
484
|
-
city: 'New York',
|
|
485
|
-
state: 'NY',
|
|
486
|
-
country: 'US',
|
|
487
|
-
postalCode: '10001'
|
|
488
|
-
},
|
|
489
|
-
agent: {
|
|
490
|
-
name: 'Second Bank',
|
|
491
|
-
identifier: '121000248'
|
|
492
|
-
}
|
|
493
|
-
},
|
|
494
|
-
|
|
495
|
-
// Optional fields
|
|
496
|
-
clientId: 'client-123',
|
|
497
|
-
reference: ['Invoice-001', 'Payment-ABC'],
|
|
498
|
-
exchangeRate: 1.25,
|
|
499
|
-
chargeBearer: 'OUR', // For SWIFT: OUR, BEN, SHA
|
|
500
|
-
valueDate: '2025-01-15',
|
|
501
|
-
paymentRailMetaData: {
|
|
502
|
-
priority: 'high',
|
|
503
|
-
category: 'business'
|
|
504
|
-
}
|
|
456
|
+
// Create a new client
|
|
457
|
+
const client = await apiClient.client.create({
|
|
458
|
+
firstname: 'John',
|
|
459
|
+
lastname: 'Doe',
|
|
460
|
+
emailAddress: 'john.doe@example.com',
|
|
461
|
+
dateOfBirth: '1990-01-01',
|
|
462
|
+
locale: 'en'
|
|
505
463
|
}).execute();
|
|
506
|
-
```
|
|
507
464
|
|
|
508
|
-
|
|
465
|
+
// Get client details
|
|
466
|
+
const clientDetails = await apiClient.client.get(123).execute();
|
|
509
467
|
|
|
510
|
-
|
|
468
|
+
// List clients with filtering
|
|
469
|
+
const clients = await apiClient.client.list()
|
|
470
|
+
.where('status').eq('active')
|
|
471
|
+
.limit(10)
|
|
472
|
+
.execute();
|
|
511
473
|
|
|
512
|
-
|
|
513
|
-
const
|
|
474
|
+
// Update client information
|
|
475
|
+
const updatedClient = await apiClient.client.update(123, {
|
|
476
|
+
emailAddress: 'john.updated@example.com'
|
|
477
|
+
}).execute();
|
|
514
478
|
```
|
|
515
479
|
|
|
516
|
-
|
|
480
|
+
### Account Operations
|
|
517
481
|
|
|
518
|
-
|
|
482
|
+
Manage client accounts using the scoped account API with comprehensive CRUD operations and advanced query capabilities. For complete documentation, see [Account API Documentation](./docs/ACCOUNT_API.md).
|
|
519
483
|
|
|
520
484
|
```javascript
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
485
|
+
// List all accounts for a client
|
|
486
|
+
const accounts = await apiClient.client.for('client-123').accounts.list().execute();
|
|
487
|
+
|
|
488
|
+
// Get specific account details
|
|
489
|
+
const account = await apiClient.client.for('client-123').accounts.get(789).execute();
|
|
490
|
+
|
|
491
|
+
// Filter accounts by criteria
|
|
492
|
+
const savingsAccounts = await apiClient.client.for('client-123').accounts.list()
|
|
493
|
+
.where('productName').eq('Savings Account')
|
|
494
|
+
.execute();
|
|
495
|
+
|
|
496
|
+
// Update account settings
|
|
497
|
+
const updateResult = await apiClient.client.for('client-123').accounts.update('acc_789', {
|
|
498
|
+
nominalAnnualInterestRate: '2.5',
|
|
499
|
+
allowOverdraft: true,
|
|
500
|
+
overdraftLimit: 1000
|
|
534
501
|
}).execute();
|
|
502
|
+
|
|
503
|
+
// Delete account
|
|
504
|
+
const deleteResult = await apiClient.client.for('client-123').accounts.delete('acc_789').execute();
|
|
535
505
|
```
|
|
536
506
|
|
|
537
|
-
#### List Payments
|
|
538
507
|
|
|
539
|
-
|
|
508
|
+
### Payment Operations
|
|
509
|
+
|
|
510
|
+
The SDK provides comprehensive payment operations with support for multiple payment rails, advanced filtering, and full validation. For complete documentation, see [Payment API Documentation](./docs/PAYMENT_API.md).
|
|
540
511
|
|
|
541
512
|
```javascript
|
|
542
|
-
//
|
|
543
|
-
const
|
|
513
|
+
// Create payment
|
|
514
|
+
const payment = await client.for('tenant-123').payment.create({
|
|
515
|
+
originatorName: "John Doe",
|
|
516
|
+
originatorAccount: "123456789",
|
|
517
|
+
originatorBankRoutingCode: "021000021",
|
|
518
|
+
recipientName: "Jane Smith",
|
|
519
|
+
recipientAccount: "987654321",
|
|
520
|
+
recipientBankRoutingCode: "021000021",
|
|
521
|
+
amount: 1000.50,
|
|
522
|
+
currency: "USD",
|
|
523
|
+
paymentRail: "ACH",
|
|
524
|
+
paymentType: "CREDIT",
|
|
525
|
+
reference: "Invoice #12345"
|
|
526
|
+
});
|
|
544
527
|
|
|
545
|
-
//
|
|
546
|
-
const
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
528
|
+
// Get payment
|
|
529
|
+
const payment = await client.for('tenant-123').payment.get(12345);
|
|
530
|
+
|
|
531
|
+
// Update payment
|
|
532
|
+
const updated = await client.for('tenant-123').payment.update(12345, {
|
|
533
|
+
reference: "Updated reference"
|
|
534
|
+
});
|
|
535
|
+
|
|
536
|
+
// Delete payment
|
|
537
|
+
await client.for('tenant-123').payment.delete(12345);
|
|
554
538
|
|
|
555
|
-
//
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
// fromValueDate, toValueDate, fromExecuteDate, toExecuteDate
|
|
561
|
-
// status, fromReturnDate, toReturnDate, isSettlement, orderBy, sortOrder
|
|
539
|
+
// List payments with filtering
|
|
540
|
+
const payments = await client.for('tenant-123').payments.list()
|
|
541
|
+
.where('status', 'EXECUTION_SUCCESS')
|
|
542
|
+
.where('paymentRail', 'ACH')
|
|
543
|
+
.execute();
|
|
562
544
|
```
|
|
563
545
|
|
|
546
|
+
**Supported Payment Rails:** ACH, SAMEDAYACH, WIRE, SWIFT, INTERNAL, FXPAY, CARD
|
|
547
|
+
|
|
548
|
+
**Available Payment Commands:** `CreatePayment`, `GetPayment`, `UpdatePayment`, `DeletePayment`, `ListPayments`, `GetPayments`
|
|
549
|
+
|
|
564
550
|
### Multi-Tenant Support
|
|
565
551
|
|
|
566
|
-
The SDK supports multi-tenant operations through tenant context.
|
|
552
|
+
The SDK supports multi-tenant operations through the `.for()` method, allowing you to specify tenant context for operations.
|
|
567
553
|
|
|
568
|
-
####
|
|
569
|
-
|
|
554
|
+
#### Tenant-Specific Operations
|
|
555
|
+
|
|
556
|
+
All operations can be scoped to a specific tenant:
|
|
570
557
|
|
|
571
558
|
```javascript
|
|
572
|
-
|
|
573
|
-
const
|
|
559
|
+
// Initialize client
|
|
560
|
+
const client = createClient({
|
|
561
|
+
baseURL: 'https://api.mbanq.com',
|
|
562
|
+
apiKey: 'your-api-key'
|
|
563
|
+
});
|
|
564
|
+
|
|
565
|
+
// Payment operations for specific tenant
|
|
566
|
+
const payment = await client.for('tenant-123').payment.create(paymentData);
|
|
567
|
+
const payments = await client.for('tenant-123').payments.list().execute();
|
|
568
|
+
const payment = await client.for('tenant-123').payment.get(12345);
|
|
569
|
+
const updated = await client.for('tenant-123').payment.update(12345, updateData);
|
|
570
|
+
await client.for('tenant-123').payment.delete(12345);
|
|
571
|
+
|
|
572
|
+
// Account operations for specific tenant
|
|
573
|
+
const account = await client.for('tenant-123').accounts.get(98765);
|
|
574
|
+
const accounts = await client.for('tenant-123').accounts.list().execute();
|
|
575
|
+
const updated = await client.for('tenant-123').accounts.update(98765, accountData);
|
|
576
|
+
await client.for('tenant-123').accounts.delete(98765);
|
|
577
|
+
|
|
578
|
+
// Query with filters for specific tenant
|
|
579
|
+
const filteredPayments = await client.for('tenant-123').payments.list()
|
|
580
|
+
.where('status', 'EXECUTION_SUCCESS')
|
|
581
|
+
.where('paymentRail', 'ACH')
|
|
582
|
+
.execute();
|
|
574
583
|
```
|
|
575
584
|
|
|
576
|
-
#### Tenant
|
|
577
|
-
|
|
585
|
+
#### Default Tenant Configuration
|
|
586
|
+
|
|
587
|
+
You can also configure a default tenant in the client configuration:
|
|
578
588
|
|
|
579
589
|
```javascript
|
|
580
|
-
|
|
581
|
-
|
|
590
|
+
const client = createClient({
|
|
591
|
+
baseURL: 'https://api.mbanq.com',
|
|
592
|
+
apiKey: 'your-api-key',
|
|
593
|
+
tenantId: 'default-tenant-123' // Optional default tenant
|
|
594
|
+
});
|
|
582
595
|
|
|
583
|
-
//
|
|
584
|
-
const payment = await
|
|
596
|
+
// Operations will use default tenant if no .for() is specified
|
|
597
|
+
const payment = await client.payment.create(paymentData); // Uses default-tenant-123
|
|
585
598
|
|
|
586
|
-
//
|
|
587
|
-
await
|
|
599
|
+
// Override default tenant for specific operations
|
|
600
|
+
const payment = await client.for('other-tenant-456').payment.create(paymentData);
|
|
601
|
+
```
|
|
588
602
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
603
|
+
#### Tenant Context Best Practices
|
|
604
|
+
|
|
605
|
+
```javascript
|
|
606
|
+
// Good: Always specify tenant context
|
|
607
|
+
const processPayments = async (tenantId: string) => {
|
|
608
|
+
const payments = await client.for(tenantId).payments.list()
|
|
609
|
+
.where('status', 'DRAFT')
|
|
610
|
+
.execute();
|
|
611
|
+
|
|
612
|
+
for (const payment of payments) {
|
|
613
|
+
await client.for(tenantId).payment.update(payment.id, {
|
|
614
|
+
status: 'EXECUTION_SCHEDULED'
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
// Good: Consistent tenant usage across operations
|
|
620
|
+
const transferFunds = async (tenantId: string, fromAccount: number, toAccount: number, amount: number) => {
|
|
621
|
+
const clientContext = client.for(tenantId);
|
|
622
|
+
|
|
623
|
+
const fromAcc = await clientContext.accounts.get(fromAccount);
|
|
624
|
+
const toAcc = await clientContext.accounts.get(toAccount);
|
|
625
|
+
|
|
626
|
+
const payment = await clientContext.payment.create({
|
|
627
|
+
originatorAccount: fromAcc.accountNumber,
|
|
628
|
+
recipientAccount: toAcc.accountNumber,
|
|
629
|
+
amount: amount,
|
|
630
|
+
// ... other payment data
|
|
631
|
+
});
|
|
632
|
+
|
|
633
|
+
return payment;
|
|
634
|
+
};
|
|
594
635
|
```
|
|
595
636
|
|
|
637
|
+
## Documentation
|
|
638
|
+
|
|
639
|
+
For detailed information about specific features and APIs, refer to the dedicated documentation:
|
|
640
|
+
|
|
641
|
+
### API Documentation
|
|
642
|
+
- **[Client API Documentation](./docs/CLIENT_API.md)** - Comprehensive guide to client configuration, initialization, and usage patterns
|
|
643
|
+
- **[Account API Documentation](./docs/ACCOUNT_API.md)** - Complete reference for account operations, query building, and data types
|
|
644
|
+
- **[Payment API Documentation](./docs/PAYMENT_API.md)** - Complete reference for payment operations, filtering, and payment rails
|
|
645
|
+
|
|
646
|
+
### Quick Links
|
|
647
|
+
- [Client Configuration Options](./docs/CLIENT_API.md#configuration-options) - Environment settings, authentication, and middleware
|
|
648
|
+
- [Account Operations](./docs/ACCOUNT_API.md#account-operations) - Get, list, update, and delete account operations
|
|
649
|
+
- [Payment Operations](./docs/PAYMENT_API.md#payment-operations) - Create, get, update, delete, and query payments
|
|
650
|
+
- [Payment Filtering](./docs/PAYMENT_API.md#payment-filter-system) - Advanced payment search and filtering
|
|
651
|
+
- [Error Handling Patterns](./docs/CLIENT_API.md#error-handling) - Error types and handling strategies
|
|
652
|
+
- [Type Definitions](./docs/ACCOUNT_API.md#data-types-and-schemas) - Complete schema and type reference
|
|
653
|
+
|
|
596
654
|
## Type Safety & Validation
|
|
597
655
|
|
|
598
656
|
The SDK uses [Zod](https://zod.dev/) for runtime type validation and TypeScript for compile-time type safety.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var u=({message:e,statusCode:o,code:r,requestId:i,originalError:m})=>({name:"CommandError",message:e,statusCode:o,code:r,requestId:i,originalError:m}),Gt= exports.b =e=>typeof e=="object"&&e!==null&&"name"in e&&e.name==="CommandError",Xe=e=>{if(!e||typeof e!="object")return e;let o={...e};if(o.config&&typeof o.config=="object"){let r=o.config;if(r.httpsAgent&&typeof r.httpsAgent=="object"){let i=r.httpsAgent;delete i.sockets,delete i.freeSockets,delete i._sessionCache}}return o},p= exports.c =e=>{if(_axios2.default.isAxiosError(e)){let o=_optionalChain([e, 'access', _2 => _2.response, 'optionalAccess', _3 => _3.data, 'optionalAccess', _4 => _4.message]),r=_optionalChain([e, 'access', _5 => _5.response, 'optionalAccess', _6 => _6.status])?`Request failed with status code ${e.response.status}`:e.message||"Request failed";throw u({message:o||r,statusCode:_optionalChain([e, 'access', _7 => _7.response, 'optionalAccess', _8 => _8.status]),code:e.code,requestId:_optionalChain([e, 'access', _9 => _9.response, 'optionalAccess', _10 => _10.headers, 'optionalAccess', _11 => _11["x-request-id"]]),originalError:Xe(e)})}throw e};var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);var q=_zod.z.enum(["originatorName","originatorAccount","originatorBankRoutingCode","recipientName","recipientAccount","recipientBankRoutingCode","reference","traceNumber","externalId","clientId","dateFormat","locale","originatedBy","paymentRail","paymentType","fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","status","fromReturnDate","toReturnDate","isSettlement","orderBy","sortOrder"]),S= exports.f =_zod.z.enum(["DRAFT","AML_SCREENING","AML_REJECTED","EXECUTION_SCHEDULED","EXECUTION_PROCESSING","EXECUTION_SUCCESS","EXECUTION_FAILURE","RETURNED","CANCELLED","COMPLIANCE_FAILURE","DELETED","UNKNOWN"]),R= exports.g =_zod.z.enum(["ACH","SAMEDAYACH","WIRE","SWIFT","INTERNAL","FXPAY","CARD"]),v= exports.h =_zod.z.enum(["CREDIT","DEBIT"]),N= exports.i =_zod.z.enum(["ASC","DESC"]),Ht=q.options,Yt=S.options,Jt=R.options,Xt=v.options,Qt=N.options,j=e=>q.parse(e),z=e=>S.parse(e),$=e=>R.parse(e),_=e=>v.parse(e),M=e=>N.parse(e),V=_zod.z.string().min(1),G=_zod.z.string().min(1),K=_zod.z.string().min(1),W=_zod.z.string().min(1),H=_zod.z.string().min(1),Y=_zod.z.string().min(1),J=_zod.z.string().min(1),X=_zod.z.string().min(1),Q=_zod.z.string().min(1),Z=_zod.z.union([_zod.z.string(),_zod.z.number()]),ee=_zod.z.string(),te=_zod.z.string(),ne=_zod.z.string(),T=_zod.z.string(),k=_zod.z.string(),L=_zod.z.string(),ae=_zod.z.boolean(),oe=_zod.z.string(),re=e=>V.parse(e),ie=e=>G.parse(e),se=e=>K.parse(e),ce=e=>W.parse(e),le=e=>H.parse(e),pe=e=>Y.parse(e),de=e=>J.parse(e),me=e=>X.parse(e),ue=e=>Q.parse(e),ye=e=>Z.parse(e),ge=e=>ee.parse(e),fe=e=>te.parse(e),be=e=>ne.parse(e),Ce=e=>T.parse(e),he=e=>k.parse(e),Ie=e=>L.parse(e),xe=e=>ae.parse(e),Se=e=>oe.parse(e),Qe= exports.j ={originatorName:V.optional(),originatorAccount:G.optional(),originatorBankRoutingCode:K.optional(),recipientName:W.optional(),recipientAccount:H.optional(),recipientBankRoutingCode:Y.optional(),reference:J.optional(),traceNumber:X.optional(),externalId:Q.optional(),clientId:Z.optional(),dateFormat:ee.optional(),locale:te.optional(),originatedBy:ne.optional(),paymentRail:R.optional(),paymentType:v.optional(),fromValueDate:T.optional(),toValueDate:T.optional(),fromExecuteDate:k.optional(),toExecuteDate:k.optional(),status:S.optional(),fromReturnDate:L.optional(),toReturnDate:L.optional(),isSettlement:ae.optional(),orderBy:oe.optional(),sortOrder:N.optional(),limit:_zod.z.number().min(0).optional().describe("Maximum number of records to return. Defaults to 20 if not specified. Set to 0 to return all records."),offset:_zod.z.number().min(0).optional()},Zt= exports.k =_zod.z.object(Qe).partial();var Ze={id:_zod.z.number(),clientId:_zod.z.number(),amount:_zod.z.number().positive(),correlationId:_zod.z.string(),paymentType:v,paymentRail:R,recipient:_zod.z.object({cardId:_zod.z.string().optional(),recipientType:_zod.z.string(),address:_zod.z.object({line1:_zod.z.string().optional(),line2:_zod.z.string().optional(),stateCode:_zod.z.string().optional(),countryCode:_zod.z.string(),postalCode:_zod.z.string().optional()}),name:_zod.z.string()}),originator:_zod.z.object({accountId:_zod.z.string().optional(),recipientType:_zod.z.string(),address:_zod.z.object({line1:_zod.z.string().optional(),line2:_zod.z.string().optional(),stateCode:_zod.z.string().optional(),countryCode:_zod.z.string(),postalCode:_zod.z.string().optional()}),name:_zod.z.string()}),executedAt:_zod.z.string(),createdAt:_zod.z.string(),externalId:_zod.z.string(),status:S,paymentRailMetaData:_zod.z.record(_zod.z.string(),_zod.z.any()).optional(),currencyData:_zod.z.object({code:_zod.z.string(),name:_zod.z.string(),decimalPlaces:_zod.z.number(),displaySymbol:_zod.z.string(),nameCode:_zod.z.string(),currencyCodeInDigit:_zod.z.number(),isBaseCurrency:_zod.z.boolean()}),currency:_zod.z.string().min(3).max(3)},Re=_zod.z.object(Ze).catchall(_zod.z.any()),ve=_zod.z.object({streetAddress:_zod.z.string().optional(),city:_zod.z.string().optional(),state:_zod.z.string().optional(),country:_zod.z.string().optional(),postalCode:_zod.z.string().optional()}).optional(),et=_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional(),address:ve}).optional(),w=_zod.z.object({name:_zod.z.string(),identifier:_zod.z.string(),accountType:_zod.z.enum(["CHECKING","SAVINGS"]).optional(),address:ve,agent:et}),tt= exports.m ={amount:_zod.z.number().positive(),currency:_zod.z.string().min(3).max(3),paymentRail:R,paymentType:v,debtor:w,creditor:w,clientId:_zod.z.string().optional(),correspondent:w.optional(),exchangeRate:_zod.z.number().positive().optional(),externalId:_zod.z.string().optional(),reference:_zod.z.union([_zod.z.string(),_zod.z.array(_zod.z.string())]).optional(),paymentRailMetaData:_zod.z.record(_zod.z.string(),_zod.z.any()).optional(),chargeBearer:_zod.z.enum(["OUR","BEN","SHA"]).optional(),purposeCode:_zod.z.string().optional(),valueDate:_zod.z.string().optional(),executionDate:_zod.z.string().optional()},nt= exports.n =_zod.z.object(tt).catchall(_zod.z.any()).refine(e=>(e.paymentRail==="WIRE"||e.paymentRail==="SWIFT")&&e.creditor?e.creditor.address&&e.creditor.address.state&&e.creditor.address.country:!0,{message:"For WIRE transfers, recipient address with state and country is mandatory"}),at= exports.o ={amount:_zod.z.number().positive().optional(),correspondent:_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional(),accountType:_zod.z.string().optional()}).optional(),creditor:_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional(),accountType:_zod.z.string().optional(),agent:_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional()}).optional()}).optional(),debtor:_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional(),accountType:_zod.z.string().optional(),agent:_zod.z.object({name:_zod.z.string().optional(),identifier:_zod.z.string().optional()}).optional()}).optional(),exchangeRate:_zod.z.number().positive().optional(),externalId:_zod.z.string().optional(),errorCode:_zod.z.string().optional(),errorMessage:_zod.z.string().optional(),reference:_zod.z.union([_zod.z.string(),_zod.z.array(_zod.z.string())]).optional(),paymentRailMetaData:_zod.z.record(_zod.z.string(),_zod.z.any()).optional(),status:S.optional()},ot= exports.p =_zod.z.object(at).catchall(_zod.z.any()),en= exports.q =_zod.z.object({totalFilteredRecords:_zod.z.number(),pageItems:_zod.z.array(Re)}),P=e=>Re.parse(e),De=e=>nt.parse(e),Ae=e=>ot.parse(e);var tn=_zod.z.object({id:_zod.z.string(),clientId:_zod.z.number(),resourceId:_zod.z.number(),resourceIdentifier:_zod.z.string()});var _uuid = require('uuid');var _https = require('https'); var we = _interopRequireWildcard(_https);var _jsonwebtoken = require('jsonwebtoken'); var _jsonwebtoken2 = _interopRequireDefault(_jsonwebtoken);var Pe=(e,o)=>{if(!e)throw u({message:"Missing JWT secret",code:"missing_jwt_secret"});return _jsonwebtoken2.default.sign({signee:o},e,{algorithm:"HS512",expiresIn:"1d"})||""},Oe=async(e,o,r,i)=>{let m={method:"POST",url:`${o}/oauth/token`,headers:{"Content-Type":"application/x-www-form-urlencoded",tenantId:r},data:i},{data:{access_token:l}}=await _axios2.default.request(m);return e=l,e};var Ee={token:""},lt=e=>e&&(e.startsWith("Bearer ")?e:`Bearer ${e}`),d= exports.d =async e=>{let r=_axios2.default.create({timeout:_optionalChain([e, 'access', _12 => _12.axiosConfig, 'optionalAccess', _13 => _13.timeout])||29e3,baseURL:e.baseUrl,headers:{"Content-Type":"application/json; charset=utf-8","JWT-Token":_optionalChain([e, 'optionalAccess', _14 => _14.secret])?`${Pe(_optionalChain([e, 'optionalAccess', _15 => _15.secret]),_optionalChain([e, 'optionalAccess', _16 => _16.signee])||"")}`:void 0,Authorization:e.bearerToken!==void 0?lt(e.bearerToken):e.credential?`Bearer ${Ee.token||await Oe(Ee.token,e.baseUrl,e.tenantId,e.credential)}`:void 0,"trace-id":e.traceId||`RequestUUID=${_uuid.v4.call(void 0, )}`,tenantId:e.tenantId},httpsAgent:new we.Agent({rejectUnauthorized:!0,keepAlive:_optionalChain([e, 'access', _17 => _17.axiosConfig, 'optionalAccess', _18 => _18.keepAlive])})});return e.logger&&e.logger(r),r};var pt=e=>{try{j(e)}catch(o){throw o instanceof _zod.ZodError?u({message:`Invalid filter key: '${e}'. ${o.message}`,code:"invalid_filter_key"}):o}},dt=(e,o)=>{try{switch(e){case"status":z(o);break;case"paymentRail":$(o);break;case"paymentType":_(o);break;case"sortOrder":M(o);break;case"originatorName":re(o);break;case"originatorAccount":ie(o);break;case"originatorBankRoutingCode":se(o);break;case"recipientName":ce(o);break;case"recipientAccount":le(o);break;case"recipientBankRoutingCode":pe(o);break;case"reference":de(o);break;case"traceNumber":me(o);break;case"externalId":ue(o);break;case"clientId":ye(o);break;case"dateFormat":ge(o);break;case"locale":fe(o);break;case"originatedBy":be(o);break;case"fromValueDate":case"toValueDate":Ce(o);break;case"fromExecuteDate":case"toExecuteDate":he(o);break;case"fromReturnDate":case"toReturnDate":Ie(o);break;case"isSettlement":xe(o);break;case"orderBy":Se(o);break;default:break}}catch(r){throw r instanceof _zod.ZodError?u({message:`Invalid value for '${e}': '${o}'. ${r.message}`,code:`invalid_${e}_value`}):r}},bn= exports.r =e=>({input:e,metadata:{commandName:"CreatePayment",path:"/v1/payments",method:"POST"},execute:async o=>{try{De(e.payment)}catch(i){throw i instanceof _zod.ZodError?u({message:`Invalid payment data: ${i.message}`,code:"invalid_payment_input"}):i}e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.post("/v1/payments",e.payment);return P(i.data)}catch(i){p(i)}}}),Cn= exports.s =e=>({input:e,metadata:{commandName:"GetPayment",path:`/v1/payments/${e.id}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.get(`/v1/payments/${e.id}`);return P(i.data)}catch(i){p(i)}}}),hn= exports.t =e=>({input:e,metadata:{commandName:"UpdatePayment",path:`/v1/payments/${e.id}`,method:"PUT"},execute:async o=>{try{Ae(e.payment)}catch(i){throw i instanceof _zod.ZodError?u({message:`Invalid payment update data: ${i.message}`,code:"invalid_payment_update_input"}):i}e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.put(`/v1/payments/${e.id}`,e.payment);return P(i.data)}catch(i){p(i)}}}),D=(e,o,r,i)=>{if(o!==void 0&&o!==0&&o<=0)throw u({message:`Invalid limit: ${o}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(r!==void 0&&r<0)throw u({message:`Invalid offset: ${r}. Offset must be non-negative.`,code:"invalid_offset"});return{where:s=>(pt(s),{eq:c=>(dt(s,c),D({...e,[s]:c},o,r,i))}),limit:s=>D(e,s,r,i),offset:s=>D(e,o,s,i),all:()=>D(e,0,r,i),execute:()=>{let s={locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},c={...s,...e,limit:o||200,offset:r||0};return{input:{filters:e,limit:o,offset:r,tenantId:i},metadata:{commandName:"ListPayments",path:"/v1/payments",method:"GET"},execute:async y=>{i&&(y.tenantId=i);let g=await d(y);try{if(o===0){let b=[],C=r||0,h=0;do{let I={...s,...e,limit:200,offset:C},x=await g.get("/v1/payments",{params:I}),{totalFilteredRecords:E,pageItems:Ye}=x.data;b.push(...Ye),h=E,C+=200}while(C<h);return{totalFilteredRecords:h,pageItems:b}}else return(await g.get("/v1/payments",{params:c})).data}catch(b){p(b)}}}}}},In= exports.u =e=>({list:()=>D({},void 0,void 0,_optionalChain([e, 'optionalAccess', _19 => _19.tenantId]))}),xn= exports.v =(e,o)=>({input:{params:e,configuration:o},metadata:{commandName:"GetPayments",path:"/v1/payments",method:"GET"},execute:async r=>{o.tenantId&&(r.tenantId=o.tenantId);let i=await d(r),m=[],l=e.limit||20,s=e.offset||0,c=0,b={...{locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},...(f=>{let h=["fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","fromReturnDate","toReturnDate"].some(x=>f[x]!==void 0),I={...f};return h&&I.dateFormat===void 0&&(I.dateFormat="yyyy-MM-dd"),I})(e),limit:l,offset:s};try{if(e.limit===0){do{let f=await i.get("/v1/payments",{params:b}),{totalFilteredRecords:C,pageItems:h}=f.data;m.push(...h),c=C,s+=l}while(s<c);return{totalFilteredRecords:c,pageItems:m}}else return(await i.get("/v1/payments",{params:b})).data}catch(f){p(f)}}}),Sn= exports.w =e=>({input:e,metadata:{commandName:"DeletePayment",path:`/v1/payments/${e.id}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{await r.delete(`/v1/payments/${e.id}`)}catch(i){p(i)}}});var Te=_zod2.default.object({id:_zod2.default.number(),code:_zod2.default.string(),value:_zod2.default.string()}),ke=_zod2.default.object({id:_zod2.default.number(),code:_zod2.default.string(),value:_zod2.default.string()}),Le=_zod2.default.object({active:_zod2.default.boolean(),mandatory:_zod2.default.boolean(),systemDefined:_zod2.default.boolean()}),Ne=_zod2.default.object({id:_zod2.default.number()}),Fe=_zod2.default.object({id:_zod2.default.number(),name:_zod2.default.string().optional()}),Be=_zod2.default.object({active:_zod2.default.boolean()}),Ue=_zod2.default.object({submittedOnDate:_zod2.default.array(_zod2.default.number()),submittedByUsername:_zod2.default.string().optional(),submittedByFirstname:_zod2.default.string().optional(),submittedByLastname:_zod2.default.string().optional(),activatedOnDate:_zod2.default.array(_zod2.default.number()).optional(),activatedByUsername:_zod2.default.string().optional(),activatedByFirstname:_zod2.default.string().optional(),activatedByLastname:_zod2.default.string().optional()}),mt=_zod2.default.object({}).catchall(_zod2.default.any()),ut=_zod2.default.object({}).catchall(_zod2.default.any()),yt=_zod2.default.object({}).catchall(_zod2.default.any()),qe=_zod2.default.object({constitution:mt,mainBusinessLine:ut,countryOfIncorporation:yt}).catchall(_zod2.default.any()),je=_zod2.default.object({isExternalCardDebitDisable:_zod2.default.boolean(),isExternalCardCreditDisable:_zod2.default.boolean(),isAchDebitOutgoingDisable:_zod2.default.boolean(),isAchCreditOutgoingDisable:_zod2.default.boolean(),isAchDebitIncomingDisable:_zod2.default.boolean(),isAchCreditIncomingDisable:_zod2.default.boolean(),isInternalCreditDisable:_zod2.default.boolean(),isInternalDebitDisable:_zod2.default.boolean(),isWireCreditOutgoingDisable:_zod2.default.boolean(),isWireCreditIncomingDisable:_zod2.default.boolean(),isSwiftCreditOutgoingDisable:_zod2.default.boolean(),isSwiftCreditIncomingDisable:_zod2.default.boolean(),isFxpayCreditOutgoingDisable:_zod2.default.boolean(),isAllocateToSubAccountDisable:_zod2.default.boolean(),isInternalCreditOwnDisable:_zod2.default.boolean(),type:_zod2.default.string(),resourceId:_zod2.default.number(),id:_zod2.default.number()}).catchall(_zod2.default.any()),ze=_zod2.default.object({}).catchall(_zod2.default.any()),$e=_zod2.default.object({id:_zod2.default.number(),accountNo:_zod2.default.string(),status:ke,subStatus:Le,active:_zod2.default.boolean(),activationDate:_zod2.default.array(_zod2.default.number()).optional(),firstname:_zod2.default.string(),lastname:_zod2.default.string(),displayName:_zod2.default.string(),mobileNo:_zod2.default.string(),emailAddress:_zod2.default.string(),dateOfBirth:_zod2.default.array(_zod2.default.number()),gender:Ne,clientTypes:_zod2.default.array(_zod2.default.any()),clientClassification:Fe,occupation:Be,isStaff:_zod2.default.boolean(),skipAvs:_zod2.default.boolean(),officeId:_zod2.default.number(),officeName:_zod2.default.string(),imageId:_zod2.default.string().optional(),imagePresent:_zod2.default.boolean().optional(),timeline:Ue,legalForm:Te,clientVerificationStatus:_zod2.default.string(),updatedAt:_zod2.default.string(),isBlockExternalCardsAddition:_zod2.default.boolean(),clientNonPersonDetails:qe,clientTransferOptionData:je,authorizations:_zod2.default.array(_zod2.default.number()).optional(),mobileCountryCode:_zod2.default.string(),clientKycStatus:ze,ofLoanCycle:_zod2.default.number(),ofLoanActive:_zod2.default.number(),activeDepositAccount:_zod2.default.number(),onBoardingStatus:_zod2.default.string().optional()}).catchall(_zod2.default.any()),gt=_zod2.default.object({riskScore:_zod2.default.number(),rating:_zod2.default.string()}).catchall(_zod2.default.any()),ft=_zod2.default.object({street:_zod2.default.string(),city:_zod2.default.string(),state:_zod2.default.string(),zipCode:_zod2.default.string()}).catchall(_zod2.default.any()),bt=_zod2.default.object({type:_zod2.default.string(),value:_zod2.default.string()}).catchall(_zod2.default.any()),Ct={firstname:_zod2.default.string(),middlename:_zod2.default.string().optional(),lastname:_zod2.default.string(),fullname:_zod2.default.string().optional(),dob:_zod2.default.string(),genderId:_zod2.default.number(),locale:_zod2.default.string(),officeId:_zod2.default.number(),mobileCountryCode:_zod2.default.string(),mobileNo:_zod2.default.string(),emailAddress:_zod2.default.string().email(),legalFormId:_zod2.default.number(),externalId:_zod2.default.string().optional(),isOptedForMLALStatus:_zod2.default.boolean().optional(),currentMLALStatus:_zod2.default.string().optional(),isStaff:_zod2.default.boolean().optional(),staffId:_zod2.default.number().optional(),clientClassificationId:_zod2.default.number().optional(),savingsProductId:_zod2.default.number().optional(),active:_zod2.default.boolean().optional(),dateFormat:_zod2.default.string(),activationDate:_zod2.default.string().optional(),submittedOnDate:_zod2.default.string(),dateOfBirth:_zod2.default.string()},An=_zod2.default.object(Ct).catchall(_zod2.default.any()),ht={clientId:_zod2.default.number(),status:_zod2.default.string()},Pn=_zod2.default.object(ht).catchall(_zod2.default.any()),It={firstname:_zod2.default.string().optional(),middlename:_zod2.default.string().optional(),fullname:_zod2.default.string().optional(),genderId:_zod2.default.number().optional(),lastname:_zod2.default.string().optional(),occupationId:_zod2.default.number().optional(),mobileCountryCode:_zod2.default.string().optional(),mobileNo:_zod2.default.string().optional(),emailAddress:_zod2.default.string().email().optional(),externalId:_zod2.default.string().optional(),clientClassificationId:_zod2.default.number().optional(),dateOfBirth:_zod2.default.string().optional(),dateFormat:_zod2.default.string().optional()},On=_zod2.default.object(It).catchall(_zod2.default.any()),xt={documentTypeId:_zod2.default.string(),documentKey:_zod2.default.string(),status:_zod2.default.string(),description:_zod2.default.string().optional(),issuedBy:_zod2.default.string().optional(),locale:_zod2.default.string().optional(),dateFormat:_zod2.default.string().optional(),expiryDate:_zod2.default.string().optional(),nationality:_zod2.default.number().optional(),issuedDate:_zod2.default.string().optional()},En=_zod2.default.object(xt).catchall(_zod2.default.any()),St={id:_zod2.default.number(),officeId:_zod2.default.number(),clientId:_zod2.default.number(),resourceId:_zod2.default.number(),changes:_zod2.default.record(_zod2.default.string(),_zod2.default.any()),isScheduledTransfer:_zod2.default.boolean(),isSkipNotification:_zod2.default.boolean()},wn=_zod2.default.object(St).catchall(_zod2.default.any()),Rt={developerMessage:_zod2.default.string(),defaultUserMessage:_zod2.default.string(),userMessageGlobalisationCode:_zod2.default.string(),parameterName:_zod2.default.string().optional(),value:_zod2.default.any().nullable(),args:_zod2.default.array(_zod2.default.object({value:_zod2.default.any()})).optional()},vt=_zod2.default.object(Rt),Dt={developerMessage:_zod2.default.string(),httpStatusCode:_zod2.default.string(),defaultUserMessage:_zod2.default.string(),userMessageGlobalisationCode:_zod2.default.string(),errors:_zod2.default.array(vt).optional()},Tn=_zod2.default.object(Dt).catchall(_zod2.default.any()),At={tenantId:_zod2.default.string().optional(),offset:_zod2.default.number().optional(),limit:_zod2.default.number().optional(),orderBy:_zod2.default.string().optional(),sortOrder:_zod2.default.string().optional(),officeId:_zod2.default.number().optional(),displayName:_zod2.default.string().optional(),firstname:_zod2.default.string().optional(),lastname:_zod2.default.string().optional(),externalId:_zod2.default.string().optional(),orphansOnly:_zod2.default.boolean().optional(),clientStatus:_zod2.default.string().optional(),mobileNo:_zod2.default.string().optional(),createdStartDate:_zod2.default.string().optional(),creationEndDate:_zod2.default.string().optional(),activatedStartDate:_zod2.default.string().optional(),activatedEndDate:_zod2.default.string().optional(),closedStartDate:_zod2.default.string().optional(),closedEndDate:_zod2.default.string().optional()},kn=_zod2.default.object(At),Ln={id:_zod2.default.number(),accountNo:_zod2.default.string(),status:ke,subStatus:Le,active:_zod2.default.boolean(),activationDate:_zod2.default.array(_zod2.default.number()).optional(),firstname:_zod2.default.string(),lastname:_zod2.default.string(),displayName:_zod2.default.string(),mobileNo:_zod2.default.string(),emailAddress:_zod2.default.string(),dateOfBirth:_zod2.default.array(_zod2.default.number()),gender:Ne,clientTypes:_zod2.default.array(_zod2.default.any()),clientClassification:Fe,occupation:Be,isStaff:_zod2.default.boolean(),skipAvs:_zod2.default.boolean(),officeId:_zod2.default.number(),officeName:_zod2.default.string(),imageId:_zod2.default.string().optional(),imagePresent:_zod2.default.boolean().optional(),timeline:Ue,legalForm:Te,clientVerificationStatus:_zod2.default.string(),updatedAt:_zod2.default.string(),isBlockExternalCardsAddition:_zod2.default.boolean(),clientNonPersonDetails:qe,clientTransferOptionData:je,authorizations:_zod2.default.array(_zod2.default.number()).optional(),mobileCountryCode:_zod2.default.string(),clientKycStatus:ze,ofLoanCycle:_zod2.default.number(),ofLoanActive:_zod2.default.number(),activeDepositAccount:_zod2.default.number(),onBoardingStatus:_zod2.default.string().optional()},Pt={totalFilteredRecords:_zod2.default.number(),pageItems:_zod2.default.array($e)},Nn=_zod2.default.object(Pt).catchall(_zod2.default.any()),Ot={clientData:$e.optional(),riskRatingData:gt.optional(),clientAddressData:ft.optional(),clientIdentifierData:bt.optional()},Fn=_zod2.default.object(Ot);var Et=_zod2.default.enum(["offset","limit","orderBy","sortOrder","officeId","displayName","firstname","lastname","externalId","orphansOnly","clientStatus","mobileNo","createdStartDate","creationEndDate","activatedStartDate","activatedEndDate","closedStartDate","closedEndDate"]),wt=_zod2.default.enum(["displayName","accountNo","officeId","officeName"]),Tt=_zod2.default.enum(["ASC","DESC"]),kt=_zod2.default.enum(["ACTIVE","PENDING","INACTIVE"]),F=e=>Et.parse(e),Lt=e=>wt.parse(e),Nt=e=>Tt.parse(e),Ft=e=>kt.parse(e),_e=e=>{try{for(let[o,r]of Object.entries(e))if(F(o),r!=null)switch(o){case"orderBy":Lt(r);break;case"sortOrder":Nt(r);break;case"clientStatus":Ft(r);break;case"offset":case"limit":case"officeId":_zod2.default.number().min(0).parse(r);break;case"orphansOnly":_zod2.default.boolean().parse(r);break;case"displayName":case"firstname":case"lastname":case"externalId":case"mobileNo":case"createdStartDate":case"creationEndDate":case"activatedStartDate":case"activatedEndDate":case"closedStartDate":case"closedEndDate":_zod2.default.string().min(1).parse(r);break}}catch(o){throw o instanceof _zod2.default.ZodError?u({message:`Validation error: ${o.errors.map(r=>r.message).join(", ")}`,code:"validation_error"}):o}};var Hn=e=>({input:e,metadata:{commandName:"GetClient",path:`/v1/clients/${e.clientId}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i={},m=new URLSearchParams;e.staffInSelectedOfficeOnly&&m.append("staffInSelectedOfficeOnly","true"),e.checkIdentitiesExpiration&&m.append("checkIdentitiesExpiration","true"),e.clientAccountAssociate&&m.append("clientAccountAssociate","true");let l=m.toString(),s=`/v1/clients/${e.clientId}${l?`?${l}`:""}`,c=await r.get(s);if(i.clientData=c,e.riskRating){let y=await r.get(`/v1/clients/${e.clientId}/riskrating`);i.riskRatingData=y}if(e.clientAddress){let y=await r.get(`/v1/client/${e.clientId}/addresses`);i.clientAddressData=y}if(e.clientIdentifier){let y=await r.get(`/v1/clients/${e.clientId}/identifiers?unmaskValue=true`);i.clientIdentifierData=y}return i}catch(i){p(i)}}}),Yn= exports.y =e=>({input:e,metadata:{commandName:"UpdateClient",path:`/v1/clients/${e.clientId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/clients/${e.clientId}`,{...e.updates})).data}catch(i){p(i)}}}),Jn= exports.z =e=>({input:e,metadata:{commandName:"UpdateClientIdentifier",path:`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,{...e.updates})).data}catch(i){p(i)}}}),Xn= exports.A =e=>({input:e,metadata:{commandName:"CreateClient",path:"/v1/clients",method:"POST"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.post("/v1/clients",e.clientData)).data}catch(i){p(i)}}}),A=(e,o,r,i)=>{if(o!==void 0&&o!==0&&o<=0)throw u({message:`Invalid limit: ${o}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(r!==void 0&&r<0)throw u({message:`Invalid offset: ${r}. Offset must be non-negative.`,code:"invalid_offset"});return{where:s=>(F(s),{eq:c=>(_e({[s]:c}),A({...e,[s]:c},o,r,i))}),limit:s=>A(e,s,r,i),offset:s=>A(e,o,s,i),all:()=>A(e,0,r,i),execute:()=>{let s={...e,limit:o||200,offset:r||0};return{input:{filters:e,limit:o,offset:r,tenantId:i},metadata:{commandName:"ListClients",path:"/v1/clients",method:"GET"},execute:async c=>{i&&(c.tenantId=i);let y=await d(c);try{if(o===0){let g=[],f=r||0,C=0;do{let h={...e,limit:200,offset:f},I=await y.get("/v1/clients",{params:h}),{totalFilteredRecords:x,pageItems:E}=I.data;g.push(...E),C=x,f+=200}while(f<C);return{totalFilteredRecords:C,pageItems:g}}else return(await y.get("/v1/clients",{params:s})).data}catch(g){p(g)}}}}}},Qn= exports.B =e=>({list:()=>A({},void 0,void 0,_optionalChain([e, 'optionalAccess', _20 => _20.tenantId]))}),Zn= exports.C =(e,o)=>({input:{params:e,configuration:o},metadata:{commandName:"GetClients",path:"/v1/clients",method:"GET"},execute:async r=>{o.tenantId&&(r.tenantId=o.tenantId);let i=await d(r),m=[],l=e.limit||200,s=e.offset||0,c=0,y={...e,limit:l,offset:s};try{if(e.limit===0){do{let g=await i.get("/v1/clients",{params:y}),{totalFilteredRecords:b,pageItems:f}=g.data;m.push(...f),c=b,s+=l}while(s<c);return{totalFilteredRecords:c,pageItems:m}}else return(await i.get("/v1/clients",{params:y})).data}catch(g){p(g)}}}),ea= exports.D =e=>({input:e,metadata:{commandName:"DeleteClient",path:`/v1/clients/${e.clientId}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.delete(`/v1/clients/${e.clientId}`)).data}catch(i){p(i)}}});var Me=_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string(),submittedAndPendingApproval:_zod.z.boolean(),approved:_zod.z.boolean(),rejected:_zod.z.boolean(),withdrawnByApplicant:_zod.z.boolean(),active:_zod.z.boolean(),closed:_zod.z.boolean(),prematureClosed:_zod.z.boolean(),transferInProgress:_zod.z.boolean(),transferOnHold:_zod.z.boolean(),matured:_zod.z.boolean()}),B=_zod.z.object({code:_zod.z.string(),name:_zod.z.string(),decimalPlaces:_zod.z.number(),inMultiplesOf:_zod.z.number(),displaySymbol:_zod.z.string(),nameCode:_zod.z.string(),displayLabel:_zod.z.string(),currencyCodeInDigit:_zod.z.number().optional(),isBaseCurrency:_zod.z.boolean().optional()}),Bt=_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),Ve=_zod.z.object({submittedOnDate:_zod.z.array(_zod.z.number()),submittedByUsername:_zod.z.string(),submittedByFirstname:_zod.z.string(),submittedByLastname:_zod.z.string(),approvedOnDate:_zod.z.array(_zod.z.number()).optional(),approvedByUsername:_zod.z.string().optional(),approvedByFirstname:_zod.z.string().optional(),approvedByLastname:_zod.z.string().optional(),activatedOnDate:_zod.z.array(_zod.z.number()).optional(),activatedByUsername:_zod.z.string().optional(),activatedByFirstname:_zod.z.string().optional(),activatedByLastname:_zod.z.string().optional()}),Ge=_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string(),none:_zod.z.boolean(),inactive:_zod.z.boolean(),dormant:_zod.z.boolean(),escheat:_zod.z.boolean(),block:_zod.z.boolean(),blockCredit:_zod.z.boolean(),blockDebit:_zod.z.boolean()}),Ke=_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),Ut=_zod.z.object({id:_zod.z.number(),accountNo:_zod.z.string(),productId:_zod.z.number(),productName:_zod.z.string(),shortProductName:_zod.z.string(),status:Me,currency:B,accountBalance:_zod.z.number(),accountType:Bt,timeline:Ve,subStatus:Ge,lastActiveTransactionDate:_zod.z.array(_zod.z.number()).optional(),depositType:Ke,availableBalance:_zod.z.number(),allowPrepaidCard:_zod.z.boolean(),primaryAccount:_zod.z.record(_zod.z.any())}),qt= exports.E ={id:_zod.z.number(),accountNo:_zod.z.string(),depositType:Ke,clientId:_zod.z.number(),clientName:_zod.z.string(),savingsProductId:_zod.z.number(),savingsProductName:_zod.z.string(),fieldOfficerId:_zod.z.number(),status:Me,subStatus:Ge,timeline:Ve,currency:B,nominalAnnualInterestRate:_zod.z.number(),interestCompoundingPeriodType:_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),interestPostingPeriodType:_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),interestCalculationType:_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),interestCalculationDaysInYearType:_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),lockinPeriodFrequency:_zod.z.number(),lockinPeriodFrequencyType:_zod.z.object({id:_zod.z.number(),code:_zod.z.string(),value:_zod.z.string()}),withdrawalFeeForTransfers:_zod.z.boolean(),allowOverdraft:_zod.z.boolean(),enforceMinRequiredBalance:_zod.z.boolean(),onHoldFunds:_zod.z.number(),withHoldTax:_zod.z.boolean(),lastActiveTransactionDate:_zod.z.array(_zod.z.number()),isDormancyTrackingActive:_zod.z.boolean(),savingsAmountOnHold:_zod.z.number(),summary:_zod.z.object({currency:B,totalDeposits:_zod.z.number(),totalInterestEarned:_zod.z.number(),totalInterestPosted:_zod.z.number(),accountBalance:_zod.z.number(),totalOverdraftInterestDerived:_zod.z.number(),interestNotPosted:_zod.z.number(),lastInterestCalculationDate:_zod.z.array(_zod.z.number()),availableBalance:_zod.z.number()}),isLinkedToFloatingInterestRates:_zod.z.boolean(),interestRateDifferential:_zod.z.number(),overdraftInterestRateDifferential:_zod.z.number(),floatingRateId:_zod.z.number(),isBaseLendingRate:_zod.z.boolean(),isFloatingInterestRateCalculationAllowed:_zod.z.boolean(),bankDetails:_zod.z.object({routingNumber:_zod.z.string(),name:_zod.z.string(),swiftCode:_zod.z.string(),address:_zod.z.string(),city:_zod.z.string(),postcode:_zod.z.string()}),skipCollectTransferCharge:_zod.z.boolean(),cardRestricted:_zod.z.boolean(),overdraftLimit:_zod.z.number(),minRequiredBalance:_zod.z.number(),minBalanceForInterestCalculation:_zod.z.number(),minOverdraftForInterestCalculation:_zod.z.number(),overdraftMinimumDue:_zod.z.number(),currentFloatingInterestPeriod:_zod.z.object({fromDate:_zod.z.array(_zod.z.number()),interestRate:_zod.z.number(),isDifferentialToBLR:_zod.z.boolean()}),floatingRateName:_zod.z.string(),floatingRateDifferential:_zod.z.number(),parentAccount:_zod.z.object({withdrawalFeeForTransfers:_zod.z.boolean(),allowOverdraft:_zod.z.boolean(),enforceMinRequiredBalance:_zod.z.boolean(),withHoldTax:_zod.z.boolean(),isDormancyTrackingActive:_zod.z.boolean(),isLinkedToFloatingInterestRates:_zod.z.boolean(),isBaseLendingRate:_zod.z.boolean(),skipCollectTransferCharge:_zod.z.boolean(),cardRestricted:_zod.z.boolean(),allowPrepaidCard:_zod.z.boolean(),prepaidAccount:_zod.z.boolean()}),allowPrepaidCard:_zod.z.boolean(),prepaidAccount:_zod.z.boolean(),prepaidLimitAmount:_zod.z.number()},oa= exports.F =_zod.z.object(qt),jt= exports.G ={savingsAccounts:_zod.z.array(Ut)},ra= exports.H =_zod.z.object(jt),zt=_zod.z.enum(["showReservedAccount"]),$t= exports.I ={tenantId:_zod.z.string().optional(),showReservedAccount:_zod.z.boolean().optional().default(!1)},ia= exports.J =_zod.z.object($t),U=e=>zt.parse(e),We=e=>{try{for(let[o,r]of Object.entries(e))if(U(o),r!=null)switch(o){case"showReservedAccount":_zod.z.boolean().parse(r);break}}catch(o){throw o instanceof _zod.z.ZodError?u({message:`Validation error: ${o.errors.map(r=>r.message).join(", ")}`,code:"validation_error"}):o}},_t= exports.K ={clientId:_zod.z.number(),productId:_zod.z.number(),submittedOnDate:_zod.z.string(),nominalAnnualInterestRate:_zod.z.string(),minRequiredOpeningBalance:_zod.z.string(),lockinPeriodFrequency:_zod.z.string(),withdrawalFeeForTransfers:_zod.z.boolean(),allowOverdraft:_zod.z.boolean(),overdraftLimit:_zod.z.number(),minOverdraftForInterestCalculation:_zod.z.number(),enforceMinRequiredBalance:_zod.z.boolean(),minRequiredBalance:_zod.z.number(),withHoldTax:_zod.z.boolean(),interestCompoundingPeriodType:_zod.z.number(),interestPostingPeriodType:_zod.z.number(),interestCalculationType:_zod.z.number(),interestCalculationDaysInYearType:_zod.z.number(),fieldOfficerId:_zod.z.number(),lockinPeriodFrequencyType:_zod.z.number(),locale:_zod.z.string(),dateFormat:_zod.z.string(),monthDayFormat:_zod.z.string(),charges:_zod.z.array(_zod.z.any())},sa= exports.L =_zod.z.object(_t);var ga=e=>({input:e,metadata:{commandName:"GetAccount",path:`/v1/savingaccounts/${e.id}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.get(`/v1/savingaccounts/${e.id}`)).data}catch(i){p(i)}}}),fa= exports.N =e=>({input:e,metadata:{commandName:"UpdateAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/savingsaccounts/${e.accountId}`,{...e.updates,clientId:e.clientId})).data}catch(i){p(i)}}}),ba= exports.O =e=>({input:e,metadata:{commandName:"DeleteAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.delete(`/v1/savingsaccounts/${e.accountId}`)).data}catch(i){p(i)}}}),He=(e,o,r)=>({where:l=>(U(l),{eq:s=>(We({[l]:s}),He({...e,[l]:s},o,r))}),execute:()=>({input:{filters:e,tenantId:r},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${o}/accounts`,method:"GET"},execute:async l=>{r&&(l.tenantId=r);let s=await d(l);try{return(await s.get(`/v1/clients/${o}/accounts`,{params:e})).data}catch(c){p(c)}}})}),Ca= exports.P =e=>({list:()=>He({},_optionalChain([e, 'optionalAccess', _21 => _21.clientId])||0,_optionalChain([e, 'optionalAccess', _22 => _22.tenantId]))}),ha= exports.Q =(e,o,r)=>({input:{params:o,configuration:r},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${e}/accounts`,method:"GET"},execute:async i=>{r.tenantId&&(i.tenantId=r.tenantId);let m=await d(i);try{return(await m.get(`/v1/clients/${e}/accounts`,{params:o})).data}catch(l){p(l)}}});exports.a = u; exports.b = Gt; exports.c = p; exports.d = d; exports.e = q; exports.f = S; exports.g = R; exports.h = v; exports.i = N; exports.j = Qe; exports.k = Zt; exports.l = Ze; exports.m = tt; exports.n = nt; exports.o = at; exports.p = ot; exports.q = en; exports.r = bn; exports.s = Cn; exports.t = hn; exports.u = In; exports.v = xn; exports.w = Sn; exports.x = Hn; exports.y = Yn; exports.z = Jn; exports.A = Xn; exports.B = Qn; exports.C = Zn; exports.D = ea; exports.E = qt; exports.F = oa; exports.G = jt; exports.H = ra; exports.I = $t; exports.J = ia; exports.K = _t; exports.L = sa; exports.M = ga; exports.N = fa; exports.O = ba; exports.P = Ca; exports.Q = ha;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkBYLL2GK4js = require('./chunk-BYLL2GK4.js');var I=u=>{let l=[];if(!u.baseUrl)l.push("baseUrl is required");else if(typeof u.baseUrl!="string")l.push("baseUrl must be a string");else try{new URL(u.baseUrl)}catch (e2){l.push("baseUrl must be a valid URL")}return _optionalChain([u, 'access', _ => _.axiosConfig, 'optionalAccess', _2 => _2.timeout])!==void 0&&(typeof u.axiosConfig.timeout!="number"||u.axiosConfig.timeout<0)&&l.push("timeout must be a positive number"),l};var H=u=>{let l=I(u);if(l.length>0)throw _chunkBYLL2GK4js.a.call(void 0, {message:`Invalid configuration: ${l.join(", ")}`,code:"invalid_config"});let y=async(r,t,n)=>{if(u.middlewares)for(let e of u.middlewares)r==="before"&&e.before?await e.before(t):r==="after"&&e.after?await e.after(t,n):r==="onError"&&e.onError&&await e.onError(t,n)},f={...u},a=async r=>{try{await y("before",r);let t=await r.execute(f);return await y("after",r,t),t}catch(t){throw await y("onError",r,t),t}},x=r=>{let t=r||f.tenantId;return{payment:{create:n=>{let e=_chunkBYLL2GK4js.r.call(void 0, {payment:n,tenantId:t});return{execute:async()=>a(e)}},get:n=>{let e=_chunkBYLL2GK4js.s.call(void 0, {id:n,tenantId:t});return{execute:async()=>a(e)}},update:(n,e)=>{let s=_chunkBYLL2GK4js.t.call(void 0, {id:n,payment:e,tenantId:t});return{execute:async()=>a(s)}},delete:n=>{let e=_chunkBYLL2GK4js.w.call(void 0, {id:n,tenantId:t});return{execute:async()=>a(e)}},list:()=>{let e=_chunkBYLL2GK4js.u.call(void 0, {tenantId:t}).list(),s=c=>({where:c.where,limit:o=>{let m=c.limit(o);return s(m)},offset:o=>{let m=c.offset(o);return s(m)},all:()=>{let o=c.all();return s(o)},execute:async()=>{let o=c.execute();return a(o)}});return s(e)}},client:{create:n=>{let e=_chunkBYLL2GK4js.A.call(void 0, {clientData:n,tenantId:t});return{execute:async()=>a(e)}},get:n=>{let e=_chunkBYLL2GK4js.x.call(void 0, {clientId:n,tenantId:t});return{execute:async()=>a(e)}},update:(n,e)=>{let s=_chunkBYLL2GK4js.y.call(void 0, {clientId:n,updates:e,tenantId:t});return{execute:async()=>a(s)}},updateDocumentRecord:(n,e)=>{let s=_chunkBYLL2GK4js.z.call(void 0, {clientId:n,identifierId:e.id,updates:e,tenantId:t});return{execute:async()=>a(s)}},delete:n=>{let e=_chunkBYLL2GK4js.D.call(void 0, {clientId:n,tenantId:t});return{execute:async()=>a(e)}},for:n=>{let e=parseInt(n,10),c=_chunkBYLL2GK4js.P.call(void 0, {clientId:e,tenantId:t}).list(),o=async()=>{let i=c.execute();returnawait _asyncOptionalChain([(await a(i)), 'optionalAccess', async _3 => _3.savingsAccounts])||[]},m=i=>({where:i.where,execute:async()=>{let d=i.execute();return a(d)}});return{accounts:{get:i=>({execute:async()=>{let d=_chunkBYLL2GK4js.M.call(void 0, {id:i,tenantId:t});return a(d)}}),getFromList:i=>({execute:async()=>(await o()).find(p=>p.id===i)||null}),update:(i,d)=>{let p=_chunkBYLL2GK4js.N.call(void 0, {clientId:e,accountId:i,updates:d,tenantId:t});return{execute:async()=>a(p)}},delete:i=>{let d=_chunkBYLL2GK4js.O.call(void 0, {accountId:i,tenantId:t});return{execute:async()=>a(d)}},where:()=>({eq:()=>({list:()=>m(c)})}),list:()=>m(c)}}},list:()=>{let e=_chunkBYLL2GK4js.B.call(void 0, {tenantId:t}).list(),s=c=>({where:c.where,limit:o=>{let m=c.limit(o);return s(m)},offset:o=>{let m=c.offset(o);return s(m)},all:()=>{let o=c.all();return s(o)},execute:async()=>{let o=c.execute();return a(o)}});return s(e)}}}};return{setConfig:r=>{f=r},updateConfig:r=>{let t={...f,...r,axiosConfig:{...f.axiosConfig,...r.axiosConfig,headers:{..._optionalChain([f, 'access', _4 => _4.axiosConfig, 'optionalAccess', _5 => _5.headers]),..._optionalChain([r, 'access', _6 => _6.axiosConfig, 'optionalAccess', _7 => _7.headers])}}},n=I(t);if(n.length>0)throw _chunkBYLL2GK4js.a.call(void 0, {message:`Invalid configuration: ${n.join(", ")}`,code:"invalid_config"});f=t},resetConfig:()=>{f=u},request:a,tenant:r=>x(r),...x()}};exports.a = H;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as R,B as v,D as B,M as O,N as E,O as L,P as T,a as C,r as g,s as w,t as b,u as h,w as U,x as q,y as P,z as A}from"./chunk-ZPWW7X3U.mjs";var I=u=>{let l=[];if(!u.baseUrl)l.push("baseUrl is required");else if(typeof u.baseUrl!="string")l.push("baseUrl must be a string");else try{new URL(u.baseUrl)}catch{l.push("baseUrl must be a valid URL")}return u.axiosConfig?.timeout!==void 0&&(typeof u.axiosConfig.timeout!="number"||u.axiosConfig.timeout<0)&&l.push("timeout must be a positive number"),l};var H=u=>{let l=I(u);if(l.length>0)throw C({message:`Invalid configuration: ${l.join(", ")}`,code:"invalid_config"});let y=async(r,t,n)=>{if(u.middlewares)for(let e of u.middlewares)r==="before"&&e.before?await e.before(t):r==="after"&&e.after?await e.after(t,n):r==="onError"&&e.onError&&await e.onError(t,n)},f={...u},a=async r=>{try{await y("before",r);let t=await r.execute(f);return await y("after",r,t),t}catch(t){throw await y("onError",r,t),t}},x=r=>{let t=r||f.tenantId;return{payment:{create:n=>{let e=g({payment:n,tenantId:t});return{execute:async()=>a(e)}},get:n=>{let e=w({id:n,tenantId:t});return{execute:async()=>a(e)}},update:(n,e)=>{let s=b({id:n,payment:e,tenantId:t});return{execute:async()=>a(s)}},delete:n=>{let e=U({id:n,tenantId:t});return{execute:async()=>a(e)}},list:()=>{let e=h({tenantId:t}).list(),s=c=>({where:c.where,limit:o=>{let m=c.limit(o);return s(m)},offset:o=>{let m=c.offset(o);return s(m)},all:()=>{let o=c.all();return s(o)},execute:async()=>{let o=c.execute();return a(o)}});return s(e)}},client:{create:n=>{let e=R({clientData:n,tenantId:t});return{execute:async()=>a(e)}},get:n=>{let e=q({clientId:n,tenantId:t});return{execute:async()=>a(e)}},update:(n,e)=>{let s=P({clientId:n,updates:e,tenantId:t});return{execute:async()=>a(s)}},updateDocumentRecord:(n,e)=>{let s=A({clientId:n,identifierId:e.id,updates:e,tenantId:t});return{execute:async()=>a(s)}},delete:n=>{let e=B({clientId:n,tenantId:t});return{execute:async()=>a(e)}},for:n=>{let e=parseInt(n,10),c=T({clientId:e,tenantId:t}).list(),o=async()=>{let i=c.execute();return(await a(i))?.savingsAccounts||[]},m=i=>({where:i.where,execute:async()=>{let d=i.execute();return a(d)}});return{accounts:{get:i=>({execute:async()=>{let d=O({id:i,tenantId:t});return a(d)}}),getFromList:i=>({execute:async()=>(await o()).find(p=>p.id===i)||null}),update:(i,d)=>{let p=E({clientId:e,accountId:i,updates:d,tenantId:t});return{execute:async()=>a(p)}},delete:i=>{let d=L({accountId:i,tenantId:t});return{execute:async()=>a(d)}},where:()=>({eq:()=>({list:()=>m(c)})}),list:()=>m(c)}}},list:()=>{let e=v({tenantId:t}).list(),s=c=>({where:c.where,limit:o=>{let m=c.limit(o);return s(m)},offset:o=>{let m=c.offset(o);return s(m)},all:()=>{let o=c.all();return s(o)},execute:async()=>{let o=c.execute();return a(o)}});return s(e)}}}};return{setConfig:r=>{f=r},updateConfig:r=>{let t={...f,...r,axiosConfig:{...f.axiosConfig,...r.axiosConfig,headers:{...f.axiosConfig?.headers,...r.axiosConfig?.headers}}},n=I(t);if(n.length>0)throw C({message:`Invalid configuration: ${n.join(", ")}`,code:"invalid_config"});f=t},resetConfig:()=>{f=u},request:a,tenant:r=>x(r),...x()}};export{H as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as d,c as s,d as i}from"./chunk-
|
|
1
|
+
import{a as d,c as s,d as i}from"./chunk-ZPWW7X3U.mjs";var u=t=>{let r=t.skipNotification&&"?skipNotification=true"||"",e=t.card.cardType==="CREDIT"?"creditcards":"cards",n={...t.payload,query:r,flag:t.flag};return{input:t,metadata:{commandName:"SendAuthorizationToCore",path:`/${e}/${t.card.internalCardId}/authorization${r}`,method:"POST"},execute:async a=>{t.tenantId&&(a.tenantId=t.tenantId);let o=await i(a);try{return await o.post(`/${e}/${t.card.internalCardId}/authorization${r}`,n)}catch(c){s(c)}}}},C=t=>({input:t,metadata:{commandName:"UpdateCardID",path:`/clients/${t.clientId}`,method:"PUT"},execute:async r=>{t.tenantId&&(r.tenantId=t.tenantId);let e=await i(r);try{await e.put(`/clients/${t.clientId}`,{businessCardIDURL:t.businessCardIDURL,businessCardIDQRCode:t.businessCardIDQRCode})}catch(n){s(n)}}});import{print as m}from"graphql";var y=t=>({input:t,metadata:{commandName:t.operationName||"GraphQL",path:"/graphql",method:"POST"},execute:async r=>{t.tenantId&&(r.tenantId=t.tenantId);let e=await i(r),n=r.graphqlPath||"/graphql";try{let a=typeof t.command=="string"?t.command:m(t.command),{data:o}=await e.post(n,{query:a,variables:t.variables,operationName:t.operationName});if(o.errors?.length)throw d({message:o.errors[0].message,code:"graphql_error",originalError:o.errors[0]});if(!o.data)throw d({message:"No data returned from GraphQL query",code:"graphql_no_data"});return o.data}catch(a){throw a.name==="CommandError"?a:d({message:a.message,code:"graphql_request_failed",originalError:a})}}});export{u as a,C as b,y as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkBYLL2GK4js = require('./chunk-BYLL2GK4.js');var u=t=>{let r=t.skipNotification&&"?skipNotification=true"||"",e=t.card.cardType==="CREDIT"?"creditcards":"cards",n={...t.payload,query:r,flag:t.flag};return{input:t,metadata:{commandName:"SendAuthorizationToCore",path:`/${e}/${t.card.internalCardId}/authorization${r}`,method:"POST"},execute:async a=>{t.tenantId&&(a.tenantId=t.tenantId);let o=await _chunkBYLL2GK4js.d.call(void 0, a);try{return await o.post(`/${e}/${t.card.internalCardId}/authorization${r}`,n)}catch(c){_chunkBYLL2GK4js.c.call(void 0, c)}}}},C= exports.b =t=>({input:t,metadata:{commandName:"UpdateCardID",path:`/clients/${t.clientId}`,method:"PUT"},execute:async r=>{t.tenantId&&(r.tenantId=t.tenantId);let e=await _chunkBYLL2GK4js.d.call(void 0, r);try{await e.put(`/clients/${t.clientId}`,{businessCardIDURL:t.businessCardIDURL,businessCardIDQRCode:t.businessCardIDQRCode})}catch(n){_chunkBYLL2GK4js.c.call(void 0, n)}}});var _graphql = require('graphql');var y=t=>({input:t,metadata:{commandName:t.operationName||"GraphQL",path:"/graphql",method:"POST"},execute:async r=>{t.tenantId&&(r.tenantId=t.tenantId);let e=await _chunkBYLL2GK4js.d.call(void 0, r),n=r.graphqlPath||"/graphql";try{let a=typeof t.command=="string"?t.command:_graphql.print.call(void 0, t.command),{data:o}=await e.post(n,{query:a,variables:t.variables,operationName:t.operationName});if(_optionalChain([o, 'access', _ => _.errors, 'optionalAccess', _2 => _2.length]))throw _chunkBYLL2GK4js.a.call(void 0, {message:o.errors[0].message,code:"graphql_error",originalError:o.errors[0]});if(!o.data)throw _chunkBYLL2GK4js.a.call(void 0, {message:"No data returned from GraphQL query",code:"graphql_no_data"});return o.data}catch(a){throw a.name==="CommandError"?a:_chunkBYLL2GK4js.a.call(void 0, {message:a.message,code:"graphql_request_failed",originalError:a})}}});exports.a = u; exports.b = C; exports.c = y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import Je from"axios";var u=({message:e,statusCode:o,code:r,requestId:i,originalError:m})=>({name:"CommandError",message:e,statusCode:o,code:r,requestId:i,originalError:m}),Gt=e=>typeof e=="object"&&e!==null&&"name"in e&&e.name==="CommandError",Xe=e=>{if(!e||typeof e!="object")return e;let o={...e};if(o.config&&typeof o.config=="object"){let r=o.config;if(r.httpsAgent&&typeof r.httpsAgent=="object"){let i=r.httpsAgent;delete i.sockets,delete i.freeSockets,delete i._sessionCache}}return o},p=e=>{if(Je.isAxiosError(e)){let o=e.response?.data?.message,r=e.response?.status?`Request failed with status code ${e.response.status}`:e.message||"Request failed";throw u({message:o||r,statusCode:e.response?.status,code:e.code,requestId:e.response?.headers?.["x-request-id"],originalError:Xe(e)})}throw e};import{z as a}from"zod";var q=a.enum(["originatorName","originatorAccount","originatorBankRoutingCode","recipientName","recipientAccount","recipientBankRoutingCode","reference","traceNumber","externalId","clientId","dateFormat","locale","originatedBy","paymentRail","paymentType","fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","status","fromReturnDate","toReturnDate","isSettlement","orderBy","sortOrder"]),S=a.enum(["DRAFT","AML_SCREENING","AML_REJECTED","EXECUTION_SCHEDULED","EXECUTION_PROCESSING","EXECUTION_SUCCESS","EXECUTION_FAILURE","RETURNED","CANCELLED","COMPLIANCE_FAILURE","DELETED","UNKNOWN"]),R=a.enum(["ACH","SAMEDAYACH","WIRE","SWIFT","INTERNAL","FXPAY","CARD"]),v=a.enum(["CREDIT","DEBIT"]),N=a.enum(["ASC","DESC"]),Ht=q.options,Yt=S.options,Jt=R.options,Xt=v.options,Qt=N.options,j=e=>q.parse(e),z=e=>S.parse(e),$=e=>R.parse(e),_=e=>v.parse(e),M=e=>N.parse(e),V=a.string().min(1),G=a.string().min(1),K=a.string().min(1),W=a.string().min(1),H=a.string().min(1),Y=a.string().min(1),J=a.string().min(1),X=a.string().min(1),Q=a.string().min(1),Z=a.union([a.string(),a.number()]),ee=a.string(),te=a.string(),ne=a.string(),T=a.string(),k=a.string(),L=a.string(),ae=a.boolean(),oe=a.string(),re=e=>V.parse(e),ie=e=>G.parse(e),se=e=>K.parse(e),ce=e=>W.parse(e),le=e=>H.parse(e),pe=e=>Y.parse(e),de=e=>J.parse(e),me=e=>X.parse(e),ue=e=>Q.parse(e),ye=e=>Z.parse(e),ge=e=>ee.parse(e),fe=e=>te.parse(e),be=e=>ne.parse(e),Ce=e=>T.parse(e),he=e=>k.parse(e),Ie=e=>L.parse(e),xe=e=>ae.parse(e),Se=e=>oe.parse(e),Qe={originatorName:V.optional(),originatorAccount:G.optional(),originatorBankRoutingCode:K.optional(),recipientName:W.optional(),recipientAccount:H.optional(),recipientBankRoutingCode:Y.optional(),reference:J.optional(),traceNumber:X.optional(),externalId:Q.optional(),clientId:Z.optional(),dateFormat:ee.optional(),locale:te.optional(),originatedBy:ne.optional(),paymentRail:R.optional(),paymentType:v.optional(),fromValueDate:T.optional(),toValueDate:T.optional(),fromExecuteDate:k.optional(),toExecuteDate:k.optional(),status:S.optional(),fromReturnDate:L.optional(),toReturnDate:L.optional(),isSettlement:ae.optional(),orderBy:oe.optional(),sortOrder:N.optional(),limit:a.number().min(0).optional().describe("Maximum number of records to return. Defaults to 20 if not specified. Set to 0 to return all records."),offset:a.number().min(0).optional()},Zt=a.object(Qe).partial();var Ze={id:a.number(),clientId:a.number(),amount:a.number().positive(),correlationId:a.string(),paymentType:v,paymentRail:R,recipient:a.object({cardId:a.string().optional(),recipientType:a.string(),address:a.object({line1:a.string().optional(),line2:a.string().optional(),stateCode:a.string().optional(),countryCode:a.string(),postalCode:a.string().optional()}),name:a.string()}),originator:a.object({accountId:a.string().optional(),recipientType:a.string(),address:a.object({line1:a.string().optional(),line2:a.string().optional(),stateCode:a.string().optional(),countryCode:a.string(),postalCode:a.string().optional()}),name:a.string()}),executedAt:a.string(),createdAt:a.string(),externalId:a.string(),status:S,paymentRailMetaData:a.record(a.string(),a.any()).optional(),currencyData:a.object({code:a.string(),name:a.string(),decimalPlaces:a.number(),displaySymbol:a.string(),nameCode:a.string(),currencyCodeInDigit:a.number(),isBaseCurrency:a.boolean()}),currency:a.string().min(3).max(3)},Re=a.object(Ze).catchall(a.any()),ve=a.object({streetAddress:a.string().optional(),city:a.string().optional(),state:a.string().optional(),country:a.string().optional(),postalCode:a.string().optional()}).optional(),et=a.object({name:a.string().optional(),identifier:a.string().optional(),address:ve}).optional(),w=a.object({name:a.string(),identifier:a.string(),accountType:a.enum(["CHECKING","SAVINGS"]).optional(),address:ve,agent:et}),tt={amount:a.number().positive(),currency:a.string().min(3).max(3),paymentRail:R,paymentType:v,debtor:w,creditor:w,clientId:a.string().optional(),correspondent:w.optional(),exchangeRate:a.number().positive().optional(),externalId:a.string().optional(),reference:a.union([a.string(),a.array(a.string())]).optional(),paymentRailMetaData:a.record(a.string(),a.any()).optional(),chargeBearer:a.enum(["OUR","BEN","SHA"]).optional(),purposeCode:a.string().optional(),valueDate:a.string().optional(),executionDate:a.string().optional()},nt=a.object(tt).catchall(a.any()).refine(e=>(e.paymentRail==="WIRE"||e.paymentRail==="SWIFT")&&e.creditor?e.creditor.address&&e.creditor.address.state&&e.creditor.address.country:!0,{message:"For WIRE transfers, recipient address with state and country is mandatory"}),at={amount:a.number().positive().optional(),correspondent:a.object({name:a.string().optional(),identifier:a.string().optional(),accountType:a.string().optional()}).optional(),creditor:a.object({name:a.string().optional(),identifier:a.string().optional(),accountType:a.string().optional(),agent:a.object({name:a.string().optional(),identifier:a.string().optional()}).optional()}).optional(),debtor:a.object({name:a.string().optional(),identifier:a.string().optional(),accountType:a.string().optional(),agent:a.object({name:a.string().optional(),identifier:a.string().optional()}).optional()}).optional(),exchangeRate:a.number().positive().optional(),externalId:a.string().optional(),errorCode:a.string().optional(),errorMessage:a.string().optional(),reference:a.union([a.string(),a.array(a.string())]).optional(),paymentRailMetaData:a.record(a.string(),a.any()).optional(),status:S.optional()},ot=a.object(at).catchall(a.any()),en=a.object({totalFilteredRecords:a.number(),pageItems:a.array(Re)}),P=e=>Re.parse(e),De=e=>nt.parse(e),Ae=e=>ot.parse(e);var tn=a.object({id:a.string(),clientId:a.number(),resourceId:a.number(),resourceIdentifier:a.string()});import st from"axios";import{v4 as ct}from"uuid";import*as we from"https";import rt from"axios";import it from"jsonwebtoken";var Pe=(e,o)=>{if(!e)throw u({message:"Missing JWT secret",code:"missing_jwt_secret"});return it.sign({signee:o},e,{algorithm:"HS512",expiresIn:"1d"})||""},Oe=async(e,o,r,i)=>{let m={method:"POST",url:`${o}/oauth/token`,headers:{"Content-Type":"application/x-www-form-urlencoded",tenantId:r},data:i},{data:{access_token:l}}=await rt.request(m);return e=l,e};var Ee={token:""},lt=e=>e&&(e.startsWith("Bearer ")?e:`Bearer ${e}`),d=async e=>{let r=st.create({timeout:e.axiosConfig?.timeout||29e3,baseURL:e.baseUrl,headers:{"Content-Type":"application/json; charset=utf-8","JWT-Token":e?.secret?`${Pe(e?.secret,e?.signee||"")}`:void 0,Authorization:e.bearerToken!==void 0?lt(e.bearerToken):e.credential?`Bearer ${Ee.token||await Oe(Ee.token,e.baseUrl,e.tenantId,e.credential)}`:void 0,"trace-id":e.traceId||`RequestUUID=${ct()}`,tenantId:e.tenantId},httpsAgent:new we.Agent({rejectUnauthorized:!0,keepAlive:e.axiosConfig?.keepAlive})});return e.logger&&e.logger(r),r};import{ZodError as O}from"zod";var pt=e=>{try{j(e)}catch(o){throw o instanceof O?u({message:`Invalid filter key: '${e}'. ${o.message}`,code:"invalid_filter_key"}):o}},dt=(e,o)=>{try{switch(e){case"status":z(o);break;case"paymentRail":$(o);break;case"paymentType":_(o);break;case"sortOrder":M(o);break;case"originatorName":re(o);break;case"originatorAccount":ie(o);break;case"originatorBankRoutingCode":se(o);break;case"recipientName":ce(o);break;case"recipientAccount":le(o);break;case"recipientBankRoutingCode":pe(o);break;case"reference":de(o);break;case"traceNumber":me(o);break;case"externalId":ue(o);break;case"clientId":ye(o);break;case"dateFormat":ge(o);break;case"locale":fe(o);break;case"originatedBy":be(o);break;case"fromValueDate":case"toValueDate":Ce(o);break;case"fromExecuteDate":case"toExecuteDate":he(o);break;case"fromReturnDate":case"toReturnDate":Ie(o);break;case"isSettlement":xe(o);break;case"orderBy":Se(o);break;default:break}}catch(r){throw r instanceof O?u({message:`Invalid value for '${e}': '${o}'. ${r.message}`,code:`invalid_${e}_value`}):r}},bn=e=>({input:e,metadata:{commandName:"CreatePayment",path:"/v1/payments",method:"POST"},execute:async o=>{try{De(e.payment)}catch(i){throw i instanceof O?u({message:`Invalid payment data: ${i.message}`,code:"invalid_payment_input"}):i}e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.post("/v1/payments",e.payment);return P(i.data)}catch(i){p(i)}}}),Cn=e=>({input:e,metadata:{commandName:"GetPayment",path:`/v1/payments/${e.id}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.get(`/v1/payments/${e.id}`);return P(i.data)}catch(i){p(i)}}}),hn=e=>({input:e,metadata:{commandName:"UpdatePayment",path:`/v1/payments/${e.id}`,method:"PUT"},execute:async o=>{try{Ae(e.payment)}catch(i){throw i instanceof O?u({message:`Invalid payment update data: ${i.message}`,code:"invalid_payment_update_input"}):i}e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i=await r.put(`/v1/payments/${e.id}`,e.payment);return P(i.data)}catch(i){p(i)}}}),D=(e,o,r,i)=>{if(o!==void 0&&o!==0&&o<=0)throw u({message:`Invalid limit: ${o}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(r!==void 0&&r<0)throw u({message:`Invalid offset: ${r}. Offset must be non-negative.`,code:"invalid_offset"});return{where:s=>(pt(s),{eq:c=>(dt(s,c),D({...e,[s]:c},o,r,i))}),limit:s=>D(e,s,r,i),offset:s=>D(e,o,s,i),all:()=>D(e,0,r,i),execute:()=>{let s={locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},c={...s,...e,limit:o||200,offset:r||0};return{input:{filters:e,limit:o,offset:r,tenantId:i},metadata:{commandName:"ListPayments",path:"/v1/payments",method:"GET"},execute:async y=>{i&&(y.tenantId=i);let g=await d(y);try{if(o===0){let b=[],C=r||0,h=0;do{let I={...s,...e,limit:200,offset:C},x=await g.get("/v1/payments",{params:I}),{totalFilteredRecords:E,pageItems:Ye}=x.data;b.push(...Ye),h=E,C+=200}while(C<h);return{totalFilteredRecords:h,pageItems:b}}else return(await g.get("/v1/payments",{params:c})).data}catch(b){p(b)}}}}}},In=e=>({list:()=>D({},void 0,void 0,e?.tenantId)}),xn=(e,o)=>({input:{params:e,configuration:o},metadata:{commandName:"GetPayments",path:"/v1/payments",method:"GET"},execute:async r=>{o.tenantId&&(r.tenantId=o.tenantId);let i=await d(r),m=[],l=e.limit||20,s=e.offset||0,c=0,b={...{locale:"en",originatedBy:"us",orderBy:"id",sortOrder:"DESC"},...(f=>{let h=["fromValueDate","toValueDate","fromExecuteDate","toExecuteDate","fromReturnDate","toReturnDate"].some(x=>f[x]!==void 0),I={...f};return h&&I.dateFormat===void 0&&(I.dateFormat="yyyy-MM-dd"),I})(e),limit:l,offset:s};try{if(e.limit===0){do{let f=await i.get("/v1/payments",{params:b}),{totalFilteredRecords:C,pageItems:h}=f.data;m.push(...h),c=C,s+=l}while(s<c);return{totalFilteredRecords:c,pageItems:m}}else return(await i.get("/v1/payments",{params:b})).data}catch(f){p(f)}}}),Sn=e=>({input:e,metadata:{commandName:"DeletePayment",path:`/v1/payments/${e.id}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{await r.delete(`/v1/payments/${e.id}`)}catch(i){p(i)}}});import t from"zod";var Te=t.object({id:t.number(),code:t.string(),value:t.string()}),ke=t.object({id:t.number(),code:t.string(),value:t.string()}),Le=t.object({active:t.boolean(),mandatory:t.boolean(),systemDefined:t.boolean()}),Ne=t.object({id:t.number()}),Fe=t.object({id:t.number(),name:t.string().optional()}),Be=t.object({active:t.boolean()}),Ue=t.object({submittedOnDate:t.array(t.number()),submittedByUsername:t.string().optional(),submittedByFirstname:t.string().optional(),submittedByLastname:t.string().optional(),activatedOnDate:t.array(t.number()).optional(),activatedByUsername:t.string().optional(),activatedByFirstname:t.string().optional(),activatedByLastname:t.string().optional()}),mt=t.object({}).catchall(t.any()),ut=t.object({}).catchall(t.any()),yt=t.object({}).catchall(t.any()),qe=t.object({constitution:mt,mainBusinessLine:ut,countryOfIncorporation:yt}).catchall(t.any()),je=t.object({isExternalCardDebitDisable:t.boolean(),isExternalCardCreditDisable:t.boolean(),isAchDebitOutgoingDisable:t.boolean(),isAchCreditOutgoingDisable:t.boolean(),isAchDebitIncomingDisable:t.boolean(),isAchCreditIncomingDisable:t.boolean(),isInternalCreditDisable:t.boolean(),isInternalDebitDisable:t.boolean(),isWireCreditOutgoingDisable:t.boolean(),isWireCreditIncomingDisable:t.boolean(),isSwiftCreditOutgoingDisable:t.boolean(),isSwiftCreditIncomingDisable:t.boolean(),isFxpayCreditOutgoingDisable:t.boolean(),isAllocateToSubAccountDisable:t.boolean(),isInternalCreditOwnDisable:t.boolean(),type:t.string(),resourceId:t.number(),id:t.number()}).catchall(t.any()),ze=t.object({}).catchall(t.any()),$e=t.object({id:t.number(),accountNo:t.string(),status:ke,subStatus:Le,active:t.boolean(),activationDate:t.array(t.number()).optional(),firstname:t.string(),lastname:t.string(),displayName:t.string(),mobileNo:t.string(),emailAddress:t.string(),dateOfBirth:t.array(t.number()),gender:Ne,clientTypes:t.array(t.any()),clientClassification:Fe,occupation:Be,isStaff:t.boolean(),skipAvs:t.boolean(),officeId:t.number(),officeName:t.string(),imageId:t.string().optional(),imagePresent:t.boolean().optional(),timeline:Ue,legalForm:Te,clientVerificationStatus:t.string(),updatedAt:t.string(),isBlockExternalCardsAddition:t.boolean(),clientNonPersonDetails:qe,clientTransferOptionData:je,authorizations:t.array(t.number()).optional(),mobileCountryCode:t.string(),clientKycStatus:ze,ofLoanCycle:t.number(),ofLoanActive:t.number(),activeDepositAccount:t.number(),onBoardingStatus:t.string().optional()}).catchall(t.any()),gt=t.object({riskScore:t.number(),rating:t.string()}).catchall(t.any()),ft=t.object({street:t.string(),city:t.string(),state:t.string(),zipCode:t.string()}).catchall(t.any()),bt=t.object({type:t.string(),value:t.string()}).catchall(t.any()),Ct={firstname:t.string(),middlename:t.string().optional(),lastname:t.string(),fullname:t.string().optional(),dob:t.string(),genderId:t.number(),locale:t.string(),officeId:t.number(),mobileCountryCode:t.string(),mobileNo:t.string(),emailAddress:t.string().email(),legalFormId:t.number(),externalId:t.string().optional(),isOptedForMLALStatus:t.boolean().optional(),currentMLALStatus:t.string().optional(),isStaff:t.boolean().optional(),staffId:t.number().optional(),clientClassificationId:t.number().optional(),savingsProductId:t.number().optional(),active:t.boolean().optional(),dateFormat:t.string(),activationDate:t.string().optional(),submittedOnDate:t.string(),dateOfBirth:t.string()},An=t.object(Ct).catchall(t.any()),ht={clientId:t.number(),status:t.string()},Pn=t.object(ht).catchall(t.any()),It={firstname:t.string().optional(),middlename:t.string().optional(),fullname:t.string().optional(),genderId:t.number().optional(),lastname:t.string().optional(),occupationId:t.number().optional(),mobileCountryCode:t.string().optional(),mobileNo:t.string().optional(),emailAddress:t.string().email().optional(),externalId:t.string().optional(),clientClassificationId:t.number().optional(),dateOfBirth:t.string().optional(),dateFormat:t.string().optional()},On=t.object(It).catchall(t.any()),xt={documentTypeId:t.string(),documentKey:t.string(),status:t.string(),description:t.string().optional(),issuedBy:t.string().optional(),locale:t.string().optional(),dateFormat:t.string().optional(),expiryDate:t.string().optional(),nationality:t.number().optional(),issuedDate:t.string().optional()},En=t.object(xt).catchall(t.any()),St={id:t.number(),officeId:t.number(),clientId:t.number(),resourceId:t.number(),changes:t.record(t.string(),t.any()),isScheduledTransfer:t.boolean(),isSkipNotification:t.boolean()},wn=t.object(St).catchall(t.any()),Rt={developerMessage:t.string(),defaultUserMessage:t.string(),userMessageGlobalisationCode:t.string(),parameterName:t.string().optional(),value:t.any().nullable(),args:t.array(t.object({value:t.any()})).optional()},vt=t.object(Rt),Dt={developerMessage:t.string(),httpStatusCode:t.string(),defaultUserMessage:t.string(),userMessageGlobalisationCode:t.string(),errors:t.array(vt).optional()},Tn=t.object(Dt).catchall(t.any()),At={tenantId:t.string().optional(),offset:t.number().optional(),limit:t.number().optional(),orderBy:t.string().optional(),sortOrder:t.string().optional(),officeId:t.number().optional(),displayName:t.string().optional(),firstname:t.string().optional(),lastname:t.string().optional(),externalId:t.string().optional(),orphansOnly:t.boolean().optional(),clientStatus:t.string().optional(),mobileNo:t.string().optional(),createdStartDate:t.string().optional(),creationEndDate:t.string().optional(),activatedStartDate:t.string().optional(),activatedEndDate:t.string().optional(),closedStartDate:t.string().optional(),closedEndDate:t.string().optional()},kn=t.object(At),Ln={id:t.number(),accountNo:t.string(),status:ke,subStatus:Le,active:t.boolean(),activationDate:t.array(t.number()).optional(),firstname:t.string(),lastname:t.string(),displayName:t.string(),mobileNo:t.string(),emailAddress:t.string(),dateOfBirth:t.array(t.number()),gender:Ne,clientTypes:t.array(t.any()),clientClassification:Fe,occupation:Be,isStaff:t.boolean(),skipAvs:t.boolean(),officeId:t.number(),officeName:t.string(),imageId:t.string().optional(),imagePresent:t.boolean().optional(),timeline:Ue,legalForm:Te,clientVerificationStatus:t.string(),updatedAt:t.string(),isBlockExternalCardsAddition:t.boolean(),clientNonPersonDetails:qe,clientTransferOptionData:je,authorizations:t.array(t.number()).optional(),mobileCountryCode:t.string(),clientKycStatus:ze,ofLoanCycle:t.number(),ofLoanActive:t.number(),activeDepositAccount:t.number(),onBoardingStatus:t.string().optional()},Pt={totalFilteredRecords:t.number(),pageItems:t.array($e)},Nn=t.object(Pt).catchall(t.any()),Ot={clientData:$e.optional(),riskRatingData:gt.optional(),clientAddressData:ft.optional(),clientIdentifierData:bt.optional()},Fn=t.object(Ot);var Et=t.enum(["offset","limit","orderBy","sortOrder","officeId","displayName","firstname","lastname","externalId","orphansOnly","clientStatus","mobileNo","createdStartDate","creationEndDate","activatedStartDate","activatedEndDate","closedStartDate","closedEndDate"]),wt=t.enum(["displayName","accountNo","officeId","officeName"]),Tt=t.enum(["ASC","DESC"]),kt=t.enum(["ACTIVE","PENDING","INACTIVE"]),F=e=>Et.parse(e),Lt=e=>wt.parse(e),Nt=e=>Tt.parse(e),Ft=e=>kt.parse(e),_e=e=>{try{for(let[o,r]of Object.entries(e))if(F(o),r!=null)switch(o){case"orderBy":Lt(r);break;case"sortOrder":Nt(r);break;case"clientStatus":Ft(r);break;case"offset":case"limit":case"officeId":t.number().min(0).parse(r);break;case"orphansOnly":t.boolean().parse(r);break;case"displayName":case"firstname":case"lastname":case"externalId":case"mobileNo":case"createdStartDate":case"creationEndDate":case"activatedStartDate":case"activatedEndDate":case"closedStartDate":case"closedEndDate":t.string().min(1).parse(r);break}}catch(o){throw o instanceof t.ZodError?u({message:`Validation error: ${o.errors.map(r=>r.message).join(", ")}`,code:"validation_error"}):o}};var Hn=e=>({input:e,metadata:{commandName:"GetClient",path:`/v1/clients/${e.clientId}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{let i={},m=new URLSearchParams;e.staffInSelectedOfficeOnly&&m.append("staffInSelectedOfficeOnly","true"),e.checkIdentitiesExpiration&&m.append("checkIdentitiesExpiration","true"),e.clientAccountAssociate&&m.append("clientAccountAssociate","true");let l=m.toString(),s=`/v1/clients/${e.clientId}${l?`?${l}`:""}`,c=await r.get(s);if(i.clientData=c,e.riskRating){let y=await r.get(`/v1/clients/${e.clientId}/riskrating`);i.riskRatingData=y}if(e.clientAddress){let y=await r.get(`/v1/client/${e.clientId}/addresses`);i.clientAddressData=y}if(e.clientIdentifier){let y=await r.get(`/v1/clients/${e.clientId}/identifiers?unmaskValue=true`);i.clientIdentifierData=y}return i}catch(i){p(i)}}}),Yn=e=>({input:e,metadata:{commandName:"UpdateClient",path:`/v1/clients/${e.clientId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/clients/${e.clientId}`,{...e.updates})).data}catch(i){p(i)}}}),Jn=e=>({input:e,metadata:{commandName:"UpdateClientIdentifier",path:`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/clients/${e.clientId}/identifiers/${e.identifierId}`,{...e.updates})).data}catch(i){p(i)}}}),Xn=e=>({input:e,metadata:{commandName:"CreateClient",path:"/v1/clients",method:"POST"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.post("/v1/clients",e.clientData)).data}catch(i){p(i)}}}),A=(e,o,r,i)=>{if(o!==void 0&&o!==0&&o<=0)throw u({message:`Invalid limit: ${o}. Limit must be positive or 0 for fetching all records.`,code:"invalid_limit"});if(r!==void 0&&r<0)throw u({message:`Invalid offset: ${r}. Offset must be non-negative.`,code:"invalid_offset"});return{where:s=>(F(s),{eq:c=>(_e({[s]:c}),A({...e,[s]:c},o,r,i))}),limit:s=>A(e,s,r,i),offset:s=>A(e,o,s,i),all:()=>A(e,0,r,i),execute:()=>{let s={...e,limit:o||200,offset:r||0};return{input:{filters:e,limit:o,offset:r,tenantId:i},metadata:{commandName:"ListClients",path:"/v1/clients",method:"GET"},execute:async c=>{i&&(c.tenantId=i);let y=await d(c);try{if(o===0){let g=[],f=r||0,C=0;do{let h={...e,limit:200,offset:f},I=await y.get("/v1/clients",{params:h}),{totalFilteredRecords:x,pageItems:E}=I.data;g.push(...E),C=x,f+=200}while(f<C);return{totalFilteredRecords:C,pageItems:g}}else return(await y.get("/v1/clients",{params:s})).data}catch(g){p(g)}}}}}},Qn=e=>({list:()=>A({},void 0,void 0,e?.tenantId)}),Zn=(e,o)=>({input:{params:e,configuration:o},metadata:{commandName:"GetClients",path:"/v1/clients",method:"GET"},execute:async r=>{o.tenantId&&(r.tenantId=o.tenantId);let i=await d(r),m=[],l=e.limit||200,s=e.offset||0,c=0,y={...e,limit:l,offset:s};try{if(e.limit===0){do{let g=await i.get("/v1/clients",{params:y}),{totalFilteredRecords:b,pageItems:f}=g.data;m.push(...f),c=b,s+=l}while(s<c);return{totalFilteredRecords:c,pageItems:m}}else return(await i.get("/v1/clients",{params:y})).data}catch(g){p(g)}}}),ea=e=>({input:e,metadata:{commandName:"DeleteClient",path:`/v1/clients/${e.clientId}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.delete(`/v1/clients/${e.clientId}`)).data}catch(i){p(i)}}});import{z as n}from"zod";var Me=n.object({id:n.number(),code:n.string(),value:n.string(),submittedAndPendingApproval:n.boolean(),approved:n.boolean(),rejected:n.boolean(),withdrawnByApplicant:n.boolean(),active:n.boolean(),closed:n.boolean(),prematureClosed:n.boolean(),transferInProgress:n.boolean(),transferOnHold:n.boolean(),matured:n.boolean()}),B=n.object({code:n.string(),name:n.string(),decimalPlaces:n.number(),inMultiplesOf:n.number(),displaySymbol:n.string(),nameCode:n.string(),displayLabel:n.string(),currencyCodeInDigit:n.number().optional(),isBaseCurrency:n.boolean().optional()}),Bt=n.object({id:n.number(),code:n.string(),value:n.string()}),Ve=n.object({submittedOnDate:n.array(n.number()),submittedByUsername:n.string(),submittedByFirstname:n.string(),submittedByLastname:n.string(),approvedOnDate:n.array(n.number()).optional(),approvedByUsername:n.string().optional(),approvedByFirstname:n.string().optional(),approvedByLastname:n.string().optional(),activatedOnDate:n.array(n.number()).optional(),activatedByUsername:n.string().optional(),activatedByFirstname:n.string().optional(),activatedByLastname:n.string().optional()}),Ge=n.object({id:n.number(),code:n.string(),value:n.string(),none:n.boolean(),inactive:n.boolean(),dormant:n.boolean(),escheat:n.boolean(),block:n.boolean(),blockCredit:n.boolean(),blockDebit:n.boolean()}),Ke=n.object({id:n.number(),code:n.string(),value:n.string()}),Ut=n.object({id:n.number(),accountNo:n.string(),productId:n.number(),productName:n.string(),shortProductName:n.string(),status:Me,currency:B,accountBalance:n.number(),accountType:Bt,timeline:Ve,subStatus:Ge,lastActiveTransactionDate:n.array(n.number()).optional(),depositType:Ke,availableBalance:n.number(),allowPrepaidCard:n.boolean(),primaryAccount:n.record(n.any())}),qt={id:n.number(),accountNo:n.string(),depositType:Ke,clientId:n.number(),clientName:n.string(),savingsProductId:n.number(),savingsProductName:n.string(),fieldOfficerId:n.number(),status:Me,subStatus:Ge,timeline:Ve,currency:B,nominalAnnualInterestRate:n.number(),interestCompoundingPeriodType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestPostingPeriodType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestCalculationType:n.object({id:n.number(),code:n.string(),value:n.string()}),interestCalculationDaysInYearType:n.object({id:n.number(),code:n.string(),value:n.string()}),lockinPeriodFrequency:n.number(),lockinPeriodFrequencyType:n.object({id:n.number(),code:n.string(),value:n.string()}),withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),enforceMinRequiredBalance:n.boolean(),onHoldFunds:n.number(),withHoldTax:n.boolean(),lastActiveTransactionDate:n.array(n.number()),isDormancyTrackingActive:n.boolean(),savingsAmountOnHold:n.number(),summary:n.object({currency:B,totalDeposits:n.number(),totalInterestEarned:n.number(),totalInterestPosted:n.number(),accountBalance:n.number(),totalOverdraftInterestDerived:n.number(),interestNotPosted:n.number(),lastInterestCalculationDate:n.array(n.number()),availableBalance:n.number()}),isLinkedToFloatingInterestRates:n.boolean(),interestRateDifferential:n.number(),overdraftInterestRateDifferential:n.number(),floatingRateId:n.number(),isBaseLendingRate:n.boolean(),isFloatingInterestRateCalculationAllowed:n.boolean(),bankDetails:n.object({routingNumber:n.string(),name:n.string(),swiftCode:n.string(),address:n.string(),city:n.string(),postcode:n.string()}),skipCollectTransferCharge:n.boolean(),cardRestricted:n.boolean(),overdraftLimit:n.number(),minRequiredBalance:n.number(),minBalanceForInterestCalculation:n.number(),minOverdraftForInterestCalculation:n.number(),overdraftMinimumDue:n.number(),currentFloatingInterestPeriod:n.object({fromDate:n.array(n.number()),interestRate:n.number(),isDifferentialToBLR:n.boolean()}),floatingRateName:n.string(),floatingRateDifferential:n.number(),parentAccount:n.object({withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),enforceMinRequiredBalance:n.boolean(),withHoldTax:n.boolean(),isDormancyTrackingActive:n.boolean(),isLinkedToFloatingInterestRates:n.boolean(),isBaseLendingRate:n.boolean(),skipCollectTransferCharge:n.boolean(),cardRestricted:n.boolean(),allowPrepaidCard:n.boolean(),prepaidAccount:n.boolean()}),allowPrepaidCard:n.boolean(),prepaidAccount:n.boolean(),prepaidLimitAmount:n.number()},oa=n.object(qt),jt={savingsAccounts:n.array(Ut)},ra=n.object(jt),zt=n.enum(["showReservedAccount"]),$t={tenantId:n.string().optional(),showReservedAccount:n.boolean().optional().default(!1)},ia=n.object($t),U=e=>zt.parse(e),We=e=>{try{for(let[o,r]of Object.entries(e))if(U(o),r!=null)switch(o){case"showReservedAccount":n.boolean().parse(r);break}}catch(o){throw o instanceof n.ZodError?u({message:`Validation error: ${o.errors.map(r=>r.message).join(", ")}`,code:"validation_error"}):o}},_t={clientId:n.number(),productId:n.number(),submittedOnDate:n.string(),nominalAnnualInterestRate:n.string(),minRequiredOpeningBalance:n.string(),lockinPeriodFrequency:n.string(),withdrawalFeeForTransfers:n.boolean(),allowOverdraft:n.boolean(),overdraftLimit:n.number(),minOverdraftForInterestCalculation:n.number(),enforceMinRequiredBalance:n.boolean(),minRequiredBalance:n.number(),withHoldTax:n.boolean(),interestCompoundingPeriodType:n.number(),interestPostingPeriodType:n.number(),interestCalculationType:n.number(),interestCalculationDaysInYearType:n.number(),fieldOfficerId:n.number(),lockinPeriodFrequencyType:n.number(),locale:n.string(),dateFormat:n.string(),monthDayFormat:n.string(),charges:n.array(n.any())},sa=n.object(_t);var ga=e=>({input:e,metadata:{commandName:"GetAccount",path:`/v1/savingaccounts/${e.id}`,method:"GET"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.get(`/v1/savingaccounts/${e.id}`)).data}catch(i){p(i)}}}),fa=e=>({input:e,metadata:{commandName:"UpdateAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"PUT"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.put(`/v1/savingsaccounts/${e.accountId}`,{...e.updates,clientId:e.clientId})).data}catch(i){p(i)}}}),ba=e=>({input:e,metadata:{commandName:"DeleteAccount",path:`/v1/savingsaccounts/${e.accountId}`,method:"DELETE"},execute:async o=>{e.tenantId&&(o.tenantId=e.tenantId);let r=await d(o);try{return(await r.delete(`/v1/savingsaccounts/${e.accountId}`)).data}catch(i){p(i)}}}),He=(e,o,r)=>({where:l=>(U(l),{eq:s=>(We({[l]:s}),He({...e,[l]:s},o,r))}),execute:()=>({input:{filters:e,tenantId:r},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${o}/accounts`,method:"GET"},execute:async l=>{r&&(l.tenantId=r);let s=await d(l);try{return(await s.get(`/v1/clients/${o}/accounts`,{params:e})).data}catch(c){p(c)}}})}),Ca=e=>({list:()=>He({},e?.clientId||0,e?.tenantId)}),ha=(e,o,r)=>({input:{params:o,configuration:r},metadata:{commandName:"ListAccountsOfClient",path:`/v1/clients/${e}/accounts`,method:"GET"},execute:async i=>{r.tenantId&&(i.tenantId=r.tenantId);let m=await d(i);try{return(await m.get(`/v1/clients/${e}/accounts`,{params:o})).data}catch(l){p(l)}}});export{u as a,Gt as b,p as c,d,q as e,S as f,R as g,v as h,N as i,Qe as j,Zt as k,Ze as l,tt as m,nt as n,at as o,ot as p,en as q,bn as r,Cn as s,hn as t,In as u,xn as v,Sn as w,Hn as x,Yn as y,Jn as z,Xn as A,Qn as B,Zn as C,ea as D,qt as E,oa as F,jt as G,ra as H,$t as I,ia as J,_t as K,sa as L,ga as M,fa as N,ba as O,Ca as P,ha as Q};
|