@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,215 @@
1
+ /** 用户安全设置表 */
2
+ export declare const userSecurity: import("drizzle-orm/pg-core").PgTableWithColumns<{
3
+ name: "user_security";
4
+ schema: undefined;
5
+ columns: {
6
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
7
+ name: "deleted_at";
8
+ tableName: "user_security";
9
+ dataType: "date";
10
+ columnType: "PgTimestamp";
11
+ data: Date;
12
+ driverParam: string;
13
+ notNull: false;
14
+ hasDefault: false;
15
+ isPrimaryKey: false;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: undefined;
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {}>;
23
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
24
+ name: "created_at";
25
+ tableName: "user_security";
26
+ dataType: "date";
27
+ columnType: "PgTimestamp";
28
+ data: Date;
29
+ driverParam: string;
30
+ notNull: true;
31
+ hasDefault: true;
32
+ isPrimaryKey: false;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: false;
35
+ enumValues: undefined;
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {}>;
40
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
41
+ name: "updated_at";
42
+ tableName: "user_security";
43
+ dataType: "date";
44
+ columnType: "PgTimestamp";
45
+ data: Date;
46
+ driverParam: string;
47
+ notNull: true;
48
+ hasDefault: true;
49
+ isPrimaryKey: false;
50
+ isAutoincrement: false;
51
+ hasRuntimeDefault: false;
52
+ enumValues: undefined;
53
+ baseColumn: never;
54
+ identity: undefined;
55
+ generated: undefined;
56
+ }, {}, {}>;
57
+ userId: import("drizzle-orm/pg-core").PgColumn<{
58
+ name: "user_id";
59
+ tableName: "user_security";
60
+ dataType: "string";
61
+ columnType: "PgText";
62
+ data: string;
63
+ driverParam: string;
64
+ notNull: true;
65
+ hasDefault: false;
66
+ isPrimaryKey: true;
67
+ isAutoincrement: false;
68
+ hasRuntimeDefault: false;
69
+ enumValues: [string, ...string[]];
70
+ baseColumn: never;
71
+ identity: undefined;
72
+ generated: undefined;
73
+ }, {}, {}>;
74
+ withdrawWhitelistEnabled: import("drizzle-orm/pg-core").PgColumn<{
75
+ name: "withdraw_whitelist_enabled";
76
+ tableName: "user_security";
77
+ dataType: "boolean";
78
+ columnType: "PgBoolean";
79
+ data: boolean;
80
+ driverParam: boolean;
81
+ notNull: false;
82
+ hasDefault: true;
83
+ isPrimaryKey: false;
84
+ isAutoincrement: false;
85
+ hasRuntimeDefault: false;
86
+ enumValues: undefined;
87
+ baseColumn: never;
88
+ identity: undefined;
89
+ generated: undefined;
90
+ }, {}, {}>;
91
+ withdrawWhitelistLastUpdated: import("drizzle-orm/pg-core").PgColumn<{
92
+ name: "withdraw_whitelist_last_updated";
93
+ tableName: "user_security";
94
+ dataType: "date";
95
+ columnType: "PgTimestamp";
96
+ data: Date;
97
+ driverParam: string;
98
+ notNull: false;
99
+ hasDefault: false;
100
+ isPrimaryKey: false;
101
+ isAutoincrement: false;
102
+ hasRuntimeDefault: false;
103
+ enumValues: undefined;
104
+ baseColumn: never;
105
+ identity: undefined;
106
+ generated: undefined;
107
+ }, {}, {}>;
108
+ loginAlertEnabled: import("drizzle-orm/pg-core").PgColumn<{
109
+ name: "login_alert_enabled";
110
+ tableName: "user_security";
111
+ dataType: "boolean";
112
+ columnType: "PgBoolean";
113
+ data: boolean;
114
+ driverParam: boolean;
115
+ notNull: false;
116
+ hasDefault: true;
117
+ isPrimaryKey: false;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: false;
120
+ enumValues: undefined;
121
+ baseColumn: never;
122
+ identity: undefined;
123
+ generated: undefined;
124
+ }, {}, {}>;
125
+ withdrawAlertEnabled: import("drizzle-orm/pg-core").PgColumn<{
126
+ name: "withdraw_alert_enabled";
127
+ tableName: "user_security";
128
+ dataType: "boolean";
129
+ columnType: "PgBoolean";
130
+ data: boolean;
131
+ driverParam: boolean;
132
+ notNull: false;
133
+ hasDefault: true;
134
+ isPrimaryKey: false;
135
+ isAutoincrement: false;
136
+ hasRuntimeDefault: false;
137
+ enumValues: undefined;
138
+ baseColumn: never;
139
+ identity: undefined;
140
+ generated: undefined;
141
+ }, {}, {}>;
142
+ antiPhishingCode: import("drizzle-orm/pg-core").PgColumn<{
143
+ name: "anti_phishing_code";
144
+ tableName: "user_security";
145
+ dataType: "string";
146
+ columnType: "PgText";
147
+ data: string;
148
+ driverParam: string;
149
+ notNull: false;
150
+ hasDefault: false;
151
+ isPrimaryKey: false;
152
+ isAutoincrement: false;
153
+ hasRuntimeDefault: false;
154
+ enumValues: [string, ...string[]];
155
+ baseColumn: never;
156
+ identity: undefined;
157
+ generated: undefined;
158
+ }, {}, {}>;
159
+ antiPhishingUpdatedAt: import("drizzle-orm/pg-core").PgColumn<{
160
+ name: "anti_phishing_updated_at";
161
+ tableName: "user_security";
162
+ dataType: "date";
163
+ columnType: "PgTimestamp";
164
+ data: Date;
165
+ driverParam: string;
166
+ notNull: false;
167
+ hasDefault: false;
168
+ isPrimaryKey: false;
169
+ isAutoincrement: false;
170
+ hasRuntimeDefault: false;
171
+ enumValues: undefined;
172
+ baseColumn: never;
173
+ identity: undefined;
174
+ generated: undefined;
175
+ }, {}, {}>;
176
+ transactionPasswordHash: import("drizzle-orm/pg-core").PgColumn<{
177
+ name: "transaction_password_hash";
178
+ tableName: "user_security";
179
+ dataType: "string";
180
+ columnType: "PgText";
181
+ data: string;
182
+ driverParam: string;
183
+ notNull: false;
184
+ hasDefault: false;
185
+ isPrimaryKey: false;
186
+ isAutoincrement: false;
187
+ hasRuntimeDefault: false;
188
+ enumValues: [string, ...string[]];
189
+ baseColumn: never;
190
+ identity: undefined;
191
+ generated: undefined;
192
+ }, {}, {}>;
193
+ transactionPasswordUpdatedAt: import("drizzle-orm/pg-core").PgColumn<{
194
+ name: "transaction_password_updated_at";
195
+ tableName: "user_security";
196
+ dataType: "date";
197
+ columnType: "PgTimestamp";
198
+ data: Date;
199
+ driverParam: string;
200
+ notNull: false;
201
+ hasDefault: false;
202
+ isPrimaryKey: false;
203
+ isAutoincrement: false;
204
+ hasRuntimeDefault: false;
205
+ enumValues: undefined;
206
+ baseColumn: never;
207
+ identity: undefined;
208
+ generated: undefined;
209
+ }, {}, {}>;
210
+ };
211
+ dialect: "pg";
212
+ }>;
213
+ export declare const userSecurityRelations: import("drizzle-orm").Relations<"user_security", {
214
+ user: import("drizzle-orm").One<"user", true>;
215
+ }>;
@@ -0,0 +1,51 @@
1
+ import type { TransactionTx } from "../db/transaction";
2
+ import { userSecurity } from "./schema";
3
+ /**
4
+ * 用户安全基础服务(抽象类)
5
+ */
6
+ declare abstract class BaseUserSecurityService {
7
+ protected static validateUserId(userId: string): void;
8
+ protected static validateTransactionPasswordFormat(password: string): void;
9
+ protected static ensureTransactionPasswordNotSameAsLoginPassword(tx: TransactionTx, userId: string, newPassword: string): Promise<void>;
10
+ protected static getOrCreateUserSecurity(tx: TransactionTx, userId: string): Promise<typeof userSecurity.$inferSelect>;
11
+ }
12
+ /**
13
+ * 用户侧服务
14
+ */
15
+ export declare abstract class UserUserSecurityService extends BaseUserSecurityService {
16
+ /** 设置交易密码(仅允许未设置时) */
17
+ static setTransactionPassword(userId: string, password: string): Promise<{
18
+ success: boolean;
19
+ }>;
20
+ /** 修改交易密码(需旧密码) */
21
+ static changeTransactionPassword(userId: string, oldPassword: string, newPassword: string): Promise<{
22
+ success: boolean;
23
+ }>;
24
+ /** 禁用交易密码(需旧密码) */
25
+ static disableTransactionPassword(userId: string, oldPassword: string): Promise<{
26
+ success: boolean;
27
+ }>;
28
+ /** 查询交易密码是否已启用 */
29
+ static getTransactionPasswordStatus(userId: string): Promise<{
30
+ enabled: boolean;
31
+ }>;
32
+ }
33
+ /**
34
+ * 管理侧服务
35
+ */
36
+ export declare abstract class AdminUserSecurityService extends BaseUserSecurityService {
37
+ /** 重置用户交易密码(随机生成并返回明文) */
38
+ static resetTransactionPassword(userId: string): Promise<{
39
+ password: string;
40
+ }>;
41
+ }
42
+ /**
43
+ * 内部服务
44
+ */
45
+ export declare abstract class InternalUserSecurityService extends BaseUserSecurityService {
46
+ /** 校验交易密码 */
47
+ static verifyTransactionPassword(userId: string, password: string): Promise<{
48
+ success: boolean;
49
+ }>;
50
+ }
51
+ export {};
@@ -0,0 +1,21 @@
1
+ import { TZDate } from "@date-fns/tz";
2
+ import { type Day } from "date-fns";
3
+ export declare function getStartOfDayInTimeZone(currentTime: Date, timeZone?: string): TZDate;
4
+ export declare function getStartOfMonthInTimeZone(currentTime: Date, timeZone?: string): TZDate;
5
+ export declare function getStartOfWeekInTimeZone(currentTime: Date, timeZone?: string, weekStartsOn?: Day): TZDate;
6
+ export declare function getDayRanges(currentTime: Date, timeZone?: string): {
7
+ startToday: TZDate;
8
+ startTomorrow: TZDate;
9
+ startYesterday: TZDate;
10
+ };
11
+ export declare function getMonthRanges(currentTime: Date, timeZone?: string): {
12
+ startMonth: TZDate;
13
+ startNextMonth: TZDate;
14
+ startLastMonth: TZDate;
15
+ };
16
+ export declare function getWeekRanges(currentTime: Date, timeZone?: string, weekStartsOn?: Day): {
17
+ startWeek: TZDate;
18
+ startNextWeek: TZDate;
19
+ startLastWeek: TZDate;
20
+ };
21
+ export declare function formatDateInTimeZone(input: Date, timeZone: string): string;
@@ -0,0 +1,4 @@
1
+ export * from "./date";
2
+ export * from "./order";
3
+ export * from "./pagination";
4
+ export * from "./password";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 生成订单号
3
+ * @param prefix 前缀,如 D(deposit), W(withdraw), T(transfer)
4
+ * @returns 订单号
5
+ */
6
+ export declare function generateOrderNo(prefix: string): string;
@@ -0,0 +1,113 @@
1
+ import type { TSchema } from "elysia";
2
+ /**
3
+ * 分页输入 Schema - 模式 1:limit/offset(传统模式)
4
+ */
5
+ export declare const paginationLimitOffsetInputSchema: import("@sinclair/typebox").TObject<{
6
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
7
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
8
+ }>;
9
+ export type PaginationLimitOffsetInput = typeof paginationLimitOffsetInputSchema.static;
10
+ /**
11
+ * 分页输入 Schema - 模式 2:pageSize/pageIndex(页码模式)
12
+ */
13
+ export declare const paginationPageSizePageIndexInputSchema: import("@sinclair/typebox").TObject<{
14
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
15
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
16
+ }>;
17
+ export type PaginationPageSizePageIndexInput = typeof paginationPageSizePageIndexInputSchema.static;
18
+ /**
19
+ * 分页输入 Schema - 支持两种模式的混合输入
20
+ */
21
+ export declare const paginationMixInputSchema: import("@sinclair/typebox").TObject<{
22
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
23
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
24
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
25
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
26
+ }>;
27
+ export type PaginationMixInput = typeof paginationMixInputSchema.static;
28
+ /**
29
+ * @alias paginationMixInputSchema
30
+ */
31
+ export declare const paginationInputSchema: import("@sinclair/typebox").TObject<{
32
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
33
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
34
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
35
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
+ }>;
37
+ /**
38
+ * @alias PaginationMixInput
39
+ */
40
+ export type PaginationInput = PaginationMixInput;
41
+ /**
42
+ * 分页输入 Schema(强约束:二选一)
43
+ * - 仅允许使用 limit/offset 或 pageSize/pageIndex 其中之一
44
+ */
45
+ export declare const paginationEitherInputSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
46
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
47
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
48
+ }>, import("@sinclair/typebox").TObject<{
49
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
50
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
51
+ }>]>;
52
+ export type PaginationEitherInput = typeof paginationEitherInputSchema.static;
53
+ /**
54
+ * 分页请求 Schema 构造器
55
+ * 用于 POST 查询
56
+ */
57
+ export declare function createPaginatedRequestSchema<T extends TSchema>(querySchema: T): import("@sinclair/typebox").TObject<{
58
+ query: T;
59
+ pagination: import("@sinclair/typebox").TObject<{
60
+ limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
61
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
62
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
63
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
64
+ }>;
65
+ }>;
66
+ /**
67
+ * 分页参数转换函数
68
+ * 支持两种模式:
69
+ * 1. limit + offset(传统模式)
70
+ * 2. pageSize + pageIndex(页码模式)
71
+ */
72
+ export declare function normalizePagination(query: PaginationInput, defaultLimit?: number): {
73
+ limit: number;
74
+ offset: number;
75
+ };
76
+ /**
77
+ * 分页输出 Schema
78
+ */
79
+ export declare const paginationOutputSchema: import("@sinclair/typebox").TObject<{
80
+ pageSize: import("@sinclair/typebox").TNumber;
81
+ pageIndex: import("@sinclair/typebox").TNumber;
82
+ total: import("@sinclair/typebox").TNumber;
83
+ totalPages: import("@sinclair/typebox").TNumber;
84
+ hasNextPage: import("@sinclair/typebox").TBoolean;
85
+ }>;
86
+ export type PaginationOutput = typeof paginationOutputSchema.static;
87
+ /**
88
+ * 分页响应 Schema 构造器
89
+ * 用于统一分页列表查询的响应结构
90
+ */
91
+ export declare function createPaginatedResponseSchema<T extends TSchema>(itemSchema: T): import("@sinclair/typebox").TObject<{
92
+ data: import("@sinclair/typebox").TArray<T>;
93
+ pagination: import("@sinclair/typebox").TObject<{
94
+ pageSize: import("@sinclair/typebox").TNumber;
95
+ pageIndex: import("@sinclair/typebox").TNumber;
96
+ total: import("@sinclair/typebox").TNumber;
97
+ totalPages: import("@sinclair/typebox").TNumber;
98
+ hasNextPage: import("@sinclair/typebox").TBoolean;
99
+ }>;
100
+ }>;
101
+ export declare function createPaginatedResponseResult<T>(data: T[], pagination: Required<PaginationLimitOffsetInput> & {
102
+ total: number;
103
+ }): {
104
+ data: T[];
105
+ pagination: {
106
+ pageSize: number;
107
+ pageIndex: number;
108
+ total: number;
109
+ totalPages: number;
110
+ hasNextPage: boolean;
111
+ };
112
+ };
113
+ export type CreatePaginatedResponseResultReturnType<T> = ReturnType<typeof createPaginatedResponseResult<T>>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 生成随机登录密码(至少包含大小写字母、数字、符号)
3
+ */
4
+ export declare const generateRandomLoginPassword: (length?: number) => string;
5
+ /**
6
+ * 生成随机交易密码(6-20位纯数字)
7
+ */
8
+ export declare const generateRandomTransactionPassword: (length?: number) => string;