@develit-services/ledger 0.0.8 → 0.0.10

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.
@@ -3,25 +3,6 @@ import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
3
3
  import { BankAccountMetadata } from '@develit-io/backend-sdk';
4
4
  import { CURRENCY_CODES, CRYPTO_NETWORK_CODES, CODES, BANK_CODES } from '@develit-io/general-codes';
5
5
 
6
- declare const ACCOUNT_TYPES: readonly ["INTERNAL", "EXTERNAL", "NOSTRO", "TECHNICAL", "SETTLEMENT", "FX", "FEE", "REVENUE", "LOSS", "TRANSPORT", "HOLD", "SYSTEM", "TEST"];
7
- type AccountType = (typeof ACCOUNT_TYPES)[number];
8
- declare const ASSET_TYPES: readonly ["FIAT", "CRYPTO", "TOKEN", "STOCK", "COMMODITY", "OTHER"];
9
- type AssetType = (typeof ASSET_TYPES)[number];
10
- declare const BALANCE_STRATEGIES: readonly ["SNAPSHOT", "COMPUTED"];
11
- type BalanceStrategy = (typeof BALANCE_STRATEGIES)[number];
12
- declare const IDENTIFIER_KINDS: readonly ["IBAN", "LOCAL_CZ", "SWIFT", "CRYPTO_ADDRESS"];
13
- type IdentifierKind = (typeof IDENTIFIER_KINDS)[number];
14
- declare const ENTRY_STATUSES: readonly ["PENDING", "REALIZED", "FAILED", "CANCELED"];
15
- type EntryStatus = (typeof ENTRY_STATUSES)[number];
16
- declare const TRANSACTION_STATUSES: readonly ["WAITING_FOR_PAYMENT", "PAUSED", "WAITING_FOR_MANUAL_PROCESSING", "MATCHED", "RETURNING", "RETURNED", "FAILED", "CANCELLED", "COMPLETED"];
17
- type TransactionStatus = (typeof TRANSACTION_STATUSES)[number];
18
- declare const TRANSACTION_TYPES: readonly ["CLIENT_FUND_IN", "CLIENT_FUND_OUT", "PROVIDER_FUND_IN", "PROVIDER_FUND_OUT", "EXCHANGE", "UNMATCHED", "ADJUSTMENT", "TRANSFER"];
19
- type TransactionType = (typeof TRANSACTION_TYPES)[number];
20
- declare const REFERENCE_TYPES: readonly ["PAYMENT", "EXCHANGE", "ORDER"];
21
- type ReferenceType = (typeof REFERENCE_TYPES)[number];
22
- declare const PAYMENT_CHARGE_TYPES: readonly ["SHA", "OUR", "BEN"];
23
- type PaymentChargeType = (typeof PAYMENT_CHARGE_TYPES)[number];
24
-
25
6
  declare const account: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
26
7
  name: "account";
27
8
  schema: undefined;
@@ -262,7 +243,7 @@ declare const accountIdentifier: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
262
243
  tableName: "account_identifier";
263
244
  dataType: "string";
264
245
  columnType: "SQLiteText";
265
- data: "IBAN" | "LOCAL_CZ" | "SWIFT" | "CRYPTO_ADDRESS";
246
+ data: "SWIFT" | "IBAN" | "LOCAL_CZ" | "CRYPTO_ADDRESS";
266
247
  driverParam: string;
267
248
  notNull: true;
268
249
  hasDefault: false;
@@ -275,7 +256,7 @@ declare const accountIdentifier: drizzle_orm_sqlite_core.SQLiteTableWithColumns<
275
256
  generated: undefined;
276
257
  }, {}, {
277
258
  length: number | undefined;
278
- $type: "IBAN" | "LOCAL_CZ" | "SWIFT" | "CRYPTO_ADDRESS";
259
+ $type: "SWIFT" | "IBAN" | "LOCAL_CZ" | "CRYPTO_ADDRESS";
279
260
  }>;
280
261
  iban: drizzle_orm_sqlite_core.SQLiteColumn<{
281
262
  name: "iban";
@@ -599,6 +580,137 @@ declare const accountIdentifierMappingRelations: drizzle_orm.Relations<"account_
599
580
  identifier: drizzle_orm.One<"account_identifier", true>;
600
581
  }>;
601
582
 
583
+ declare const ACCOUNT_TYPES: readonly ["INTERNAL", "EXTERNAL", "NOSTRO", "TECHNICAL", "SETTLEMENT", "FX", "FEE", "REVENUE", "LOSS", "TRANSPORT", "HOLD", "SYSTEM", "TEST"];
584
+ type AccountType = (typeof ACCOUNT_TYPES)[number];
585
+ declare const ASSET_TYPES: readonly ["FIAT", "CRYPTO", "TOKEN", "STOCK", "COMMODITY", "OTHER"];
586
+ type AssetType = (typeof ASSET_TYPES)[number];
587
+ declare const BALANCE_STRATEGIES: readonly ["SNAPSHOT", "COMPUTED"];
588
+ type BalanceStrategy = (typeof BALANCE_STRATEGIES)[number];
589
+ declare const IDENTIFIER_KINDS: readonly ["IBAN", "LOCAL_CZ", "SWIFT", "CRYPTO_ADDRESS"];
590
+ type IdentifierKind = (typeof IDENTIFIER_KINDS)[number];
591
+ declare const ENTRY_STATUSES: readonly ["PENDING", "REALIZED", "FAILED", "CANCELED"];
592
+ type EntryStatus = (typeof ENTRY_STATUSES)[number];
593
+ declare const TRANSACTION_STATUSES: readonly ["WAITING_FOR_PAYMENT", "PAUSED", "WAITING_FOR_MANUAL_PROCESSING", "MATCHED", "RETURNING", "RETURNED", "FAILED", "CANCELLED", "COMPLETED"];
594
+ type TransactionStatus = (typeof TRANSACTION_STATUSES)[number];
595
+ declare const TRANSACTION_TYPES: readonly ["CLIENT_FUND_IN", "CLIENT_FUND_OUT", "PROVIDER_FUND_IN", "PROVIDER_FUND_OUT", "EXCHANGE", "UNMATCHED", "ADJUSTMENT", "TRANSFER"];
596
+ type TransactionType = (typeof TRANSACTION_TYPES)[number];
597
+ declare const REFERENCE_TYPES: readonly ["PAYMENT", "EXCHANGE", "ORDER"];
598
+ type ReferenceType = (typeof REFERENCE_TYPES)[number];
599
+ declare const PAYMENT_CHARGE_TYPES: readonly ["SHA", "OUR", "BEN"];
600
+ type PaymentChargeType = (typeof PAYMENT_CHARGE_TYPES)[number];
601
+
602
+ declare const PAYMENT_TYPES: readonly ["SEPA", "SWIFT", "IFSC", "DOMESTIC"];
603
+ type PaymentType = (typeof PAYMENT_TYPES)[number];
604
+
605
+ type CryptoNetworkCode = (typeof CRYPTO_NETWORK_CODES)[number];
606
+ declare const PAYMENT_STATUSES: readonly ["PREPARED", "INITIALIZED", "FAILED", "PENDING", "COMPLETED", "CREATED"];
607
+ type PaymentStatus = (typeof PAYMENT_STATUSES)[number];
608
+ declare const PAYMENT_DIRECTIONS: readonly ["INCOMING", "OUTGOING"];
609
+ type PaymentDirection = (typeof PAYMENT_DIRECTIONS)[number];
610
+
611
+ type CurrencyCode = (typeof CURRENCY_CODES)[number];
612
+ /**
613
+ * Batch status constants
614
+ */
615
+ declare const BATCH_STATUSES: readonly ["OPEN", "WAITING_FOR_PROCESSING", "PROCESSING", "READY_TO_SIGN", "PREPARED", "COMPLETED", "FAILED"];
616
+ /**
617
+ * Type definition for batch status
618
+ */
619
+ type BatchStatus = (typeof BATCH_STATUSES)[number];
620
+ type Currency = CODES.Currency;
621
+
622
+ type BankCode = (typeof BANK_CODES)[number];
623
+ declare const COUNTRY_CODES: ["AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BO" | "BQ" | "BA" | "BW" | "BR" | "IO" | "VG" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CK" | "CR" | "HR" | "CW" | "CY" | "CZ" | "CD" | "DK" | "DJ" | "DM" | "DO" | "TL" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GR" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "GY" | "HT" | "HN" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "CI" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "NA" | "NP" | "NL" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "KP" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "CG" | "RE" | "RO" | "RU" | "RW" | "BL" | "KN" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SO" | "ZA" | "KR" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "TW" | "TJ" | "TZ" | "TH" | "TG" | "TO" | "TT" | "TN" | "TR" | "TM" | "UM" | "VI" | "UG" | "UA" | "AE" | "GB" | "UZ" | "VU" | "VE" | "VN" | "WF" | "EH" | "YE" | "ZM" | "ZW", ...("AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BO" | "BQ" | "BA" | "BW" | "BR" | "IO" | "VG" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CK" | "CR" | "HR" | "CW" | "CY" | "CZ" | "CD" | "DK" | "DJ" | "DM" | "DO" | "TL" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GR" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "GY" | "HT" | "HN" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "CI" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "NA" | "NP" | "NL" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "KP" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "CG" | "RE" | "RO" | "RU" | "RW" | "BL" | "KN" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SO" | "ZA" | "KR" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "TW" | "TJ" | "TZ" | "TH" | "TG" | "TO" | "TT" | "TN" | "TR" | "TM" | "UM" | "VI" | "UG" | "UA" | "AE" | "GB" | "UZ" | "VU" | "VE" | "VN" | "WF" | "EH" | "YE" | "ZM" | "ZW")[]];
624
+ type CountryCode = (typeof COUNTRY_CODES)[number];
625
+
626
+ interface TransactionMetadata {
627
+ /**
628
+ * Payment processing information for bank payment matching and initiation
629
+ */
630
+ payment?: {
631
+ vs?: string;
632
+ ss?: string;
633
+ ks?: string;
634
+ message?: string;
635
+ paymentChargeType?: PaymentChargeType;
636
+ expressPayment?: boolean;
637
+ reference?: string;
638
+ creditor?: BankAccountMetadata;
639
+ debtor?: BankAccountMetadata;
640
+ executionDate?: string;
641
+ currency?: CurrencyCode;
642
+ amount?: number;
643
+ };
644
+ /**
645
+ * Tags for categorization or grouping of the transaction
646
+ */
647
+ tags?: string[];
648
+ /**
649
+ * Additional notes or comments about the transaction
650
+ */
651
+ note?: string;
652
+ }
653
+ interface EntryMetadata {
654
+ context?: {
655
+ initiatedBy?: 'system' | 'user' | 'bank' | 'blockchain';
656
+ sourceService?: string;
657
+ processor?: string;
658
+ userId?: string;
659
+ organizationId?: string;
660
+ sessionId?: string;
661
+ ipAddress?: string;
662
+ };
663
+ /**
664
+ * Info about the crypto transaction
665
+ */
666
+ crypto?: {
667
+ txHash?: string;
668
+ fromAddress?: string;
669
+ toAddress?: string;
670
+ chainId?: string;
671
+ network?: string;
672
+ confirmations?: number;
673
+ blockNumber?: number;
674
+ };
675
+ /**
676
+ * Info about the foreign exchange transaction
677
+ */
678
+ fx?: {
679
+ rate?: number;
680
+ sourceCurrency?: string;
681
+ targetCurrency?: string;
682
+ provider?: string;
683
+ slippage?: number;
684
+ spread?: number;
685
+ };
686
+ /**
687
+ * Info about the fee applied to the transaction
688
+ */
689
+ fee?: {
690
+ feeType?: 'flat' | 'percentage';
691
+ sourceAmount?: number;
692
+ appliedAmount?: number;
693
+ feeTargetAccountId?: string;
694
+ feeCode?: string;
695
+ };
696
+ /**
697
+ * Specific tag for reconciliation purposes, e.g. for bank statements, batchId, etc.
698
+ */
699
+ reconciliationTag?: string;
700
+ /**
701
+ * Specific code for bank clearing purposes
702
+ */
703
+ clearingCode?: string;
704
+ /**
705
+ * Tags for categorization or grouping of the transaction
706
+ */
707
+ tags?: string[];
708
+ /**
709
+ * Additional notes or comments about the transaction
710
+ */
711
+ note?: string;
712
+ }
713
+
602
714
  declare const entry: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
603
715
  name: "entry";
604
716
  schema: undefined;
@@ -1000,7 +1112,7 @@ declare const transaction: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1000
1112
  tableName: "transaction";
1001
1113
  dataType: "string";
1002
1114
  columnType: "SQLiteText";
1003
- data: "WAITING_FOR_PAYMENT" | "PAUSED" | "WAITING_FOR_MANUAL_PROCESSING" | "MATCHED" | "RETURNING" | "RETURNED" | "FAILED" | "CANCELLED" | "COMPLETED";
1115
+ data: "FAILED" | "COMPLETED" | "WAITING_FOR_PAYMENT" | "PAUSED" | "WAITING_FOR_MANUAL_PROCESSING" | "MATCHED" | "RETURNING" | "RETURNED" | "CANCELLED";
1004
1116
  driverParam: string;
1005
1117
  notNull: true;
1006
1118
  hasDefault: false;
@@ -1013,7 +1125,7 @@ declare const transaction: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
1013
1125
  generated: undefined;
1014
1126
  }, {}, {
1015
1127
  length: number | undefined;
1016
- $type: "WAITING_FOR_PAYMENT" | "PAUSED" | "WAITING_FOR_MANUAL_PROCESSING" | "MATCHED" | "RETURNING" | "RETURNED" | "FAILED" | "CANCELLED" | "COMPLETED";
1128
+ $type: "FAILED" | "COMPLETED" | "WAITING_FOR_PAYMENT" | "PAUSED" | "WAITING_FOR_MANUAL_PROCESSING" | "MATCHED" | "RETURNING" | "RETURNED" | "CANCELLED";
1017
1129
  }>;
1018
1130
  statusReason: drizzle_orm_sqlite_core.SQLiteColumn<{
1019
1131
  name: "status_reason";
@@ -1204,117 +1316,5 @@ declare namespace schema {
1204
1316
  };
1205
1317
  }
1206
1318
 
1207
- declare const PAYMENT_TYPES: readonly ["SEPA", "SWIFT", "IFSC", "DOMESTIC"];
1208
- type PaymentType = (typeof PAYMENT_TYPES)[number];
1209
-
1210
- type CryptoNetworkCode = (typeof CRYPTO_NETWORK_CODES)[number];
1211
- declare const PAYMENT_STATUSES: readonly ["PREPARED", "INITIALIZED", "FAILED", "PENDING", "COMPLETED", "CREATED"];
1212
- type PaymentStatus = (typeof PAYMENT_STATUSES)[number];
1213
- declare const PAYMENT_DIRECTIONS: readonly ["INCOMING", "OUTGOING"];
1214
- type PaymentDirection = (typeof PAYMENT_DIRECTIONS)[number];
1215
-
1216
- type CurrencyCode = (typeof CURRENCY_CODES)[number];
1217
- /**
1218
- * Batch status constants
1219
- */
1220
- declare const BATCH_STATUSES: readonly ["OPEN", "WAITING_FOR_PROCESSING", "PROCESSING", "READY_TO_SIGN", "PREPARED", "COMPLETED", "FAILED"];
1221
- /**
1222
- * Type definition for batch status
1223
- */
1224
- type BatchStatus = (typeof BATCH_STATUSES)[number];
1225
- type Currency = CODES.Currency;
1226
-
1227
- type BankCode = (typeof BANK_CODES)[number];
1228
- declare const COUNTRY_CODES: ["AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BO" | "BQ" | "BA" | "BW" | "BR" | "IO" | "VG" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CK" | "CR" | "HR" | "CW" | "CY" | "CZ" | "CD" | "DK" | "DJ" | "DM" | "DO" | "TL" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GR" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "GY" | "HT" | "HN" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "CI" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "NA" | "NP" | "NL" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "KP" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "CG" | "RE" | "RO" | "RU" | "RW" | "BL" | "KN" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SO" | "ZA" | "KR" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "TW" | "TJ" | "TZ" | "TH" | "TG" | "TO" | "TT" | "TN" | "TR" | "TM" | "UM" | "VI" | "UG" | "UA" | "AE" | "GB" | "UZ" | "VU" | "VE" | "VN" | "WF" | "EH" | "YE" | "ZM" | "ZW", ...("AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BO" | "BQ" | "BA" | "BW" | "BR" | "IO" | "VG" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CK" | "CR" | "HR" | "CW" | "CY" | "CZ" | "CD" | "DK" | "DJ" | "DM" | "DO" | "TL" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GR" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "GY" | "HT" | "HN" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "CI" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LI" | "LT" | "LU" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MQ" | "MR" | "MU" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "NA" | "NP" | "NL" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "KP" | "NO" | "OM" | "PK" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "CG" | "RE" | "RO" | "RU" | "RW" | "BL" | "KN" | "LC" | "MF" | "VC" | "WS" | "SM" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SO" | "ZA" | "KR" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "TW" | "TJ" | "TZ" | "TH" | "TG" | "TO" | "TT" | "TN" | "TR" | "TM" | "UM" | "VI" | "UG" | "UA" | "AE" | "GB" | "UZ" | "VU" | "VE" | "VN" | "WF" | "EH" | "YE" | "ZM" | "ZW")[]];
1229
- type CountryCode = (typeof COUNTRY_CODES)[number];
1230
-
1231
- interface TransactionMetadata {
1232
- /**
1233
- * Tags for categorization or grouping of the transaction
1234
- */
1235
- tags?: string[];
1236
- /**
1237
- * Additional notes or comments about the transaction
1238
- */
1239
- note?: string;
1240
- /**
1241
- * Payment processing information for bank payment matching and initiation
1242
- */
1243
- payment?: {
1244
- vs?: string;
1245
- ss?: string;
1246
- ks?: string;
1247
- message?: string;
1248
- paymentReason?: string;
1249
- paymentChargeType?: PaymentChargeType;
1250
- reference?: string;
1251
- creditor?: BankAccountMetadata;
1252
- debtor?: BankAccountMetadata;
1253
- executionDate?: string;
1254
- currency?: CurrencyCode;
1255
- amount?: number;
1256
- };
1257
- }
1258
- interface EntryMetadata {
1259
- context?: {
1260
- initiatedBy?: 'system' | 'user' | 'bank' | 'blockchain';
1261
- sourceService?: string;
1262
- processor?: string;
1263
- userId?: string;
1264
- organizationId?: string;
1265
- sessionId?: string;
1266
- ipAddress?: string;
1267
- };
1268
- /**
1269
- * Info about the crypto transaction
1270
- */
1271
- crypto?: {
1272
- txHash?: string;
1273
- fromAddress?: string;
1274
- toAddress?: string;
1275
- chainId?: string;
1276
- network?: string;
1277
- confirmations?: number;
1278
- blockNumber?: number;
1279
- };
1280
- /**
1281
- * Info about the foreign exchange transaction
1282
- */
1283
- fx?: {
1284
- rate?: number;
1285
- sourceCurrency?: string;
1286
- targetCurrency?: string;
1287
- provider?: string;
1288
- slippage?: number;
1289
- spread?: number;
1290
- };
1291
- /**
1292
- * Info about the fee applied to the transaction
1293
- */
1294
- fee?: {
1295
- feeType?: 'flat' | 'percentage';
1296
- sourceAmount?: number;
1297
- appliedAmount?: number;
1298
- feeTargetAccountId?: string;
1299
- feeCode?: string;
1300
- };
1301
- /**
1302
- * Specific tag for reconciliation purposes, e.g. for bank statements, batchId, etc.
1303
- */
1304
- reconciliationTag?: string;
1305
- /**
1306
- * Specific code for bank clearing purposes
1307
- */
1308
- clearingCode?: string;
1309
- /**
1310
- * Tags for categorization or grouping of the transaction
1311
- */
1312
- tags?: string[];
1313
- /**
1314
- * Additional notes or comments about the transaction
1315
- */
1316
- note?: string;
1317
- }
1318
-
1319
1319
  export { ACCOUNT_TYPES as A, BALANCE_STRATEGIES as B, schema as D, ENTRY_STATUSES as E, account as F, accountIdentifier as G, accountIdentifierMapping as H, IDENTIFIER_KINDS as I, accountRelations as J, accountIdentifierRelations as K, accountIdentifierMappingRelations as L, entry as M, transaction as N, PAYMENT_CHARGE_TYPES as P, REFERENCE_TYPES as R, TRANSACTION_STATUSES as T, ASSET_TYPES as b, TRANSACTION_TYPES as h, PAYMENT_TYPES as n, PAYMENT_STATUSES as p, PAYMENT_DIRECTIONS as r, BATCH_STATUSES as u, COUNTRY_CODES as y };
1320
1320
  export type { CryptoNetworkCode as C, AccountType as a, AssetType as c, BalanceStrategy as d, IdentifierKind as e, EntryStatus as f, TransactionStatus as g, TransactionType as i, ReferenceType as j, PaymentChargeType as k, TransactionMetadata as l, EntryMetadata as m, PaymentType as o, PaymentStatus as q, PaymentDirection as s, CurrencyCode as t, BatchStatus as v, Currency as w, BankCode as x, CountryCode as z };
@@ -3,7 +3,7 @@
3
3
  const backendSdk = require('@develit-io/backend-sdk');
4
4
  const drizzleOrm = require('drizzle-orm');
5
5
  const sqliteCore = require('drizzle-orm/sqlite-core');
6
- const updateTransactionConfirmationSentAt = require('./ledger.D1MIlhpb.cjs');
6
+ const updateTransactionConfirmationSentAt = require('./ledger.DXlB4bbD.cjs');
7
7
  require('@develit-io/general-codes');
8
8
 
9
9
  const account = sqliteCore.sqliteTable("account", {
@@ -183,6 +183,11 @@ const deleteAccountInputSchema = z.object({
183
183
  accountId: z.uuid()
184
184
  });
185
185
 
186
+ const failTransactionInputSchema = z.object({
187
+ transactionId: z.uuid(),
188
+ completedAt: z.date().optional()
189
+ });
190
+
186
191
  const findAccountByIdentifierInputSchema = z.object({
187
192
  iban: z.string().optional(),
188
193
  accountNumber: z.string().optional(),
@@ -218,6 +223,34 @@ const getAccountsByOwnerInputSchema = z.object({
218
223
  ownerId: z.string().min(1)
219
224
  });
220
225
 
226
+ const getTransactionByIdInputSchema = z.object({
227
+ id: z.uuid()
228
+ });
229
+
230
+ const getTransactionsInputSchema = z.object({
231
+ page: z.number().positive(),
232
+ limit: z.number().positive(),
233
+ sort: z.object({
234
+ column: z.string(),
235
+ direction: z.enum(["asc", "desc"])
236
+ }),
237
+ [ALLOWED_TRANSACTION_FILTERS.CORRELATION_ID]: z.uuid().optional(),
238
+ [ALLOWED_TRANSACTION_FILTERS.REFERENCE_TYPE]: z.enum(REFERENCE_TYPES).optional(),
239
+ [ALLOWED_TRANSACTION_FILTERS.REFERENCE_ID]: z.uuid().optional(),
240
+ [ALLOWED_TRANSACTION_FILTERS.TYPE]: z.enum(TRANSACTION_TYPES).optional(),
241
+ [ALLOWED_TRANSACTION_FILTERS.DESCRIPTION]: z.string().optional(),
242
+ [ALLOWED_TRANSACTION_FILTERS.FROM]: z.date().optional(),
243
+ [ALLOWED_TRANSACTION_FILTERS.TO]: z.date().optional(),
244
+ [ALLOWED_TRANSACTION_FILTERS.COMPLETED_AT]: z.date().optional(),
245
+ [ALLOWED_TRANSACTION_FILTERS.STATUS]: z.enum(TRANSACTION_STATUSES).optional(),
246
+ search: z.string().optional()
247
+ });
248
+
249
+ const getTransactionsByReferenceIdInputSchema = z.object({
250
+ referenceType: z.enum(REFERENCE_TYPES),
251
+ referenceId: z.uuid()
252
+ });
253
+
221
254
  const listAccountIdentifiersInputSchema = z.object({
222
255
  accountId: z.uuid()
223
256
  });
@@ -232,6 +265,11 @@ const listAccountsInputSchema = z.object({
232
265
  offset: z.number().int().min(0).default(0)
233
266
  });
234
267
 
268
+ const matchTransactionInputSchema = z.object({
269
+ transactionId: z.uuid(),
270
+ completedAt: z.date().optional()
271
+ });
272
+
235
273
  const updateAccountInputSchema = z.object({
236
274
  accountId: z.uuid(),
237
275
  name: z.string().min(1).optional(),
@@ -244,42 +282,8 @@ const updateAccountInputSchema = z.object({
244
282
  // countryCode: z.enum(COUNTRY_CODES).optional(),
245
283
  });
246
284
 
247
- const updateTransactionInputSchema = z.object({
248
- transactionId: z.uuid(),
249
- status: z.enum(TRANSACTION_STATUSES),
250
- completedAt: z.date().optional()
251
- });
252
-
253
- const getTransactionByIdInputSchema = z.object({
254
- id: z.uuid()
255
- });
256
-
257
- const getTransactionsByReferenceIdInputSchema = z.object({
258
- referenceType: z.enum(REFERENCE_TYPES),
259
- referenceId: z.uuid()
260
- });
261
-
262
- const getTransactionsInputSchema = z.object({
263
- page: z.number().positive(),
264
- limit: z.number().positive(),
265
- sort: z.object({
266
- column: z.string(),
267
- direction: z.enum(["asc", "desc"])
268
- }),
269
- [ALLOWED_TRANSACTION_FILTERS.CORRELATION_ID]: z.uuid().optional(),
270
- [ALLOWED_TRANSACTION_FILTERS.REFERENCE_TYPE]: z.enum(REFERENCE_TYPES).optional(),
271
- [ALLOWED_TRANSACTION_FILTERS.REFERENCE_ID]: z.uuid().optional(),
272
- [ALLOWED_TRANSACTION_FILTERS.TYPE]: z.enum(TRANSACTION_TYPES).optional(),
273
- [ALLOWED_TRANSACTION_FILTERS.DESCRIPTION]: z.string().optional(),
274
- [ALLOWED_TRANSACTION_FILTERS.FROM]: z.date().optional(),
275
- [ALLOWED_TRANSACTION_FILTERS.TO]: z.date().optional(),
276
- [ALLOWED_TRANSACTION_FILTERS.COMPLETED_AT]: z.date().optional(),
277
- [ALLOWED_TRANSACTION_FILTERS.STATUS]: z.enum(TRANSACTION_STATUSES).optional(),
278
- search: z.string().optional()
279
- });
280
-
281
285
  const updateTransactionConfirmationSentAtInputSchema = z.object({
282
286
  transactionId: z.uuid()
283
287
  });
284
288
 
285
- export { ACCOUNT_TYPES as A, BALANCE_STRATEGIES as B, COUNTRY_CODES as C, ENTRY_STATUSES as E, IDENTIFIER_KINDS as I, PAYMENT_CHARGE_TYPES as P, REFERENCE_TYPES as R, TRANSACTION_STATUSES as T, ASSET_TYPES as a, TRANSACTION_TYPES as b, ALLOWED_TRANSACTION_FILTERS as c, createAccountInputSchema as d, createTransactionInputSchema as e, deleteAccountInputSchema as f, findAccountByIdentifierInputSchema as g, getAccountInputSchema as h, getAccountBalanceInputSchema as i, getAccountIdentifierInputSchema as j, getAccountsByOwnerInputSchema as k, listAccountIdentifiersInputSchema as l, listAccountsInputSchema as m, updateTransactionInputSchema as n, getTransactionByIdInputSchema as o, getTransactionsByReferenceIdInputSchema as p, getTransactionsInputSchema as q, updateTransactionConfirmationSentAtInputSchema as r, PAYMENT_TYPES as s, PAYMENT_STATUSES as t, updateAccountInputSchema as u, PAYMENT_DIRECTIONS as v, BATCH_STATUSES as w };
289
+ export { ACCOUNT_TYPES as A, BALANCE_STRATEGIES as B, COUNTRY_CODES as C, ENTRY_STATUSES as E, IDENTIFIER_KINDS as I, PAYMENT_CHARGE_TYPES as P, REFERENCE_TYPES as R, TRANSACTION_STATUSES as T, ASSET_TYPES as a, TRANSACTION_TYPES as b, ALLOWED_TRANSACTION_FILTERS as c, createAccountInputSchema as d, createTransactionInputSchema as e, deleteAccountInputSchema as f, failTransactionInputSchema as g, findAccountByIdentifierInputSchema as h, getAccountInputSchema as i, getAccountBalanceInputSchema as j, getAccountIdentifierInputSchema as k, getAccountsByOwnerInputSchema as l, getTransactionByIdInputSchema as m, getTransactionsInputSchema as n, getTransactionsByReferenceIdInputSchema as o, listAccountIdentifiersInputSchema as p, listAccountsInputSchema as q, matchTransactionInputSchema as r, updateTransactionConfirmationSentAtInputSchema as s, PAYMENT_TYPES as t, updateAccountInputSchema as u, PAYMENT_STATUSES as v, PAYMENT_DIRECTIONS as w, BATCH_STATUSES as x };
@@ -185,6 +185,11 @@ const deleteAccountInputSchema = zod.z.object({
185
185
  accountId: zod.z.uuid()
186
186
  });
187
187
 
188
+ const failTransactionInputSchema = zod.z.object({
189
+ transactionId: zod.z.uuid(),
190
+ completedAt: zod.z.date().optional()
191
+ });
192
+
188
193
  const findAccountByIdentifierInputSchema = zod.z.object({
189
194
  iban: zod.z.string().optional(),
190
195
  accountNumber: zod.z.string().optional(),
@@ -220,6 +225,34 @@ const getAccountsByOwnerInputSchema = zod.z.object({
220
225
  ownerId: zod.z.string().min(1)
221
226
  });
222
227
 
228
+ const getTransactionByIdInputSchema = zod.z.object({
229
+ id: zod.z.uuid()
230
+ });
231
+
232
+ const getTransactionsInputSchema = zod.z.object({
233
+ page: zod.z.number().positive(),
234
+ limit: zod.z.number().positive(),
235
+ sort: zod.z.object({
236
+ column: zod.z.string(),
237
+ direction: zod.z.enum(["asc", "desc"])
238
+ }),
239
+ [ALLOWED_TRANSACTION_FILTERS.CORRELATION_ID]: zod.z.uuid().optional(),
240
+ [ALLOWED_TRANSACTION_FILTERS.REFERENCE_TYPE]: zod.z.enum(REFERENCE_TYPES).optional(),
241
+ [ALLOWED_TRANSACTION_FILTERS.REFERENCE_ID]: zod.z.uuid().optional(),
242
+ [ALLOWED_TRANSACTION_FILTERS.TYPE]: zod.z.enum(TRANSACTION_TYPES).optional(),
243
+ [ALLOWED_TRANSACTION_FILTERS.DESCRIPTION]: zod.z.string().optional(),
244
+ [ALLOWED_TRANSACTION_FILTERS.FROM]: zod.z.date().optional(),
245
+ [ALLOWED_TRANSACTION_FILTERS.TO]: zod.z.date().optional(),
246
+ [ALLOWED_TRANSACTION_FILTERS.COMPLETED_AT]: zod.z.date().optional(),
247
+ [ALLOWED_TRANSACTION_FILTERS.STATUS]: zod.z.enum(TRANSACTION_STATUSES).optional(),
248
+ search: zod.z.string().optional()
249
+ });
250
+
251
+ const getTransactionsByReferenceIdInputSchema = zod.z.object({
252
+ referenceType: zod.z.enum(REFERENCE_TYPES),
253
+ referenceId: zod.z.uuid()
254
+ });
255
+
223
256
  const listAccountIdentifiersInputSchema = zod.z.object({
224
257
  accountId: zod.z.uuid()
225
258
  });
@@ -234,6 +267,11 @@ const listAccountsInputSchema = zod.z.object({
234
267
  offset: zod.z.number().int().min(0).default(0)
235
268
  });
236
269
 
270
+ const matchTransactionInputSchema = zod.z.object({
271
+ transactionId: zod.z.uuid(),
272
+ completedAt: zod.z.date().optional()
273
+ });
274
+
237
275
  const updateAccountInputSchema = zod.z.object({
238
276
  accountId: zod.z.uuid(),
239
277
  name: zod.z.string().min(1).optional(),
@@ -246,40 +284,6 @@ const updateAccountInputSchema = zod.z.object({
246
284
  // countryCode: z.enum(COUNTRY_CODES).optional(),
247
285
  });
248
286
 
249
- const updateTransactionInputSchema = zod.z.object({
250
- transactionId: zod.z.uuid(),
251
- status: zod.z.enum(TRANSACTION_STATUSES),
252
- completedAt: zod.z.date().optional()
253
- });
254
-
255
- const getTransactionByIdInputSchema = zod.z.object({
256
- id: zod.z.uuid()
257
- });
258
-
259
- const getTransactionsByReferenceIdInputSchema = zod.z.object({
260
- referenceType: zod.z.enum(REFERENCE_TYPES),
261
- referenceId: zod.z.uuid()
262
- });
263
-
264
- const getTransactionsInputSchema = zod.z.object({
265
- page: zod.z.number().positive(),
266
- limit: zod.z.number().positive(),
267
- sort: zod.z.object({
268
- column: zod.z.string(),
269
- direction: zod.z.enum(["asc", "desc"])
270
- }),
271
- [ALLOWED_TRANSACTION_FILTERS.CORRELATION_ID]: zod.z.uuid().optional(),
272
- [ALLOWED_TRANSACTION_FILTERS.REFERENCE_TYPE]: zod.z.enum(REFERENCE_TYPES).optional(),
273
- [ALLOWED_TRANSACTION_FILTERS.REFERENCE_ID]: zod.z.uuid().optional(),
274
- [ALLOWED_TRANSACTION_FILTERS.TYPE]: zod.z.enum(TRANSACTION_TYPES).optional(),
275
- [ALLOWED_TRANSACTION_FILTERS.DESCRIPTION]: zod.z.string().optional(),
276
- [ALLOWED_TRANSACTION_FILTERS.FROM]: zod.z.date().optional(),
277
- [ALLOWED_TRANSACTION_FILTERS.TO]: zod.z.date().optional(),
278
- [ALLOWED_TRANSACTION_FILTERS.COMPLETED_AT]: zod.z.date().optional(),
279
- [ALLOWED_TRANSACTION_FILTERS.STATUS]: zod.z.enum(TRANSACTION_STATUSES).optional(),
280
- search: zod.z.string().optional()
281
- });
282
-
283
287
  const updateTransactionConfirmationSentAtInputSchema = zod.z.object({
284
288
  transactionId: zod.z.uuid()
285
289
  });
@@ -302,6 +306,7 @@ exports.TRANSACTION_TYPES = TRANSACTION_TYPES;
302
306
  exports.createAccountInputSchema = createAccountInputSchema;
303
307
  exports.createTransactionInputSchema = createTransactionInputSchema;
304
308
  exports.deleteAccountInputSchema = deleteAccountInputSchema;
309
+ exports.failTransactionInputSchema = failTransactionInputSchema;
305
310
  exports.findAccountByIdentifierInputSchema = findAccountByIdentifierInputSchema;
306
311
  exports.getAccountBalanceInputSchema = getAccountBalanceInputSchema;
307
312
  exports.getAccountIdentifierInputSchema = getAccountIdentifierInputSchema;
@@ -312,6 +317,6 @@ exports.getTransactionsByReferenceIdInputSchema = getTransactionsByReferenceIdIn
312
317
  exports.getTransactionsInputSchema = getTransactionsInputSchema;
313
318
  exports.listAccountIdentifiersInputSchema = listAccountIdentifiersInputSchema;
314
319
  exports.listAccountsInputSchema = listAccountsInputSchema;
320
+ exports.matchTransactionInputSchema = matchTransactionInputSchema;
315
321
  exports.updateAccountInputSchema = updateAccountInputSchema;
316
322
  exports.updateTransactionConfirmationSentAtInputSchema = updateTransactionConfirmationSentAtInputSchema;
317
- exports.updateTransactionInputSchema = updateTransactionInputSchema;