@usethink/cf-core 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +88 -0
  2. package/dist/features/anti-abuse/index.d.ts +62 -0
  3. package/dist/features/anti-abuse/index.d.ts.map +1 -0
  4. package/dist/features/anti-abuse/index.js +139 -0
  5. package/dist/features/anti-abuse/index.js.map +1 -0
  6. package/dist/features/email/index.d.ts +68 -0
  7. package/dist/features/email/index.d.ts.map +1 -0
  8. package/dist/features/email/index.js +120 -0
  9. package/dist/features/email/index.js.map +1 -0
  10. package/dist/features/payment/fetch-utils.d.ts +17 -0
  11. package/dist/features/payment/fetch-utils.d.ts.map +1 -0
  12. package/dist/features/payment/fetch-utils.js +56 -0
  13. package/dist/features/payment/fetch-utils.js.map +1 -0
  14. package/dist/features/payment/index.d.ts +20 -0
  15. package/dist/features/payment/index.d.ts.map +1 -0
  16. package/dist/features/payment/index.js +21 -0
  17. package/dist/features/payment/index.js.map +1 -0
  18. package/dist/features/payment/providers/alipay.d.ts +30 -0
  19. package/dist/features/payment/providers/alipay.d.ts.map +1 -0
  20. package/dist/features/payment/providers/alipay.js +149 -0
  21. package/dist/features/payment/providers/alipay.js.map +1 -0
  22. package/dist/features/payment/providers/stripe.d.ts +34 -0
  23. package/dist/features/payment/providers/stripe.d.ts.map +1 -0
  24. package/dist/features/payment/providers/stripe.js +168 -0
  25. package/dist/features/payment/providers/stripe.js.map +1 -0
  26. package/dist/features/payment/providers/trc20.d.ts +24 -0
  27. package/dist/features/payment/providers/trc20.d.ts.map +1 -0
  28. package/dist/features/payment/providers/trc20.js +96 -0
  29. package/dist/features/payment/providers/trc20.js.map +1 -0
  30. package/dist/features/payment/registry.d.ts +43 -0
  31. package/dist/features/payment/registry.d.ts.map +1 -0
  32. package/dist/features/payment/registry.js +65 -0
  33. package/dist/features/payment/registry.js.map +1 -0
  34. package/dist/features/payment/types.d.ts +72 -0
  35. package/dist/features/payment/types.d.ts.map +1 -0
  36. package/dist/features/payment/types.js +8 -0
  37. package/dist/features/payment/types.js.map +1 -0
  38. package/dist/features/thompson-router/index.d.ts +101 -0
  39. package/dist/features/thompson-router/index.d.ts.map +1 -0
  40. package/dist/features/thompson-router/index.js +186 -0
  41. package/dist/features/thompson-router/index.js.map +1 -0
  42. package/dist/features/webhook/index.d.ts +76 -0
  43. package/dist/features/webhook/index.d.ts.map +1 -0
  44. package/dist/features/webhook/index.js +127 -0
  45. package/dist/features/webhook/index.js.map +1 -0
  46. package/dist/src/audit.d.ts +45 -0
  47. package/dist/src/audit.d.ts.map +1 -0
  48. package/dist/src/audit.js +40 -0
  49. package/dist/src/audit.js.map +1 -0
  50. package/dist/src/auth/jwt.d.ts +33 -0
  51. package/dist/src/auth/jwt.d.ts.map +1 -0
  52. package/dist/src/auth/jwt.js +87 -0
  53. package/dist/src/auth/jwt.js.map +1 -0
  54. package/dist/src/auth/password.d.ts +26 -0
  55. package/dist/src/auth/password.d.ts.map +1 -0
  56. package/dist/src/auth/password.js +52 -0
  57. package/dist/src/auth/password.js.map +1 -0
  58. package/dist/src/bootstrap.d.ts +74 -0
  59. package/dist/src/bootstrap.d.ts.map +1 -0
  60. package/dist/src/bootstrap.js +231 -0
  61. package/dist/src/bootstrap.js.map +1 -0
  62. package/dist/src/cache.d.ts +52 -0
  63. package/dist/src/cache.d.ts.map +1 -0
  64. package/dist/src/cache.js +76 -0
  65. package/dist/src/cache.js.map +1 -0
  66. package/dist/src/config.d.ts +83 -0
  67. package/dist/src/config.d.ts.map +1 -0
  68. package/dist/src/config.js +96 -0
  69. package/dist/src/config.js.map +1 -0
  70. package/dist/src/crypto.d.ts +33 -0
  71. package/dist/src/crypto.d.ts.map +1 -0
  72. package/dist/src/crypto.js +87 -0
  73. package/dist/src/crypto.js.map +1 -0
  74. package/dist/src/db/connection.d.ts +53 -0
  75. package/dist/src/db/connection.d.ts.map +1 -0
  76. package/dist/src/db/connection.js +104 -0
  77. package/dist/src/db/connection.js.map +1 -0
  78. package/dist/src/db/index.d.ts +6 -0
  79. package/dist/src/db/index.d.ts.map +1 -0
  80. package/dist/src/db/index.js +6 -0
  81. package/dist/src/db/index.js.map +1 -0
  82. package/dist/src/db/schema.d.ts +649 -0
  83. package/dist/src/db/schema.d.ts.map +1 -0
  84. package/dist/src/db/schema.js +76 -0
  85. package/dist/src/db/schema.js.map +1 -0
  86. package/dist/src/error.d.ts +47 -0
  87. package/dist/src/error.d.ts.map +1 -0
  88. package/dist/src/error.js +94 -0
  89. package/dist/src/error.js.map +1 -0
  90. package/dist/src/http.d.ts +83 -0
  91. package/dist/src/http.d.ts.map +1 -0
  92. package/dist/src/http.js +116 -0
  93. package/dist/src/http.js.map +1 -0
  94. package/dist/src/idempotency.d.ts +78 -0
  95. package/dist/src/idempotency.d.ts.map +1 -0
  96. package/dist/src/idempotency.js +84 -0
  97. package/dist/src/idempotency.js.map +1 -0
  98. package/dist/src/index.d.ts +31 -0
  99. package/dist/src/index.d.ts.map +1 -0
  100. package/dist/src/index.js +45 -0
  101. package/dist/src/index.js.map +1 -0
  102. package/dist/src/logger.d.ts +31 -0
  103. package/dist/src/logger.d.ts.map +1 -0
  104. package/dist/src/logger.js +45 -0
  105. package/dist/src/logger.js.map +1 -0
  106. package/dist/src/middleware/admin-auth.d.ts +38 -0
  107. package/dist/src/middleware/admin-auth.d.ts.map +1 -0
  108. package/dist/src/middleware/admin-auth.js +55 -0
  109. package/dist/src/middleware/admin-auth.js.map +1 -0
  110. package/dist/src/middleware/api-key-auth.d.ts +42 -0
  111. package/dist/src/middleware/api-key-auth.d.ts.map +1 -0
  112. package/dist/src/middleware/api-key-auth.js +104 -0
  113. package/dist/src/middleware/api-key-auth.js.map +1 -0
  114. package/dist/src/middleware/index.d.ts +3 -0
  115. package/dist/src/middleware/index.d.ts.map +1 -0
  116. package/dist/src/middleware/index.js +3 -0
  117. package/dist/src/middleware/index.js.map +1 -0
  118. package/dist/src/rate-limit.d.ts +54 -0
  119. package/dist/src/rate-limit.d.ts.map +1 -0
  120. package/dist/src/rate-limit.js +134 -0
  121. package/dist/src/rate-limit.js.map +1 -0
  122. package/dist/src/security.d.ts +78 -0
  123. package/dist/src/security.d.ts.map +1 -0
  124. package/dist/src/security.js +175 -0
  125. package/dist/src/security.js.map +1 -0
  126. package/dist/src/types.d.ts +64 -0
  127. package/dist/src/types.d.ts.map +1 -0
  128. package/dist/src/types.js +8 -0
  129. package/dist/src/types.js.map +1 -0
  130. package/features/anti-abuse/index.ts +180 -0
  131. package/features/anti-abuse/tests/index.test.ts +50 -0
  132. package/features/email/index.ts +172 -0
  133. package/features/email/tests/index.test.ts +44 -0
  134. package/features/payment/fetch-utils.ts +65 -0
  135. package/features/payment/index.ts +39 -0
  136. package/features/payment/providers/alipay.ts +171 -0
  137. package/features/payment/providers/stripe.ts +192 -0
  138. package/features/payment/providers/trc20.ts +115 -0
  139. package/features/payment/registry.ts +87 -0
  140. package/features/payment/tests/index.test.ts +506 -0
  141. package/features/payment/types.ts +93 -0
  142. package/features/telegram-miniapp/index.ts +109 -0
  143. package/features/telegram-miniapp/tests/index.test.ts +11 -0
  144. package/features/thompson-router/index.ts +243 -0
  145. package/features/thompson-router/tests/index.test.ts +93 -0
  146. package/features/webhook/index.ts +183 -0
  147. package/features/webhook/tests/index.test.ts +21 -0
  148. package/package.json +202 -0
  149. package/src/audit.ts +70 -0
  150. package/src/auth/jwt.ts +114 -0
  151. package/src/auth/password.ts +75 -0
  152. package/src/bootstrap.ts +322 -0
  153. package/src/cache.ts +78 -0
  154. package/src/config.ts +134 -0
  155. package/src/crypto.ts +106 -0
  156. package/src/db/connection.ts +127 -0
  157. package/src/db/index.ts +6 -0
  158. package/src/db/schema.ts +90 -0
  159. package/src/error.ts +125 -0
  160. package/src/http.ts +150 -0
  161. package/src/idempotency.ts +127 -0
  162. package/src/index.ts +85 -0
  163. package/src/logger.ts +63 -0
  164. package/src/middleware/admin-auth.ts +71 -0
  165. package/src/middleware/api-key-auth.ts +164 -0
  166. package/src/middleware/index.ts +2 -0
  167. package/src/rate-limit.ts +167 -0
  168. package/src/security.ts +219 -0
  169. package/src/types.ts +70 -0
@@ -0,0 +1,649 @@
1
+ /**
2
+ * @usethink/cf-core — 公共数据库 Schema
3
+ *
4
+ * 所有项目共享的 Drizzle ORM 表定义。
5
+ * 各项目在此基础上添加自己的业务表。
6
+ *
7
+ * 公共表清单:
8
+ * 1. systemConfig — 系统配置(KV 存储,热生效)
9
+ * 2. adminAuditLogs — 管理员审计日志
10
+ * 3. rateLimitWindows — 限流计数窗口(DB 版限流)
11
+ * 4. idempotencyKeys — 幂等键(防重复提交)
12
+ * 5. apiKeys — API Key 认证(可选启用)
13
+ *
14
+ * 来源:eshop/xtools/vcode 三项目 schema.ts 中公共部分提取
15
+ */
16
+ export declare const systemConfig: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
17
+ name: "system_config";
18
+ schema: undefined;
19
+ columns: {
20
+ key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
21
+ name: "key";
22
+ tableName: "system_config";
23
+ dataType: "string";
24
+ columnType: "SQLiteText";
25
+ data: string;
26
+ driverParam: string;
27
+ notNull: true;
28
+ hasDefault: false;
29
+ isPrimaryKey: true;
30
+ isAutoincrement: false;
31
+ hasRuntimeDefault: false;
32
+ enumValues: [string, ...string[]];
33
+ baseColumn: never;
34
+ identity: undefined;
35
+ generated: undefined;
36
+ }, {}, {
37
+ length: number | undefined;
38
+ }>;
39
+ value: import("drizzle-orm/sqlite-core").SQLiteColumn<{
40
+ name: "value";
41
+ tableName: "system_config";
42
+ dataType: "string";
43
+ columnType: "SQLiteText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: true;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {
56
+ length: number | undefined;
57
+ }>;
58
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
59
+ name: "updated_at";
60
+ tableName: "system_config";
61
+ dataType: "string";
62
+ columnType: "SQLiteText";
63
+ data: string;
64
+ driverParam: string;
65
+ notNull: true;
66
+ hasDefault: true;
67
+ isPrimaryKey: false;
68
+ isAutoincrement: false;
69
+ hasRuntimeDefault: false;
70
+ enumValues: [string, ...string[]];
71
+ baseColumn: never;
72
+ identity: undefined;
73
+ generated: undefined;
74
+ }, {}, {
75
+ length: number | undefined;
76
+ }>;
77
+ };
78
+ dialect: "sqlite";
79
+ }>;
80
+ export declare const adminAuditLogs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
81
+ name: "admin_audit_logs";
82
+ schema: undefined;
83
+ columns: {
84
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
85
+ name: "id";
86
+ tableName: "admin_audit_logs";
87
+ dataType: "string";
88
+ columnType: "SQLiteText";
89
+ data: string;
90
+ driverParam: string;
91
+ notNull: true;
92
+ hasDefault: false;
93
+ isPrimaryKey: true;
94
+ isAutoincrement: false;
95
+ hasRuntimeDefault: false;
96
+ enumValues: [string, ...string[]];
97
+ baseColumn: never;
98
+ identity: undefined;
99
+ generated: undefined;
100
+ }, {}, {
101
+ length: number | undefined;
102
+ }>;
103
+ action: import("drizzle-orm/sqlite-core").SQLiteColumn<{
104
+ name: "action";
105
+ tableName: "admin_audit_logs";
106
+ dataType: "string";
107
+ columnType: "SQLiteText";
108
+ data: string;
109
+ driverParam: string;
110
+ notNull: true;
111
+ hasDefault: false;
112
+ isPrimaryKey: false;
113
+ isAutoincrement: false;
114
+ hasRuntimeDefault: false;
115
+ enumValues: [string, ...string[]];
116
+ baseColumn: never;
117
+ identity: undefined;
118
+ generated: undefined;
119
+ }, {}, {
120
+ length: number | undefined;
121
+ }>;
122
+ targetType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
123
+ name: "target_type";
124
+ tableName: "admin_audit_logs";
125
+ dataType: "string";
126
+ columnType: "SQLiteText";
127
+ data: string;
128
+ driverParam: string;
129
+ notNull: true;
130
+ hasDefault: true;
131
+ isPrimaryKey: false;
132
+ isAutoincrement: false;
133
+ hasRuntimeDefault: false;
134
+ enumValues: [string, ...string[]];
135
+ baseColumn: never;
136
+ identity: undefined;
137
+ generated: undefined;
138
+ }, {}, {
139
+ length: number | undefined;
140
+ }>;
141
+ targetId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
142
+ name: "target_id";
143
+ tableName: "admin_audit_logs";
144
+ dataType: "string";
145
+ columnType: "SQLiteText";
146
+ data: string;
147
+ driverParam: string;
148
+ notNull: true;
149
+ hasDefault: true;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: [string, ...string[]];
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {
158
+ length: number | undefined;
159
+ }>;
160
+ metadataJson: import("drizzle-orm/sqlite-core").SQLiteColumn<{
161
+ name: "metadata_json";
162
+ tableName: "admin_audit_logs";
163
+ dataType: "string";
164
+ columnType: "SQLiteText";
165
+ data: string;
166
+ driverParam: string;
167
+ notNull: true;
168
+ hasDefault: true;
169
+ isPrimaryKey: false;
170
+ isAutoincrement: false;
171
+ hasRuntimeDefault: false;
172
+ enumValues: [string, ...string[]];
173
+ baseColumn: never;
174
+ identity: undefined;
175
+ generated: undefined;
176
+ }, {}, {
177
+ length: number | undefined;
178
+ }>;
179
+ ipHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
180
+ name: "ip_hash";
181
+ tableName: "admin_audit_logs";
182
+ dataType: "string";
183
+ columnType: "SQLiteText";
184
+ data: string;
185
+ driverParam: string;
186
+ notNull: true;
187
+ hasDefault: true;
188
+ isPrimaryKey: false;
189
+ isAutoincrement: false;
190
+ hasRuntimeDefault: false;
191
+ enumValues: [string, ...string[]];
192
+ baseColumn: never;
193
+ identity: undefined;
194
+ generated: undefined;
195
+ }, {}, {
196
+ length: number | undefined;
197
+ }>;
198
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
199
+ name: "created_at";
200
+ tableName: "admin_audit_logs";
201
+ dataType: "string";
202
+ columnType: "SQLiteText";
203
+ data: string;
204
+ driverParam: string;
205
+ notNull: true;
206
+ hasDefault: true;
207
+ isPrimaryKey: false;
208
+ isAutoincrement: false;
209
+ hasRuntimeDefault: false;
210
+ enumValues: [string, ...string[]];
211
+ baseColumn: never;
212
+ identity: undefined;
213
+ generated: undefined;
214
+ }, {}, {
215
+ length: number | undefined;
216
+ }>;
217
+ };
218
+ dialect: "sqlite";
219
+ }>;
220
+ export declare const rateLimitWindows: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
221
+ name: "rate_limit_windows";
222
+ schema: undefined;
223
+ columns: {
224
+ action: import("drizzle-orm/sqlite-core").SQLiteColumn<{
225
+ name: "action";
226
+ tableName: "rate_limit_windows";
227
+ dataType: "string";
228
+ columnType: "SQLiteText";
229
+ data: string;
230
+ driverParam: string;
231
+ notNull: true;
232
+ hasDefault: false;
233
+ isPrimaryKey: false;
234
+ isAutoincrement: false;
235
+ hasRuntimeDefault: false;
236
+ enumValues: [string, ...string[]];
237
+ baseColumn: never;
238
+ identity: undefined;
239
+ generated: undefined;
240
+ }, {}, {
241
+ length: number | undefined;
242
+ }>;
243
+ ipHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
244
+ name: "ip_hash";
245
+ tableName: "rate_limit_windows";
246
+ dataType: "string";
247
+ columnType: "SQLiteText";
248
+ data: string;
249
+ driverParam: string;
250
+ notNull: true;
251
+ hasDefault: false;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: [string, ...string[]];
256
+ baseColumn: never;
257
+ identity: undefined;
258
+ generated: undefined;
259
+ }, {}, {
260
+ length: number | undefined;
261
+ }>;
262
+ windowStart: import("drizzle-orm/sqlite-core").SQLiteColumn<{
263
+ name: "window_start";
264
+ tableName: "rate_limit_windows";
265
+ dataType: "number";
266
+ columnType: "SQLiteInteger";
267
+ data: number;
268
+ driverParam: number;
269
+ notNull: true;
270
+ hasDefault: false;
271
+ isPrimaryKey: false;
272
+ isAutoincrement: false;
273
+ hasRuntimeDefault: false;
274
+ enumValues: undefined;
275
+ baseColumn: never;
276
+ identity: undefined;
277
+ generated: undefined;
278
+ }, {}, {}>;
279
+ requestCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
280
+ name: "request_count";
281
+ tableName: "rate_limit_windows";
282
+ dataType: "number";
283
+ columnType: "SQLiteInteger";
284
+ data: number;
285
+ driverParam: number;
286
+ notNull: true;
287
+ hasDefault: true;
288
+ isPrimaryKey: false;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: false;
291
+ enumValues: undefined;
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {}>;
296
+ };
297
+ dialect: "sqlite";
298
+ }>;
299
+ export declare const idempotencyKeys: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
300
+ name: "idempotency_keys";
301
+ schema: undefined;
302
+ columns: {
303
+ key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
304
+ name: "key";
305
+ tableName: "idempotency_keys";
306
+ dataType: "string";
307
+ columnType: "SQLiteText";
308
+ data: string;
309
+ driverParam: string;
310
+ notNull: true;
311
+ hasDefault: false;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: [string, ...string[]];
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}, {
320
+ length: number | undefined;
321
+ }>;
322
+ action: import("drizzle-orm/sqlite-core").SQLiteColumn<{
323
+ name: "action";
324
+ tableName: "idempotency_keys";
325
+ dataType: "string";
326
+ columnType: "SQLiteText";
327
+ data: string;
328
+ driverParam: string;
329
+ notNull: true;
330
+ hasDefault: false;
331
+ isPrimaryKey: false;
332
+ isAutoincrement: false;
333
+ hasRuntimeDefault: false;
334
+ enumValues: [string, ...string[]];
335
+ baseColumn: never;
336
+ identity: undefined;
337
+ generated: undefined;
338
+ }, {}, {
339
+ length: number | undefined;
340
+ }>;
341
+ resourceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
342
+ name: "resource_id";
343
+ tableName: "idempotency_keys";
344
+ dataType: "string";
345
+ columnType: "SQLiteText";
346
+ data: string;
347
+ driverParam: string;
348
+ notNull: true;
349
+ hasDefault: false;
350
+ isPrimaryKey: false;
351
+ isAutoincrement: false;
352
+ hasRuntimeDefault: false;
353
+ enumValues: [string, ...string[]];
354
+ baseColumn: never;
355
+ identity: undefined;
356
+ generated: undefined;
357
+ }, {}, {
358
+ length: number | undefined;
359
+ }>;
360
+ responseJson: import("drizzle-orm/sqlite-core").SQLiteColumn<{
361
+ name: "response_json";
362
+ tableName: "idempotency_keys";
363
+ dataType: "string";
364
+ columnType: "SQLiteText";
365
+ data: string;
366
+ driverParam: string;
367
+ notNull: true;
368
+ hasDefault: false;
369
+ isPrimaryKey: false;
370
+ isAutoincrement: false;
371
+ hasRuntimeDefault: false;
372
+ enumValues: [string, ...string[]];
373
+ baseColumn: never;
374
+ identity: undefined;
375
+ generated: undefined;
376
+ }, {}, {
377
+ length: number | undefined;
378
+ }>;
379
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
380
+ name: "created_at";
381
+ tableName: "idempotency_keys";
382
+ dataType: "string";
383
+ columnType: "SQLiteText";
384
+ data: string;
385
+ driverParam: string;
386
+ notNull: true;
387
+ hasDefault: true;
388
+ isPrimaryKey: false;
389
+ isAutoincrement: false;
390
+ hasRuntimeDefault: false;
391
+ enumValues: [string, ...string[]];
392
+ baseColumn: never;
393
+ identity: undefined;
394
+ generated: undefined;
395
+ }, {}, {
396
+ length: number | undefined;
397
+ }>;
398
+ };
399
+ dialect: "sqlite";
400
+ }>;
401
+ export declare const apiKeys: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
402
+ name: "api_keys";
403
+ schema: undefined;
404
+ columns: {
405
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
406
+ name: "id";
407
+ tableName: "api_keys";
408
+ dataType: "string";
409
+ columnType: "SQLiteText";
410
+ data: string;
411
+ driverParam: string;
412
+ notNull: true;
413
+ hasDefault: false;
414
+ isPrimaryKey: true;
415
+ isAutoincrement: false;
416
+ hasRuntimeDefault: false;
417
+ enumValues: [string, ...string[]];
418
+ baseColumn: never;
419
+ identity: undefined;
420
+ generated: undefined;
421
+ }, {}, {
422
+ length: number | undefined;
423
+ }>;
424
+ name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
425
+ name: "name";
426
+ tableName: "api_keys";
427
+ dataType: "string";
428
+ columnType: "SQLiteText";
429
+ data: string;
430
+ driverParam: string;
431
+ notNull: true;
432
+ hasDefault: false;
433
+ isPrimaryKey: false;
434
+ isAutoincrement: false;
435
+ hasRuntimeDefault: false;
436
+ enumValues: [string, ...string[]];
437
+ baseColumn: never;
438
+ identity: undefined;
439
+ generated: undefined;
440
+ }, {}, {
441
+ length: number | undefined;
442
+ }>;
443
+ keyHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
444
+ name: "key_hash";
445
+ tableName: "api_keys";
446
+ dataType: "string";
447
+ columnType: "SQLiteText";
448
+ data: string;
449
+ driverParam: string;
450
+ notNull: true;
451
+ hasDefault: false;
452
+ isPrimaryKey: false;
453
+ isAutoincrement: false;
454
+ hasRuntimeDefault: false;
455
+ enumValues: [string, ...string[]];
456
+ baseColumn: never;
457
+ identity: undefined;
458
+ generated: undefined;
459
+ }, {}, {
460
+ length: number | undefined;
461
+ }>;
462
+ userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
463
+ name: "user_id";
464
+ tableName: "api_keys";
465
+ dataType: "string";
466
+ columnType: "SQLiteText";
467
+ data: string;
468
+ driverParam: string;
469
+ notNull: true;
470
+ hasDefault: true;
471
+ isPrimaryKey: false;
472
+ isAutoincrement: false;
473
+ hasRuntimeDefault: false;
474
+ enumValues: [string, ...string[]];
475
+ baseColumn: never;
476
+ identity: undefined;
477
+ generated: undefined;
478
+ }, {}, {
479
+ length: number | undefined;
480
+ }>;
481
+ tier: import("drizzle-orm/sqlite-core").SQLiteColumn<{
482
+ name: "tier";
483
+ tableName: "api_keys";
484
+ dataType: "string";
485
+ columnType: "SQLiteText";
486
+ data: string;
487
+ driverParam: string;
488
+ notNull: true;
489
+ hasDefault: true;
490
+ isPrimaryKey: false;
491
+ isAutoincrement: false;
492
+ hasRuntimeDefault: false;
493
+ enumValues: [string, ...string[]];
494
+ baseColumn: never;
495
+ identity: undefined;
496
+ generated: undefined;
497
+ }, {}, {
498
+ length: number | undefined;
499
+ }>;
500
+ enabled: import("drizzle-orm/sqlite-core").SQLiteColumn<{
501
+ name: "enabled";
502
+ tableName: "api_keys";
503
+ dataType: "number";
504
+ columnType: "SQLiteInteger";
505
+ data: number;
506
+ driverParam: number;
507
+ notNull: true;
508
+ hasDefault: true;
509
+ isPrimaryKey: false;
510
+ isAutoincrement: false;
511
+ hasRuntimeDefault: false;
512
+ enumValues: undefined;
513
+ baseColumn: never;
514
+ identity: undefined;
515
+ generated: undefined;
516
+ }, {}, {}>;
517
+ monthlyQuota: import("drizzle-orm/sqlite-core").SQLiteColumn<{
518
+ name: "monthly_quota";
519
+ tableName: "api_keys";
520
+ dataType: "number";
521
+ columnType: "SQLiteInteger";
522
+ data: number;
523
+ driverParam: number;
524
+ notNull: true;
525
+ hasDefault: true;
526
+ isPrimaryKey: false;
527
+ isAutoincrement: false;
528
+ hasRuntimeDefault: false;
529
+ enumValues: undefined;
530
+ baseColumn: never;
531
+ identity: undefined;
532
+ generated: undefined;
533
+ }, {}, {}>;
534
+ monthlyUsage: import("drizzle-orm/sqlite-core").SQLiteColumn<{
535
+ name: "monthly_usage";
536
+ tableName: "api_keys";
537
+ dataType: "number";
538
+ columnType: "SQLiteInteger";
539
+ data: number;
540
+ driverParam: number;
541
+ notNull: true;
542
+ hasDefault: true;
543
+ isPrimaryKey: false;
544
+ isAutoincrement: false;
545
+ hasRuntimeDefault: false;
546
+ enumValues: undefined;
547
+ baseColumn: never;
548
+ identity: undefined;
549
+ generated: undefined;
550
+ }, {}, {}>;
551
+ monthlyResetAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
552
+ name: "monthly_reset_at";
553
+ tableName: "api_keys";
554
+ dataType: "string";
555
+ columnType: "SQLiteText";
556
+ data: string;
557
+ driverParam: string;
558
+ notNull: false;
559
+ hasDefault: false;
560
+ isPrimaryKey: false;
561
+ isAutoincrement: false;
562
+ hasRuntimeDefault: false;
563
+ enumValues: [string, ...string[]];
564
+ baseColumn: never;
565
+ identity: undefined;
566
+ generated: undefined;
567
+ }, {}, {
568
+ length: number | undefined;
569
+ }>;
570
+ lastUsedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
571
+ name: "last_used_at";
572
+ tableName: "api_keys";
573
+ dataType: "string";
574
+ columnType: "SQLiteText";
575
+ data: string;
576
+ driverParam: string;
577
+ notNull: false;
578
+ hasDefault: false;
579
+ isPrimaryKey: false;
580
+ isAutoincrement: false;
581
+ hasRuntimeDefault: false;
582
+ enumValues: [string, ...string[]];
583
+ baseColumn: never;
584
+ identity: undefined;
585
+ generated: undefined;
586
+ }, {}, {
587
+ length: number | undefined;
588
+ }>;
589
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
590
+ name: "created_at";
591
+ tableName: "api_keys";
592
+ dataType: "string";
593
+ columnType: "SQLiteText";
594
+ data: string;
595
+ driverParam: string;
596
+ notNull: true;
597
+ hasDefault: true;
598
+ isPrimaryKey: false;
599
+ isAutoincrement: false;
600
+ hasRuntimeDefault: false;
601
+ enumValues: [string, ...string[]];
602
+ baseColumn: never;
603
+ identity: undefined;
604
+ generated: undefined;
605
+ }, {}, {
606
+ length: number | undefined;
607
+ }>;
608
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
609
+ name: "updated_at";
610
+ tableName: "api_keys";
611
+ dataType: "string";
612
+ columnType: "SQLiteText";
613
+ data: string;
614
+ driverParam: string;
615
+ notNull: true;
616
+ hasDefault: true;
617
+ isPrimaryKey: false;
618
+ isAutoincrement: false;
619
+ hasRuntimeDefault: false;
620
+ enumValues: [string, ...string[]];
621
+ baseColumn: never;
622
+ identity: undefined;
623
+ generated: undefined;
624
+ }, {}, {
625
+ length: number | undefined;
626
+ }>;
627
+ expiresAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
628
+ name: "expires_at";
629
+ tableName: "api_keys";
630
+ dataType: "string";
631
+ columnType: "SQLiteText";
632
+ data: string;
633
+ driverParam: string;
634
+ notNull: false;
635
+ hasDefault: false;
636
+ isPrimaryKey: false;
637
+ isAutoincrement: false;
638
+ hasRuntimeDefault: false;
639
+ enumValues: [string, ...string[]];
640
+ baseColumn: never;
641
+ identity: undefined;
642
+ generated: undefined;
643
+ }, {}, {
644
+ length: number | undefined;
645
+ }>;
646
+ };
647
+ dialect: "sqlite";
648
+ }>;
649
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAMH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAMF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAMH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAclB,CAAC"}