@r2wa-org/eden 0.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +28 -0
  2. package/dist/src/admin/index.d.ts +4793 -0
  3. package/dist/src/auth/better-auth.d.ts +2915 -0
  4. package/dist/src/auth/better-hooks.d.ts +16 -0
  5. package/dist/src/auth/db.schemas.d.ts +2076 -0
  6. package/dist/src/auth/permissions.d.ts +155 -0
  7. package/dist/src/auth/roles.d.ts +376 -0
  8. package/dist/src/auth/router.d.ts +385 -0
  9. package/dist/src/auth/schema.d.ts +1080 -0
  10. package/dist/src/bank-account/admin.router.d.ts +880 -0
  11. package/dist/src/bank-account/db.schemas.d.ts +1032 -0
  12. package/dist/src/bank-account/dto.schemas.d.ts +572 -0
  13. package/dist/src/bank-account/index.d.ts +8 -0
  14. package/dist/src/bank-account/permissions.d.ts +10 -0
  15. package/dist/src/bank-account/router.d.ts +680 -0
  16. package/dist/src/bank-account/schema.d.ts +535 -0
  17. package/dist/src/bank-account/seed.d.ts +4 -0
  18. package/dist/src/bank-account/service.d.ts +359 -0
  19. package/dist/src/check-in/admin.router.d.ts +533 -0
  20. package/dist/src/check-in/db.schemas.d.ts +312 -0
  21. package/dist/src/check-in/dto.schemas.d.ts +544 -0
  22. package/dist/src/check-in/errors/index.d.ts +13 -0
  23. package/dist/src/check-in/errors/locales/zh.d.ts +10 -0
  24. package/dist/src/check-in/index.d.ts +7 -0
  25. package/dist/src/check-in/permissions.d.ts +6 -0
  26. package/dist/src/check-in/router.d.ts +619 -0
  27. package/dist/src/check-in/schema.d.ts +168 -0
  28. package/dist/src/check-in/service.d.ts +99 -0
  29. package/dist/src/cors/index.d.ts +30 -0
  30. package/dist/src/cron/index.d.ts +76 -0
  31. package/dist/src/db/columns.helpers.d.ts +13 -0
  32. package/dist/src/db/enums.d.ts +1 -0
  33. package/dist/src/db/index.d.ts +4 -0
  34. package/dist/src/db/schemas.d.ts +24 -0
  35. package/dist/src/db/transaction.d.ts +3 -0
  36. package/dist/src/db/typebox.d.ts +19 -0
  37. package/dist/src/deposit/admin.router.d.ts +633 -0
  38. package/dist/src/deposit/db.schemas.d.ts +550 -0
  39. package/dist/src/deposit/dto.schemas.d.ts +707 -0
  40. package/dist/src/deposit/errors/index.d.ts +33 -0
  41. package/dist/src/deposit/errors/locales/zh.d.ts +18 -0
  42. package/dist/src/deposit/index.d.ts +7 -0
  43. package/dist/src/deposit/permissions.d.ts +9 -0
  44. package/dist/src/deposit/router.d.ts +621 -0
  45. package/dist/src/deposit/schema.d.ts +287 -0
  46. package/dist/src/deposit/service.d.ts +278 -0
  47. package/dist/src/dynamic-env/admin.router.d.ts +637 -0
  48. package/dist/src/dynamic-env/cache.d.ts +35 -0
  49. package/dist/src/dynamic-env/db.schemas.d.ts +182 -0
  50. package/dist/src/dynamic-env/dto.schema.d.ts +17 -0
  51. package/dist/src/dynamic-env/index.d.ts +3 -0
  52. package/dist/src/dynamic-env/schema.d.ts +96 -0
  53. package/dist/src/dynamic-env/service.d.ts +93 -0
  54. package/dist/src/eden/index.d.ts +57 -0
  55. package/dist/src/email/index.d.ts +2 -0
  56. package/dist/src/env/client.d.ts +2 -0
  57. package/dist/src/env/index.d.ts +2 -0
  58. package/dist/src/env/server.d.ts +50 -0
  59. package/dist/src/env/typebox-env.d.ts +7 -0
  60. package/dist/src/error/errorcode.d.ts +9 -0
  61. package/dist/src/error/index.d.ts +120 -0
  62. package/dist/src/error/locales/zh.d.ts +2 -0
  63. package/dist/src/error/messages.d.ts +10 -0
  64. package/dist/src/external/dto.schemas.d.ts +173 -0
  65. package/dist/src/external/errors/index.d.ts +13 -0
  66. package/dist/src/external/errors/locales/zh.d.ts +10 -0
  67. package/dist/src/external/index.d.ts +4 -0
  68. package/dist/src/external/router.d.ts +105 -0
  69. package/dist/src/external/service.d.ts +31 -0
  70. package/dist/src/file-storage/admin.router.d.ts +601 -0
  71. package/dist/src/file-storage/db.schemas.d.ts +1026 -0
  72. package/dist/src/file-storage/dto.schemas.d.ts +1238 -0
  73. package/dist/src/file-storage/errors/index.d.ts +19 -0
  74. package/dist/src/file-storage/errors/locales/zh.d.ts +18 -0
  75. package/dist/src/file-storage/index.d.ts +6 -0
  76. package/dist/src/file-storage/permissions.d.ts +5 -0
  77. package/dist/src/file-storage/router.d.ts +588 -0
  78. package/dist/src/file-storage/s3.client.d.ts +284 -0
  79. package/dist/src/file-storage/schema.d.ts +538 -0
  80. package/dist/src/file-storage/service.d.ts +264 -0
  81. package/dist/src/file-storage/share.router.d.ts +564 -0
  82. package/dist/src/index.d.ts +8664 -0
  83. package/dist/src/ledger/admin.router.d.ts +524 -0
  84. package/dist/src/ledger/db.schemas.d.ts +486 -0
  85. package/dist/src/ledger/dto.schemas.d.ts +160 -0
  86. package/dist/src/ledger/errors/index.d.ts +22 -0
  87. package/dist/src/ledger/errors/locales/zh.d.ts +14 -0
  88. package/dist/src/ledger/index.d.ts +6 -0
  89. package/dist/src/ledger/permissions.d.ts +8 -0
  90. package/dist/src/ledger/router.d.ts +486 -0
  91. package/dist/src/ledger/schema.d.ts +259 -0
  92. package/dist/src/ledger/service.d.ts +208 -0
  93. package/dist/src/nanoid/index.d.ts +2 -0
  94. package/dist/src/news/admin.router.d.ts +824 -0
  95. package/dist/src/news/db.schemas.d.ts +1150 -0
  96. package/dist/src/news/dto.schemas.d.ts +233 -0
  97. package/dist/src/news/errors/index.d.ts +20 -0
  98. package/dist/src/news/errors/locales/zh.d.ts +13 -0
  99. package/dist/src/news/index.d.ts +6 -0
  100. package/dist/src/news/permissions.d.ts +4 -0
  101. package/dist/src/news/router.d.ts +620 -0
  102. package/dist/src/news/schema.d.ts +616 -0
  103. package/dist/src/news/service.d.ts +495 -0
  104. package/dist/src/news-category/admin.router.d.ts +207 -0
  105. package/dist/src/news-category/constants.d.ts +1 -0
  106. package/dist/src/news-category/db.schemas.d.ts +324 -0
  107. package/dist/src/news-category/dto.schemas.d.ts +57 -0
  108. package/dist/src/news-category/errors/index.d.ts +19 -0
  109. package/dist/src/news-category/errors/locales/zh.d.ts +13 -0
  110. package/dist/src/news-category/index.d.ts +7 -0
  111. package/dist/src/news-category/permissions.d.ts +4 -0
  112. package/dist/src/news-category/router.d.ts +460 -0
  113. package/dist/src/news-category/schema.d.ts +173 -0
  114. package/dist/src/news-category/seed.d.ts +12 -0
  115. package/dist/src/news-category/service.d.ts +105 -0
  116. package/dist/src/notification/admin.router.d.ts +582 -0
  117. package/dist/src/notification/db.schemas.d.ts +624 -0
  118. package/dist/src/notification/dto.schemas.d.ts +457 -0
  119. package/dist/src/notification/errors/index.d.ts +19 -0
  120. package/dist/src/notification/errors/locales/zh.d.ts +13 -0
  121. package/dist/src/notification/index.d.ts +7 -0
  122. package/dist/src/notification/permissions.d.ts +6 -0
  123. package/dist/src/notification/router.d.ts +626 -0
  124. package/dist/src/notification/schema.d.ts +347 -0
  125. package/dist/src/notification/service.d.ts +195 -0
  126. package/dist/src/receipt-method/admin.router.d.ts +579 -0
  127. package/dist/src/receipt-method/db.schemas.d.ts +380 -0
  128. package/dist/src/receipt-method/dto.schemas.d.ts +418 -0
  129. package/dist/src/receipt-method/index.d.ts +7 -0
  130. package/dist/src/receipt-method/permissions.d.ts +4 -0
  131. package/dist/src/receipt-method/router.d.ts +602 -0
  132. package/dist/src/receipt-method/schema.d.ts +205 -0
  133. package/dist/src/receipt-method/service.d.ts +152 -0
  134. package/dist/src/referral/admin.router.d.ts +562 -0
  135. package/dist/src/referral/db.schemas.d.ts +420 -0
  136. package/dist/src/referral/dto.schemas.d.ts +665 -0
  137. package/dist/src/referral/errors/index.d.ts +14 -0
  138. package/dist/src/referral/errors/locales/zh.d.ts +13 -0
  139. package/dist/src/referral/index.d.ts +6 -0
  140. package/dist/src/referral/permissions.d.ts +8 -0
  141. package/dist/src/referral/router.d.ts +579 -0
  142. package/dist/src/referral/schema.d.ts +235 -0
  143. package/dist/src/referral/service.d.ts +42 -0
  144. package/dist/src/referral-depth-config/admin.router.d.ts +646 -0
  145. package/dist/src/referral-depth-config/db.schemas.d.ts +176 -0
  146. package/dist/src/referral-depth-config/dto.schemas.d.ts +208 -0
  147. package/dist/src/referral-depth-config/errors/index.d.ts +11 -0
  148. package/dist/src/referral-depth-config/errors/locales/zh.d.ts +10 -0
  149. package/dist/src/referral-depth-config/index.d.ts +5 -0
  150. package/dist/src/referral-depth-config/permissions.d.ts +8 -0
  151. package/dist/src/referral-depth-config/schema.d.ts +99 -0
  152. package/dist/src/referral-depth-config/service.d.ts +56 -0
  153. package/dist/src/server-test/errors/index.d.ts +10 -0
  154. package/dist/src/server-test/errors/locales/zh.d.ts +9 -0
  155. package/dist/src/server-test/index.d.ts +486 -0
  156. package/dist/src/shipping-address/admin.router.d.ts +507 -0
  157. package/dist/src/shipping-address/db.schemas.d.ts +278 -0
  158. package/dist/src/shipping-address/dto.schemas.d.ts +303 -0
  159. package/dist/src/shipping-address/index.d.ts +7 -0
  160. package/dist/src/shipping-address/permissions.d.ts +4 -0
  161. package/dist/src/shipping-address/router.d.ts +621 -0
  162. package/dist/src/shipping-address/schema.d.ts +150 -0
  163. package/dist/src/shipping-address/service.d.ts +109 -0
  164. package/dist/src/sms/index.d.ts +5 -0
  165. package/dist/src/subscription/admin.router.d.ts +818 -0
  166. package/dist/src/subscription/cron.d.ts +53 -0
  167. package/dist/src/subscription/db.schemas.d.ts +896 -0
  168. package/dist/src/subscription/dto.schemas.d.ts +1942 -0
  169. package/dist/src/subscription/errors/index.d.ts +21 -0
  170. package/dist/src/subscription/errors/locales/zh.d.ts +20 -0
  171. package/dist/src/subscription/index.d.ts +7 -0
  172. package/dist/src/subscription/permissions.d.ts +5 -0
  173. package/dist/src/subscription/router.d.ts +625 -0
  174. package/dist/src/subscription/schema.d.ts +475 -0
  175. package/dist/src/subscription/service.d.ts +306 -0
  176. package/dist/src/team/admin.router.d.ts +569 -0
  177. package/dist/src/team/dto.schemas.d.ts +2110 -0
  178. package/dist/src/team/errors/index.d.ts +12 -0
  179. package/dist/src/team/errors/locales/zh.d.ts +11 -0
  180. package/dist/src/team/index.d.ts +5 -0
  181. package/dist/src/team/permissions.d.ts +7 -0
  182. package/dist/src/team/router.d.ts +737 -0
  183. package/dist/src/team/service.d.ts +40 -0
  184. package/dist/src/transfer/admin.router.d.ts +595 -0
  185. package/dist/src/transfer/db.schemas.d.ts +318 -0
  186. package/dist/src/transfer/dto.schemas.d.ts +4209 -0
  187. package/dist/src/transfer/errors/index.d.ts +32 -0
  188. package/dist/src/transfer/errors/locales/zh.d.ts +19 -0
  189. package/dist/src/transfer/index.d.ts +8 -0
  190. package/dist/src/transfer/permissions.d.ts +8 -0
  191. package/dist/src/transfer/router.d.ts +597 -0
  192. package/dist/src/transfer/schema.d.ts +169 -0
  193. package/dist/src/transfer/service.d.ts +232 -0
  194. package/dist/src/user/admin.router.d.ts +827 -0
  195. package/dist/src/user/db.schemas.d.ts +1038 -0
  196. package/dist/src/user/dto.schemas.d.ts +1446 -0
  197. package/dist/src/user/errors/index.d.ts +38 -0
  198. package/dist/src/user/errors/locales/zh.d.ts +22 -0
  199. package/dist/src/user/index.d.ts +7 -0
  200. package/dist/src/user/permissions.d.ts +7 -0
  201. package/dist/src/user/router.d.ts +560 -0
  202. package/dist/src/user/schema.d.ts +541 -0
  203. package/dist/src/user/service.d.ts +294 -0
  204. package/dist/src/user-kyc/admin.router.d.ts +669 -0
  205. package/dist/src/user-kyc/db.schemas.d.ts +896 -0
  206. package/dist/src/user-kyc/dto.schemas.d.ts +939 -0
  207. package/dist/src/user-kyc/errors/index.d.ts +21 -0
  208. package/dist/src/user-kyc/errors/locales/zh.d.ts +14 -0
  209. package/dist/src/user-kyc/index.d.ts +8 -0
  210. package/dist/src/user-kyc/permissions.d.ts +6 -0
  211. package/dist/src/user-kyc/router.d.ts +602 -0
  212. package/dist/src/user-kyc/schema.d.ts +474 -0
  213. package/dist/src/user-kyc/service.d.ts +170 -0
  214. package/dist/src/user-security/admin.router.d.ts +493 -0
  215. package/dist/src/user-security/db.schemas.d.ts +414 -0
  216. package/dist/src/user-security/dto.schemas.d.ts +36 -0
  217. package/dist/src/user-security/index.d.ts +6 -0
  218. package/dist/src/user-security/router.d.ts +547 -0
  219. package/dist/src/user-security/schema.d.ts +215 -0
  220. package/dist/src/user-security/service.d.ts +51 -0
  221. package/dist/src/utils/date.d.ts +21 -0
  222. package/dist/src/utils/index.d.ts +4 -0
  223. package/dist/src/utils/order.d.ts +6 -0
  224. package/dist/src/utils/pagination.d.ts +113 -0
  225. package/dist/src/utils/password.d.ts +8 -0
  226. package/dist/src/wallet/admin.router.d.ts +616 -0
  227. package/dist/src/wallet/db.schemas.d.ts +278 -0
  228. package/dist/src/wallet/dto.schemas.d.ts +1690 -0
  229. package/dist/src/wallet/ensure.d.ts +11 -0
  230. package/dist/src/wallet/index.d.ts +6 -0
  231. package/dist/src/wallet/router.d.ts +654 -0
  232. package/dist/src/wallet/schema.d.ts +152 -0
  233. package/dist/src/wallet/service.d.ts +225 -0
  234. package/dist/src/wallet-import/admin.router.d.ts +690 -0
  235. package/dist/src/wallet-import/db.schemas.d.ts +1070 -0
  236. package/dist/src/wallet-import/dto.schemas.d.ts +1119 -0
  237. package/dist/src/wallet-import/errors/index.d.ts +17 -0
  238. package/dist/src/wallet-import/errors/locales/zh.d.ts +16 -0
  239. package/dist/src/wallet-import/index.d.ts +8 -0
  240. package/dist/src/wallet-import/permissions.d.ts +7 -0
  241. package/dist/src/wallet-import/schema.d.ts +566 -0
  242. package/dist/src/wallet-import/service.d.ts +101 -0
  243. package/dist/src/wallet-import/worker.d.ts +1 -0
  244. package/dist/src/wallet-transfer/dto.schemas.d.ts +64 -0
  245. package/dist/src/wallet-transfer/errors/index.d.ts +25 -0
  246. package/dist/src/wallet-transfer/errors/locales/zh.d.ts +16 -0
  247. package/dist/src/wallet-transfer/index.d.ts +4 -0
  248. package/dist/src/wallet-transfer/router.d.ts +465 -0
  249. package/dist/src/wallet-transfer/service.d.ts +26 -0
  250. package/dist/src/wallet-type/admin.router.d.ts +767 -0
  251. package/dist/src/wallet-type/constants.d.ts +4 -0
  252. package/dist/src/wallet-type/db.schemas.d.ts +794 -0
  253. package/dist/src/wallet-type/dto.schemas.d.ts +160 -0
  254. package/dist/src/wallet-type/errors/index.d.ts +25 -0
  255. package/dist/src/wallet-type/errors/locales/zh.d.ts +16 -0
  256. package/dist/src/wallet-type/index.d.ts +7 -0
  257. package/dist/src/wallet-type/permissions.d.ts +5 -0
  258. package/dist/src/wallet-type/schema.d.ts +408 -0
  259. package/dist/src/wallet-type/seed.d.ts +4 -0
  260. package/dist/src/wallet-type/service.d.ts +208 -0
  261. package/dist/src/withdraw/admin.router.d.ts +654 -0
  262. package/dist/src/withdraw/db.schemas.d.ts +516 -0
  263. package/dist/src/withdraw/dto.schemas.d.ts +816 -0
  264. package/dist/src/withdraw/errors/index.d.ts +41 -0
  265. package/dist/src/withdraw/errors/locales/zh.d.ts +22 -0
  266. package/dist/src/withdraw/index.d.ts +7 -0
  267. package/dist/src/withdraw/permissions.d.ts +9 -0
  268. package/dist/src/withdraw/router.d.ts +522 -0
  269. package/dist/src/withdraw/schema.d.ts +272 -0
  270. package/dist/src/withdraw/service.d.ts +143 -0
  271. package/package.json +19 -0
@@ -0,0 +1,259 @@
1
+ /** Ledger 条目类型 */
2
+ export declare const ledgerEntryTypeEnum: import("drizzle-orm/pg-core").PgEnum<["deposit_confirmed", "deposit_commission", "withdraw_frozen", "withdraw_confirmed", "withdraw_fee", "withdraw_rejected", "transfer_in", "transfer_out", "wallet_transfer_in", "wallet_transfer_out", "freeze", "unfreeze", "manual_increase", "manual_decrease", "subscription_purchase", "subscription_unlock"]>;
3
+ /** 业务单据类型(referenceType) */
4
+ export declare const referenceTypeEnum: import("drizzle-orm/pg-core").PgEnum<["deposit_order", "deposit_commission", "withdraw_order", "transfer_order", "account_transfer", "manual_adjustment", "subscription_order"]>;
5
+ /**
6
+ * 账本条目表(Append-only)
7
+ * 记录所有余额变动,不可修改不可删除
8
+ */
9
+ export declare const ledgerEntry: import("drizzle-orm/pg-core").PgTableWithColumns<{
10
+ name: "ledger_entry";
11
+ schema: undefined;
12
+ columns: {
13
+ id: import("drizzle-orm/pg-core").PgColumn<{
14
+ name: "id";
15
+ tableName: "ledger_entry";
16
+ dataType: "string";
17
+ columnType: "PgUUID";
18
+ data: string;
19
+ driverParam: string;
20
+ notNull: true;
21
+ hasDefault: true;
22
+ isPrimaryKey: true;
23
+ isAutoincrement: false;
24
+ hasRuntimeDefault: false;
25
+ enumValues: undefined;
26
+ baseColumn: never;
27
+ identity: undefined;
28
+ generated: undefined;
29
+ }, {}, {}>;
30
+ userId: import("drizzle-orm/pg-core").PgColumn<{
31
+ name: "user_id";
32
+ tableName: "ledger_entry";
33
+ dataType: "string";
34
+ columnType: "PgText";
35
+ data: string;
36
+ driverParam: string;
37
+ notNull: true;
38
+ hasDefault: false;
39
+ isPrimaryKey: false;
40
+ isAutoincrement: false;
41
+ hasRuntimeDefault: false;
42
+ enumValues: [string, ...string[]];
43
+ baseColumn: never;
44
+ identity: undefined;
45
+ generated: undefined;
46
+ }, {}, {}>;
47
+ walletTypeId: import("drizzle-orm/pg-core").PgColumn<{
48
+ name: "wallet_type_id";
49
+ tableName: "ledger_entry";
50
+ dataType: "string";
51
+ columnType: "PgUUID";
52
+ data: string;
53
+ driverParam: string;
54
+ notNull: true;
55
+ hasDefault: false;
56
+ isPrimaryKey: false;
57
+ isAutoincrement: false;
58
+ hasRuntimeDefault: false;
59
+ enumValues: undefined;
60
+ baseColumn: never;
61
+ identity: undefined;
62
+ generated: undefined;
63
+ }, {}, {}>;
64
+ entryType: import("drizzle-orm/pg-core").PgColumn<{
65
+ name: "entry_type";
66
+ tableName: "ledger_entry";
67
+ dataType: "string";
68
+ columnType: "PgEnumColumn";
69
+ data: "deposit_confirmed" | "deposit_commission" | "withdraw_frozen" | "withdraw_confirmed" | "withdraw_fee" | "withdraw_rejected" | "transfer_in" | "transfer_out" | "wallet_transfer_in" | "wallet_transfer_out" | "freeze" | "unfreeze" | "manual_increase" | "manual_decrease" | "subscription_purchase" | "subscription_unlock";
70
+ driverParam: string;
71
+ notNull: true;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: ["deposit_confirmed", "deposit_commission", "withdraw_frozen", "withdraw_confirmed", "withdraw_fee", "withdraw_rejected", "transfer_in", "transfer_out", "wallet_transfer_in", "wallet_transfer_out", "freeze", "unfreeze", "manual_increase", "manual_decrease", "subscription_purchase", "subscription_unlock"];
77
+ baseColumn: never;
78
+ identity: undefined;
79
+ generated: undefined;
80
+ }, {}, {}>;
81
+ amount: import("drizzle-orm/pg-core").PgColumn<{
82
+ name: "amount";
83
+ tableName: "ledger_entry";
84
+ dataType: "string";
85
+ columnType: "PgNumeric";
86
+ data: string;
87
+ driverParam: string;
88
+ notNull: true;
89
+ hasDefault: false;
90
+ isPrimaryKey: false;
91
+ isAutoincrement: false;
92
+ hasRuntimeDefault: false;
93
+ enumValues: undefined;
94
+ baseColumn: never;
95
+ identity: undefined;
96
+ generated: undefined;
97
+ }, {}, {}>;
98
+ availableBefore: import("drizzle-orm/pg-core").PgColumn<{
99
+ name: "available_before";
100
+ tableName: "ledger_entry";
101
+ dataType: "string";
102
+ columnType: "PgNumeric";
103
+ data: string;
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: false;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: undefined;
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {}>;
115
+ availableAfter: import("drizzle-orm/pg-core").PgColumn<{
116
+ name: "available_after";
117
+ tableName: "ledger_entry";
118
+ dataType: "string";
119
+ columnType: "PgNumeric";
120
+ data: string;
121
+ driverParam: string;
122
+ notNull: true;
123
+ hasDefault: false;
124
+ isPrimaryKey: false;
125
+ isAutoincrement: false;
126
+ hasRuntimeDefault: false;
127
+ enumValues: undefined;
128
+ baseColumn: never;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }, {}, {}>;
132
+ frozenBefore: import("drizzle-orm/pg-core").PgColumn<{
133
+ name: "frozen_before";
134
+ tableName: "ledger_entry";
135
+ dataType: "string";
136
+ columnType: "PgNumeric";
137
+ data: string;
138
+ driverParam: string;
139
+ notNull: true;
140
+ hasDefault: false;
141
+ isPrimaryKey: false;
142
+ isAutoincrement: false;
143
+ hasRuntimeDefault: false;
144
+ enumValues: undefined;
145
+ baseColumn: never;
146
+ identity: undefined;
147
+ generated: undefined;
148
+ }, {}, {}>;
149
+ frozenAfter: import("drizzle-orm/pg-core").PgColumn<{
150
+ name: "frozen_after";
151
+ tableName: "ledger_entry";
152
+ dataType: "string";
153
+ columnType: "PgNumeric";
154
+ data: string;
155
+ driverParam: string;
156
+ notNull: true;
157
+ hasDefault: false;
158
+ isPrimaryKey: false;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: undefined;
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {}>;
166
+ referenceId: import("drizzle-orm/pg-core").PgColumn<{
167
+ name: "reference_id";
168
+ tableName: "ledger_entry";
169
+ dataType: "string";
170
+ columnType: "PgVarchar";
171
+ data: string;
172
+ driverParam: string;
173
+ notNull: true;
174
+ hasDefault: false;
175
+ isPrimaryKey: false;
176
+ isAutoincrement: false;
177
+ hasRuntimeDefault: false;
178
+ enumValues: [string, ...string[]];
179
+ baseColumn: never;
180
+ identity: undefined;
181
+ generated: undefined;
182
+ }, {}, {
183
+ length: 64;
184
+ }>;
185
+ referenceType: import("drizzle-orm/pg-core").PgColumn<{
186
+ name: "reference_type";
187
+ tableName: "ledger_entry";
188
+ dataType: "string";
189
+ columnType: "PgEnumColumn";
190
+ data: "deposit_commission" | "deposit_order" | "withdraw_order" | "transfer_order" | "account_transfer" | "manual_adjustment" | "subscription_order";
191
+ driverParam: string;
192
+ notNull: true;
193
+ hasDefault: false;
194
+ isPrimaryKey: false;
195
+ isAutoincrement: false;
196
+ hasRuntimeDefault: false;
197
+ enumValues: ["deposit_order", "deposit_commission", "withdraw_order", "transfer_order", "account_transfer", "manual_adjustment", "subscription_order"];
198
+ baseColumn: never;
199
+ identity: undefined;
200
+ generated: undefined;
201
+ }, {}, {}>;
202
+ memo: import("drizzle-orm/pg-core").PgColumn<{
203
+ name: "memo";
204
+ tableName: "ledger_entry";
205
+ dataType: "string";
206
+ columnType: "PgText";
207
+ data: string;
208
+ driverParam: string;
209
+ notNull: false;
210
+ hasDefault: false;
211
+ isPrimaryKey: false;
212
+ isAutoincrement: false;
213
+ hasRuntimeDefault: false;
214
+ enumValues: [string, ...string[]];
215
+ baseColumn: never;
216
+ identity: undefined;
217
+ generated: undefined;
218
+ }, {}, {}>;
219
+ operatorId: import("drizzle-orm/pg-core").PgColumn<{
220
+ name: "operator_id";
221
+ tableName: "ledger_entry";
222
+ dataType: "string";
223
+ columnType: "PgText";
224
+ data: string;
225
+ driverParam: string;
226
+ notNull: false;
227
+ hasDefault: false;
228
+ isPrimaryKey: false;
229
+ isAutoincrement: false;
230
+ hasRuntimeDefault: false;
231
+ enumValues: [string, ...string[]];
232
+ baseColumn: never;
233
+ identity: undefined;
234
+ generated: undefined;
235
+ }, {}, {}>;
236
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
237
+ name: "created_at";
238
+ tableName: "ledger_entry";
239
+ dataType: "date";
240
+ columnType: "PgTimestamp";
241
+ data: Date;
242
+ driverParam: string;
243
+ notNull: true;
244
+ hasDefault: true;
245
+ isPrimaryKey: false;
246
+ isAutoincrement: false;
247
+ hasRuntimeDefault: false;
248
+ enumValues: undefined;
249
+ baseColumn: never;
250
+ identity: undefined;
251
+ generated: undefined;
252
+ }, {}, {}>;
253
+ };
254
+ dialect: "pg";
255
+ }>;
256
+ export declare const ledgerEntryRelations: import("drizzle-orm").Relations<"ledger_entry", {
257
+ user: import("drizzle-orm").One<"user", true>;
258
+ walletType: import("drizzle-orm").One<"wallet_type", true>;
259
+ }>;
@@ -0,0 +1,208 @@
1
+ import Decimal from "decimal.js";
2
+ import type { PgTransaction } from "drizzle-orm/pg-core";
3
+ import type { LedgerEntrySelectSchemaType } from "./db.schemas";
4
+ export interface CreateLedgerEntryParams {
5
+ userId: string;
6
+ walletTypeId: string;
7
+ entryType: LedgerEntrySelectSchemaType["entryType"];
8
+ amount: string | Decimal;
9
+ referenceId: string;
10
+ referenceType: LedgerEntrySelectSchemaType["referenceType"];
11
+ memo?: string | undefined;
12
+ operatorId?: string | undefined;
13
+ }
14
+ export interface BalanceChangeResult {
15
+ success: boolean;
16
+ ledgerEntryId: string;
17
+ availableBefore: string;
18
+ availableAfter: string;
19
+ frozenBefore: string;
20
+ frozenAfter: string;
21
+ isIdempotent?: boolean;
22
+ }
23
+ export interface LedgerEntryQueryOptions {
24
+ walletTypeId?: LedgerEntrySelectSchemaType["walletTypeId"];
25
+ entryType?: LedgerEntrySelectSchemaType["entryType"];
26
+ limit?: number | undefined;
27
+ offset?: number | undefined;
28
+ }
29
+ declare abstract class BaseLedgerService {
30
+ protected static listLedgerEntries(userId: string, options?: LedgerEntryQueryOptions): Promise<{
31
+ items: {
32
+ id: string;
33
+ createdAt: Date;
34
+ userId: string;
35
+ walletTypeId: string;
36
+ entryType: "deposit_confirmed" | "deposit_commission" | "withdraw_frozen" | "withdraw_confirmed" | "withdraw_fee" | "withdraw_rejected" | "transfer_in" | "transfer_out" | "wallet_transfer_in" | "wallet_transfer_out" | "freeze" | "unfreeze" | "manual_increase" | "manual_decrease" | "subscription_purchase" | "subscription_unlock";
37
+ amount: string;
38
+ availableBefore: string;
39
+ availableAfter: string;
40
+ frozenBefore: string;
41
+ frozenAfter: string;
42
+ referenceId: string;
43
+ referenceType: "deposit_commission" | "deposit_order" | "withdraw_order" | "transfer_order" | "account_transfer" | "manual_adjustment" | "subscription_order";
44
+ memo: string | null;
45
+ operatorId: string | null;
46
+ walletType: {
47
+ id: string;
48
+ name: string;
49
+ createdAt: Date;
50
+ updatedAt: Date;
51
+ description: string | null;
52
+ code: "balance" | "profit" | "team" | "check_in" | "meeting_reward" | "reform_pioneer_allowance" | "reform_monthly_enjoy" | "basic_livelihood" | "basic_pension" | "basic_medical";
53
+ allowDeposit: boolean;
54
+ allowWithdraw: boolean;
55
+ minWithdrawAmount: string;
56
+ maxWithdrawAmount: string;
57
+ allowTransfer: boolean;
58
+ minTransferAmount: string;
59
+ maxTransferAmount: string;
60
+ allowExchange: boolean;
61
+ allowReceiveExchange: boolean;
62
+ minExchangeAmount: string;
63
+ maxExchangeAmount: string;
64
+ exchangeRate: string;
65
+ allowTransaction: boolean;
66
+ hasExpiry: boolean;
67
+ expiryDays: number | null;
68
+ isActive: boolean;
69
+ sortOrder: number;
70
+ };
71
+ }[];
72
+ total: number;
73
+ }>;
74
+ }
75
+ /**
76
+ * 用户侧账本服务
77
+ * 提供用户查询自己账本记录的功能
78
+ */
79
+ export declare abstract class UserLedgerService extends BaseLedgerService {
80
+ /**
81
+ * 获取用户自己的账本记录
82
+ */
83
+ static getLedgerEntries(userId: string, options?: LedgerEntryQueryOptions): Promise<{
84
+ items: {
85
+ id: string;
86
+ createdAt: Date;
87
+ userId: string;
88
+ walletTypeId: string;
89
+ entryType: "deposit_confirmed" | "deposit_commission" | "withdraw_frozen" | "withdraw_confirmed" | "withdraw_fee" | "withdraw_rejected" | "transfer_in" | "transfer_out" | "wallet_transfer_in" | "wallet_transfer_out" | "freeze" | "unfreeze" | "manual_increase" | "manual_decrease" | "subscription_purchase" | "subscription_unlock";
90
+ amount: string;
91
+ availableBefore: string;
92
+ availableAfter: string;
93
+ frozenBefore: string;
94
+ frozenAfter: string;
95
+ referenceId: string;
96
+ referenceType: "deposit_commission" | "deposit_order" | "withdraw_order" | "transfer_order" | "account_transfer" | "manual_adjustment" | "subscription_order";
97
+ memo: string | null;
98
+ operatorId: string | null;
99
+ walletType: {
100
+ id: string;
101
+ name: string;
102
+ createdAt: Date;
103
+ updatedAt: Date;
104
+ description: string | null;
105
+ code: "balance" | "profit" | "team" | "check_in" | "meeting_reward" | "reform_pioneer_allowance" | "reform_monthly_enjoy" | "basic_livelihood" | "basic_pension" | "basic_medical";
106
+ allowDeposit: boolean;
107
+ allowWithdraw: boolean;
108
+ minWithdrawAmount: string;
109
+ maxWithdrawAmount: string;
110
+ allowTransfer: boolean;
111
+ minTransferAmount: string;
112
+ maxTransferAmount: string;
113
+ allowExchange: boolean;
114
+ allowReceiveExchange: boolean;
115
+ minExchangeAmount: string;
116
+ maxExchangeAmount: string;
117
+ exchangeRate: string;
118
+ allowTransaction: boolean;
119
+ hasExpiry: boolean;
120
+ expiryDays: number | null;
121
+ isActive: boolean;
122
+ sortOrder: number;
123
+ };
124
+ }[];
125
+ total: number;
126
+ }>;
127
+ }
128
+ /**
129
+ * 管理侧账本服务
130
+ * 提供管理员查询任意用户账本记录的功能
131
+ */
132
+ export declare abstract class AdminLedgerService extends BaseLedgerService {
133
+ /**
134
+ * 获取指定用户的账本记录
135
+ */
136
+ static getLedgerEntries(userId: string, options?: LedgerEntryQueryOptions): Promise<{
137
+ items: {
138
+ id: string;
139
+ createdAt: Date;
140
+ userId: string;
141
+ walletTypeId: string;
142
+ entryType: "deposit_confirmed" | "deposit_commission" | "withdraw_frozen" | "withdraw_confirmed" | "withdraw_fee" | "withdraw_rejected" | "transfer_in" | "transfer_out" | "wallet_transfer_in" | "wallet_transfer_out" | "freeze" | "unfreeze" | "manual_increase" | "manual_decrease" | "subscription_purchase" | "subscription_unlock";
143
+ amount: string;
144
+ availableBefore: string;
145
+ availableAfter: string;
146
+ frozenBefore: string;
147
+ frozenAfter: string;
148
+ referenceId: string;
149
+ referenceType: "deposit_commission" | "deposit_order" | "withdraw_order" | "transfer_order" | "account_transfer" | "manual_adjustment" | "subscription_order";
150
+ memo: string | null;
151
+ operatorId: string | null;
152
+ walletType: {
153
+ id: string;
154
+ name: string;
155
+ createdAt: Date;
156
+ updatedAt: Date;
157
+ description: string | null;
158
+ code: "balance" | "profit" | "team" | "check_in" | "meeting_reward" | "reform_pioneer_allowance" | "reform_monthly_enjoy" | "basic_livelihood" | "basic_pension" | "basic_medical";
159
+ allowDeposit: boolean;
160
+ allowWithdraw: boolean;
161
+ minWithdrawAmount: string;
162
+ maxWithdrawAmount: string;
163
+ allowTransfer: boolean;
164
+ minTransferAmount: string;
165
+ maxTransferAmount: string;
166
+ allowExchange: boolean;
167
+ allowReceiveExchange: boolean;
168
+ minExchangeAmount: string;
169
+ maxExchangeAmount: string;
170
+ exchangeRate: string;
171
+ allowTransaction: boolean;
172
+ hasExpiry: boolean;
173
+ expiryDays: number | null;
174
+ isActive: boolean;
175
+ sortOrder: number;
176
+ };
177
+ }[];
178
+ total: number;
179
+ }>;
180
+ }
181
+ /**
182
+ * 内部账本服务
183
+ * 供其他模块调用,执行实际的余额变更和账本记录
184
+ * 由各业务模块(deposit/withdraw 等)驱动
185
+ */
186
+ export declare abstract class InternalLedgerService extends BaseLedgerService {
187
+ /**
188
+ * 增加可用余额(用于充值、转入等)
189
+ */
190
+ static increaseAvailableBalance(tx: PgTransaction<any, any, any>, params: CreateLedgerEntryParams): Promise<BalanceChangeResult>;
191
+ /**
192
+ * 减少可用余额(用于提现、转出等)
193
+ */
194
+ static decreaseAvailableBalance(tx: PgTransaction<any, any, any>, params: CreateLedgerEntryParams): Promise<BalanceChangeResult>;
195
+ /**
196
+ * 冻结余额(从可用转到冻结)
197
+ */
198
+ static freezeBalance(tx: PgTransaction<any, any, any>, params: CreateLedgerEntryParams): Promise<BalanceChangeResult>;
199
+ /**
200
+ * 解冻余额(从冻结转回可用)
201
+ */
202
+ static unfreezeBalance(tx: PgTransaction<any, any, any>, params: CreateLedgerEntryParams): Promise<BalanceChangeResult>;
203
+ /**
204
+ * 从冻结中扣除(用于提现完成、订单成交等)
205
+ */
206
+ static deductFromFrozen(tx: PgTransaction<any, any, any>, params: CreateLedgerEntryParams): Promise<BalanceChangeResult>;
207
+ }
208
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const createNumericNanoid: (size?: number) => string;
2
+ export default createNumericNanoid;