sa2kit 1.6.50 → 1.6.57

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 (101) hide show
  1. package/dist/booking-BXtkG2ns.d.mts +386 -0
  2. package/dist/booking-BXtkG2ns.d.ts +386 -0
  3. package/dist/bookingAdminService-B2QDjSHJ.d.ts +193 -0
  4. package/dist/bookingAdminService-Dmg7dC6V.d.mts +193 -0
  5. package/dist/cart-CcZ7rQyG.d.mts +176 -0
  6. package/dist/cart-D3o67Q3H.d.ts +176 -0
  7. package/dist/chunk-53WLQ22S.js +119 -0
  8. package/dist/chunk-53WLQ22S.js.map +1 -0
  9. package/dist/{chunk-SHY424RZ.mjs → chunk-6NMIKAE7.mjs} +3 -3
  10. package/dist/{chunk-SHY424RZ.mjs.map → chunk-6NMIKAE7.mjs.map} +1 -1
  11. package/dist/chunk-ANKVXRPY.mjs +30 -0
  12. package/dist/chunk-ANKVXRPY.mjs.map +1 -0
  13. package/dist/{chunk-IZOIVYOW.js → chunk-DENROXAE.js} +2 -2
  14. package/dist/{chunk-IZOIVYOW.js.map → chunk-DENROXAE.js.map} +1 -1
  15. package/dist/chunk-HYZ5C6FY.mjs +3522 -0
  16. package/dist/chunk-HYZ5C6FY.mjs.map +1 -0
  17. package/dist/{chunk-7JN25DJB.js → chunk-IPY26RQH.js} +11 -11
  18. package/dist/{chunk-7JN25DJB.js.map → chunk-IPY26RQH.js.map} +1 -1
  19. package/dist/{chunk-GFVAIT6Y.mjs → chunk-MFG2Y6UR.mjs} +2 -2
  20. package/dist/{chunk-GFVAIT6Y.mjs.map → chunk-MFG2Y6UR.mjs.map} +1 -1
  21. package/dist/chunk-TJZDPOO7.js +34 -0
  22. package/dist/chunk-TJZDPOO7.js.map +1 -0
  23. package/dist/chunk-U7AQC2Z7.js +3542 -0
  24. package/dist/chunk-U7AQC2Z7.js.map +1 -0
  25. package/dist/chunk-UR5TU4MW.mjs +113 -0
  26. package/dist/chunk-UR5TU4MW.mjs.map +1 -0
  27. package/dist/chunk-V6BXO6ZS.mjs +6107 -0
  28. package/dist/chunk-V6BXO6ZS.mjs.map +1 -0
  29. package/dist/chunk-W2NCOORK.js +6138 -0
  30. package/dist/chunk-W2NCOORK.js.map +1 -0
  31. package/dist/iflytek/index.d.mts +109 -0
  32. package/dist/iflytek/index.d.ts +109 -0
  33. package/dist/iflytek/index.js +365 -0
  34. package/dist/iflytek/index.js.map +1 -0
  35. package/dist/iflytek/index.mjs +362 -0
  36. package/dist/iflytek/index.mjs.map +1 -0
  37. package/dist/iflytek/server.d.mts +59 -0
  38. package/dist/iflytek/server.d.ts +59 -0
  39. package/dist/iflytek/server.js +281 -0
  40. package/dist/iflytek/server.js.map +1 -0
  41. package/dist/iflytek/server.mjs +274 -0
  42. package/dist/iflytek/server.mjs.map +1 -0
  43. package/dist/showmasterpiece/db/index.d.mts +3028 -0
  44. package/dist/showmasterpiece/db/index.d.ts +3028 -0
  45. package/dist/showmasterpiece/db/index.js +179 -0
  46. package/dist/showmasterpiece/db/index.js.map +1 -0
  47. package/dist/showmasterpiece/db/index.mjs +6 -0
  48. package/dist/showmasterpiece/db/index.mjs.map +1 -0
  49. package/dist/showmasterpiece/index.d.mts +10 -1729
  50. package/dist/showmasterpiece/index.d.ts +10 -1729
  51. package/dist/showmasterpiece/index.js +435 -9654
  52. package/dist/showmasterpiece/index.js.map +1 -1
  53. package/dist/showmasterpiece/index.mjs +9 -9628
  54. package/dist/showmasterpiece/index.mjs.map +1 -1
  55. package/dist/showmasterpiece/logic/index.d.mts +372 -0
  56. package/dist/showmasterpiece/logic/index.d.ts +372 -0
  57. package/dist/showmasterpiece/logic/index.js +91 -0
  58. package/dist/showmasterpiece/logic/index.js.map +1 -0
  59. package/dist/showmasterpiece/logic/index.mjs +6 -0
  60. package/dist/showmasterpiece/logic/index.mjs.map +1 -0
  61. package/dist/showmasterpiece/server/index.d.mts +3 -2704
  62. package/dist/showmasterpiece/server/index.d.ts +3 -2704
  63. package/dist/showmasterpiece/server/index.js +43 -43
  64. package/dist/showmasterpiece/server/index.mjs +2 -2
  65. package/dist/showmasterpiece/ui/miniapp/index.d.mts +86 -0
  66. package/dist/showmasterpiece/ui/miniapp/index.d.ts +86 -0
  67. package/dist/showmasterpiece/ui/miniapp/index.js +196 -0
  68. package/dist/showmasterpiece/ui/miniapp/index.js.map +1 -0
  69. package/dist/showmasterpiece/ui/miniapp/index.mjs +183 -0
  70. package/dist/showmasterpiece/ui/miniapp/index.mjs.map +1 -0
  71. package/dist/showmasterpiece/ui/web/index.d.mts +600 -0
  72. package/dist/showmasterpiece/ui/web/index.d.ts +600 -0
  73. package/dist/showmasterpiece/ui/web/index.js +131 -0
  74. package/dist/showmasterpiece/ui/web/index.js.map +1 -0
  75. package/dist/showmasterpiece/ui/web/index.mjs +14 -0
  76. package/dist/showmasterpiece/ui/web/index.mjs.map +1 -0
  77. package/dist/types-C4bbgHHW.d.mts +100 -0
  78. package/dist/types-C4bbgHHW.d.ts +100 -0
  79. package/dist/universalFile/server/index.js +5882 -288
  80. package/dist/universalFile/server/index.js.map +1 -1
  81. package/dist/universalFile/server/index.mjs +5796 -5
  82. package/dist/universalFile/server/index.mjs.map +1 -1
  83. package/package.json +45 -4
  84. package/dist/chunk-QROLPPXP.mjs +0 -5797
  85. package/dist/chunk-QROLPPXP.mjs.map +0 -1
  86. package/dist/chunk-VLZ5N6XZ.js +0 -5888
  87. package/dist/chunk-VLZ5N6XZ.js.map +0 -1
  88. package/dist/popupConfig-BznThU1O.d.mts +0 -330
  89. package/dist/popupConfig-BznThU1O.d.ts +0 -330
  90. package/dist/showmasterpiece/migration/index.d.mts +0 -120
  91. package/dist/showmasterpiece/migration/index.d.ts +0 -120
  92. package/dist/showmasterpiece/migration/index.js +0 -595
  93. package/dist/showmasterpiece/migration/index.js.map +0 -1
  94. package/dist/showmasterpiece/migration/index.mjs +0 -589
  95. package/dist/showmasterpiece/migration/index.mjs.map +0 -1
  96. package/dist/showmasterpiece/scripts/index.d.mts +0 -28
  97. package/dist/showmasterpiece/scripts/index.d.ts +0 -28
  98. package/dist/showmasterpiece/scripts/index.js +0 -327
  99. package/dist/showmasterpiece/scripts/index.js.map +0 -1
  100. package/dist/showmasterpiece/scripts/index.mjs +0 -325
  101. package/dist/showmasterpiece/scripts/index.mjs.map +0 -1
@@ -1,2704 +1,3 @@
1
- import * as drizzle_orm from 'drizzle-orm';
2
- import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
3
- import { N as NewPopupConfig, P as PopupConfig } from '../../popupConfig-BznThU1O.js';
4
- export { p as popupConfigs, a as popupConfigsRelations } from '../../popupConfig-BznThU1O.js';
5
-
6
- /**
7
- * ShowMasterpiece 模块 - 数据库表结构定义
8
- *
9
- * 这个文件定义了ShowMasterpiece模块的完整数据库表结构,使用Drizzle ORM框架。
10
- * 包含了所有相关的表定义、索引优化和关系映射。
11
- *
12
- * 表结构概览:
13
- * - comicUniverseConfigs: 系统配置表
14
- * - comicUniverseCategories: 画集分类表
15
- * - comicUniverseTags: 标签表
16
- * - comicUniverseCollections: 画集主表
17
- * - comicUniverseCollectionTags: 画集标签关联表(多对多)
18
- * - comicUniverseArtworks: 作品页面表
19
- *
20
- * 设计特点:
21
- * - 完整的外键约束和级联删除
22
- * - 针对查询场景的索引优化
23
- * - 支持软删除和发布状态控制
24
- * - 灵活的分类和标签系统
25
- *
26
- * @fileoverview 数据库表结构 - ShowMasterpiece模块
27
- */
28
- /**
29
- * 系统配置表 (comic_universe_configs)
30
- *
31
- * 存储ShowMasterpiece模块的全局配置信息,包括网站设置、显示选项等。
32
- * 通常只有一条记录,用于控制整个模块的行为和外观。
33
- *
34
- * 主要功能:
35
- * - 网站标题和描述配置
36
- * - 显示选项和分页设置
37
- * - 主题和语言设置
38
- * - 功能开关控制
39
- */
40
- declare const comicUniverseConfigs: drizzle_orm_pg_core.PgTableWithColumns<{
41
- name: "comic_universe_configs";
42
- schema: undefined;
43
- columns: {
44
- id: drizzle_orm_pg_core.PgColumn<{
45
- name: "id";
46
- tableName: "comic_universe_configs";
47
- dataType: "number";
48
- columnType: "PgSerial";
49
- data: number;
50
- driverParam: number;
51
- notNull: true;
52
- hasDefault: true;
53
- isPrimaryKey: true;
54
- isAutoincrement: false;
55
- hasRuntimeDefault: false;
56
- enumValues: undefined;
57
- baseColumn: never;
58
- identity: undefined;
59
- generated: undefined;
60
- }, {}, {}>;
61
- siteName: drizzle_orm_pg_core.PgColumn<{
62
- name: "site_name";
63
- tableName: "comic_universe_configs";
64
- dataType: "string";
65
- columnType: "PgVarchar";
66
- data: string;
67
- driverParam: string;
68
- notNull: true;
69
- hasDefault: true;
70
- isPrimaryKey: false;
71
- isAutoincrement: false;
72
- hasRuntimeDefault: false;
73
- enumValues: [string, ...string[]];
74
- baseColumn: never;
75
- identity: undefined;
76
- generated: undefined;
77
- }, {}, {
78
- length: 255;
79
- }>;
80
- siteDescription: drizzle_orm_pg_core.PgColumn<{
81
- name: "site_description";
82
- tableName: "comic_universe_configs";
83
- dataType: "string";
84
- columnType: "PgText";
85
- data: string;
86
- driverParam: string;
87
- notNull: false;
88
- hasDefault: true;
89
- isPrimaryKey: false;
90
- isAutoincrement: false;
91
- hasRuntimeDefault: false;
92
- enumValues: [string, ...string[]];
93
- baseColumn: never;
94
- identity: undefined;
95
- generated: undefined;
96
- }, {}, {}>;
97
- heroTitle: drizzle_orm_pg_core.PgColumn<{
98
- name: "hero_title";
99
- tableName: "comic_universe_configs";
100
- dataType: "string";
101
- columnType: "PgVarchar";
102
- data: string;
103
- driverParam: string;
104
- notNull: true;
105
- hasDefault: true;
106
- isPrimaryKey: false;
107
- isAutoincrement: false;
108
- hasRuntimeDefault: false;
109
- enumValues: [string, ...string[]];
110
- baseColumn: never;
111
- identity: undefined;
112
- generated: undefined;
113
- }, {}, {
114
- length: 255;
115
- }>;
116
- heroSubtitle: drizzle_orm_pg_core.PgColumn<{
117
- name: "hero_subtitle";
118
- tableName: "comic_universe_configs";
119
- dataType: "string";
120
- columnType: "PgText";
121
- data: string;
122
- driverParam: string;
123
- notNull: false;
124
- hasDefault: true;
125
- isPrimaryKey: false;
126
- isAutoincrement: false;
127
- hasRuntimeDefault: false;
128
- enumValues: [string, ...string[]];
129
- baseColumn: never;
130
- identity: undefined;
131
- generated: undefined;
132
- }, {}, {}>;
133
- maxCollectionsPerPage: drizzle_orm_pg_core.PgColumn<{
134
- name: "max_collections_per_page";
135
- tableName: "comic_universe_configs";
136
- dataType: "number";
137
- columnType: "PgInteger";
138
- data: number;
139
- driverParam: string | number;
140
- notNull: true;
141
- hasDefault: true;
142
- isPrimaryKey: false;
143
- isAutoincrement: false;
144
- hasRuntimeDefault: false;
145
- enumValues: undefined;
146
- baseColumn: never;
147
- identity: undefined;
148
- generated: undefined;
149
- }, {}, {}>;
150
- enableSearch: drizzle_orm_pg_core.PgColumn<{
151
- name: "enable_search";
152
- tableName: "comic_universe_configs";
153
- dataType: "boolean";
154
- columnType: "PgBoolean";
155
- data: boolean;
156
- driverParam: boolean;
157
- notNull: true;
158
- hasDefault: true;
159
- isPrimaryKey: false;
160
- isAutoincrement: false;
161
- hasRuntimeDefault: false;
162
- enumValues: undefined;
163
- baseColumn: never;
164
- identity: undefined;
165
- generated: undefined;
166
- }, {}, {}>;
167
- enableCategories: drizzle_orm_pg_core.PgColumn<{
168
- name: "enable_categories";
169
- tableName: "comic_universe_configs";
170
- dataType: "boolean";
171
- columnType: "PgBoolean";
172
- data: boolean;
173
- driverParam: boolean;
174
- notNull: true;
175
- hasDefault: true;
176
- isPrimaryKey: false;
177
- isAutoincrement: false;
178
- hasRuntimeDefault: false;
179
- enumValues: undefined;
180
- baseColumn: never;
181
- identity: undefined;
182
- generated: undefined;
183
- }, {}, {}>;
184
- homeTabConfig: drizzle_orm_pg_core.PgColumn<{
185
- name: "home_tab_config";
186
- tableName: "comic_universe_configs";
187
- dataType: "json";
188
- columnType: "PgJson";
189
- data: unknown;
190
- driverParam: unknown;
191
- notNull: false;
192
- hasDefault: true;
193
- isPrimaryKey: false;
194
- isAutoincrement: false;
195
- hasRuntimeDefault: false;
196
- enumValues: undefined;
197
- baseColumn: never;
198
- identity: undefined;
199
- generated: undefined;
200
- }, {}, {}>;
201
- defaultCategory: drizzle_orm_pg_core.PgColumn<{
202
- name: "default_category";
203
- tableName: "comic_universe_configs";
204
- dataType: "string";
205
- columnType: "PgVarchar";
206
- data: string;
207
- driverParam: string;
208
- notNull: true;
209
- hasDefault: true;
210
- isPrimaryKey: false;
211
- isAutoincrement: false;
212
- hasRuntimeDefault: false;
213
- enumValues: [string, ...string[]];
214
- baseColumn: never;
215
- identity: undefined;
216
- generated: undefined;
217
- }, {}, {
218
- length: 100;
219
- }>;
220
- theme: drizzle_orm_pg_core.PgColumn<{
221
- name: "theme";
222
- tableName: "comic_universe_configs";
223
- dataType: "string";
224
- columnType: "PgVarchar";
225
- data: string;
226
- driverParam: string;
227
- notNull: true;
228
- hasDefault: true;
229
- isPrimaryKey: false;
230
- isAutoincrement: false;
231
- hasRuntimeDefault: false;
232
- enumValues: [string, ...string[]];
233
- baseColumn: never;
234
- identity: undefined;
235
- generated: undefined;
236
- }, {}, {
237
- length: 20;
238
- }>;
239
- language: drizzle_orm_pg_core.PgColumn<{
240
- name: "language";
241
- tableName: "comic_universe_configs";
242
- dataType: "string";
243
- columnType: "PgVarchar";
244
- data: string;
245
- driverParam: string;
246
- notNull: true;
247
- hasDefault: true;
248
- isPrimaryKey: false;
249
- isAutoincrement: false;
250
- hasRuntimeDefault: false;
251
- enumValues: [string, ...string[]];
252
- baseColumn: never;
253
- identity: undefined;
254
- generated: undefined;
255
- }, {}, {
256
- length: 10;
257
- }>;
258
- createdAt: drizzle_orm_pg_core.PgColumn<{
259
- name: "created_at";
260
- tableName: "comic_universe_configs";
261
- dataType: "date";
262
- columnType: "PgTimestamp";
263
- data: Date;
264
- driverParam: string;
265
- notNull: true;
266
- hasDefault: true;
267
- isPrimaryKey: false;
268
- isAutoincrement: false;
269
- hasRuntimeDefault: false;
270
- enumValues: undefined;
271
- baseColumn: never;
272
- identity: undefined;
273
- generated: undefined;
274
- }, {}, {}>;
275
- updatedAt: drizzle_orm_pg_core.PgColumn<{
276
- name: "updated_at";
277
- tableName: "comic_universe_configs";
278
- dataType: "date";
279
- columnType: "PgTimestamp";
280
- data: Date;
281
- driverParam: string;
282
- notNull: true;
283
- hasDefault: true;
284
- isPrimaryKey: false;
285
- isAutoincrement: false;
286
- hasRuntimeDefault: false;
287
- enumValues: undefined;
288
- baseColumn: never;
289
- identity: undefined;
290
- generated: undefined;
291
- }, {}, {}>;
292
- };
293
- dialect: "pg";
294
- }>;
295
- /**
296
- * 画集分类表 (comic_universe_categories)
297
- *
298
- * 管理画集的分类信息,支持层级结构和排序。
299
- * 用于组织和筛选画集,提供更好的浏览体验。
300
- *
301
- * 主要功能:
302
- * - 分类名称和描述管理
303
- * - 显示顺序控制
304
- * - 启用/禁用状态控制
305
- * - 支持未来的层级分类扩展
306
- */
307
- declare const comicUniverseCategories: drizzle_orm_pg_core.PgTableWithColumns<{
308
- name: "comic_universe_categories";
309
- schema: undefined;
310
- columns: {
311
- id: drizzle_orm_pg_core.PgColumn<{
312
- name: "id";
313
- tableName: "comic_universe_categories";
314
- dataType: "number";
315
- columnType: "PgSerial";
316
- data: number;
317
- driverParam: number;
318
- notNull: true;
319
- hasDefault: true;
320
- isPrimaryKey: true;
321
- isAutoincrement: false;
322
- hasRuntimeDefault: false;
323
- enumValues: undefined;
324
- baseColumn: never;
325
- identity: undefined;
326
- generated: undefined;
327
- }, {}, {}>;
328
- name: drizzle_orm_pg_core.PgColumn<{
329
- name: "name";
330
- tableName: "comic_universe_categories";
331
- dataType: "string";
332
- columnType: "PgVarchar";
333
- data: string;
334
- driverParam: string;
335
- notNull: true;
336
- hasDefault: false;
337
- isPrimaryKey: false;
338
- isAutoincrement: false;
339
- hasRuntimeDefault: false;
340
- enumValues: [string, ...string[]];
341
- baseColumn: never;
342
- identity: undefined;
343
- generated: undefined;
344
- }, {}, {
345
- length: 100;
346
- }>;
347
- description: drizzle_orm_pg_core.PgColumn<{
348
- name: "description";
349
- tableName: "comic_universe_categories";
350
- dataType: "string";
351
- columnType: "PgText";
352
- data: string;
353
- driverParam: string;
354
- notNull: false;
355
- hasDefault: false;
356
- isPrimaryKey: false;
357
- isAutoincrement: false;
358
- hasRuntimeDefault: false;
359
- enumValues: [string, ...string[]];
360
- baseColumn: never;
361
- identity: undefined;
362
- generated: undefined;
363
- }, {}, {}>;
364
- displayOrder: drizzle_orm_pg_core.PgColumn<{
365
- name: "display_order";
366
- tableName: "comic_universe_categories";
367
- dataType: "number";
368
- columnType: "PgInteger";
369
- data: number;
370
- driverParam: string | number;
371
- notNull: false;
372
- hasDefault: true;
373
- isPrimaryKey: false;
374
- isAutoincrement: false;
375
- hasRuntimeDefault: false;
376
- enumValues: undefined;
377
- baseColumn: never;
378
- identity: undefined;
379
- generated: undefined;
380
- }, {}, {}>;
381
- isActive: drizzle_orm_pg_core.PgColumn<{
382
- name: "is_active";
383
- tableName: "comic_universe_categories";
384
- dataType: "boolean";
385
- columnType: "PgBoolean";
386
- data: boolean;
387
- driverParam: boolean;
388
- notNull: true;
389
- hasDefault: true;
390
- isPrimaryKey: false;
391
- isAutoincrement: false;
392
- hasRuntimeDefault: false;
393
- enumValues: undefined;
394
- baseColumn: never;
395
- identity: undefined;
396
- generated: undefined;
397
- }, {}, {}>;
398
- createdAt: drizzle_orm_pg_core.PgColumn<{
399
- name: "created_at";
400
- tableName: "comic_universe_categories";
401
- dataType: "date";
402
- columnType: "PgTimestamp";
403
- data: Date;
404
- driverParam: string;
405
- notNull: true;
406
- hasDefault: true;
407
- isPrimaryKey: false;
408
- isAutoincrement: false;
409
- hasRuntimeDefault: false;
410
- enumValues: undefined;
411
- baseColumn: never;
412
- identity: undefined;
413
- generated: undefined;
414
- }, {}, {}>;
415
- updatedAt: drizzle_orm_pg_core.PgColumn<{
416
- name: "updated_at";
417
- tableName: "comic_universe_categories";
418
- dataType: "date";
419
- columnType: "PgTimestamp";
420
- data: Date;
421
- driverParam: string;
422
- notNull: true;
423
- hasDefault: true;
424
- isPrimaryKey: false;
425
- isAutoincrement: false;
426
- hasRuntimeDefault: false;
427
- enumValues: undefined;
428
- baseColumn: never;
429
- identity: undefined;
430
- generated: undefined;
431
- }, {}, {}>;
432
- };
433
- dialect: "pg";
434
- }>;
435
- /**
436
- * 标签表 (comic_universe_tags)
437
- *
438
- * 管理画集的标签信息,支持颜色标识和状态控制。
439
- * 通过多对多关系与画集关联,实现灵活的标签系统。
440
- *
441
- * 主要功能:
442
- * - 标签名称管理(唯一性约束)
443
- * - 颜色标识(用于UI显示)
444
- * - 启用/禁用状态控制
445
- * - 支持标签的增删改查
446
- */
447
- declare const comicUniverseTags: drizzle_orm_pg_core.PgTableWithColumns<{
448
- name: "comic_universe_tags";
449
- schema: undefined;
450
- columns: {
451
- id: drizzle_orm_pg_core.PgColumn<{
452
- name: "id";
453
- tableName: "comic_universe_tags";
454
- dataType: "number";
455
- columnType: "PgSerial";
456
- data: number;
457
- driverParam: number;
458
- notNull: true;
459
- hasDefault: true;
460
- isPrimaryKey: true;
461
- isAutoincrement: false;
462
- hasRuntimeDefault: false;
463
- enumValues: undefined;
464
- baseColumn: never;
465
- identity: undefined;
466
- generated: undefined;
467
- }, {}, {}>;
468
- name: drizzle_orm_pg_core.PgColumn<{
469
- name: "name";
470
- tableName: "comic_universe_tags";
471
- dataType: "string";
472
- columnType: "PgVarchar";
473
- data: string;
474
- driverParam: string;
475
- notNull: true;
476
- hasDefault: false;
477
- isPrimaryKey: false;
478
- isAutoincrement: false;
479
- hasRuntimeDefault: false;
480
- enumValues: [string, ...string[]];
481
- baseColumn: never;
482
- identity: undefined;
483
- generated: undefined;
484
- }, {}, {
485
- length: 50;
486
- }>;
487
- color: drizzle_orm_pg_core.PgColumn<{
488
- name: "color";
489
- tableName: "comic_universe_tags";
490
- dataType: "string";
491
- columnType: "PgVarchar";
492
- data: string;
493
- driverParam: string;
494
- notNull: false;
495
- hasDefault: true;
496
- isPrimaryKey: false;
497
- isAutoincrement: false;
498
- hasRuntimeDefault: false;
499
- enumValues: [string, ...string[]];
500
- baseColumn: never;
501
- identity: undefined;
502
- generated: undefined;
503
- }, {}, {
504
- length: 7;
505
- }>;
506
- isActive: drizzle_orm_pg_core.PgColumn<{
507
- name: "is_active";
508
- tableName: "comic_universe_tags";
509
- dataType: "boolean";
510
- columnType: "PgBoolean";
511
- data: boolean;
512
- driverParam: boolean;
513
- notNull: true;
514
- hasDefault: true;
515
- isPrimaryKey: false;
516
- isAutoincrement: false;
517
- hasRuntimeDefault: false;
518
- enumValues: undefined;
519
- baseColumn: never;
520
- identity: undefined;
521
- generated: undefined;
522
- }, {}, {}>;
523
- createdAt: drizzle_orm_pg_core.PgColumn<{
524
- name: "created_at";
525
- tableName: "comic_universe_tags";
526
- dataType: "date";
527
- columnType: "PgTimestamp";
528
- data: Date;
529
- driverParam: string;
530
- notNull: true;
531
- hasDefault: true;
532
- isPrimaryKey: false;
533
- isAutoincrement: false;
534
- hasRuntimeDefault: false;
535
- enumValues: undefined;
536
- baseColumn: never;
537
- identity: undefined;
538
- generated: undefined;
539
- }, {}, {}>;
540
- };
541
- dialect: "pg";
542
- }>;
543
- /**
544
- * 画集主表 (comic_universe_collections)
545
- *
546
- * 存储画集的基本信息和元数据,是系统的核心表之一。
547
- * 每个画集包含多个作品页面,支持分类、发布状态和访问统计。
548
- *
549
- * 主要功能:
550
- * - 画集基本信息(标题、作者、封面、描述)
551
- * - 分类关联(外键引用)
552
- * - 发布状态和时间控制
553
- * - 显示顺序和访问统计
554
- * - 支持软删除和草稿功能
555
- */
556
- declare const comicUniverseCollections: drizzle_orm_pg_core.PgTableWithColumns<{
557
- name: "comic_universe_collections";
558
- schema: undefined;
559
- columns: {
560
- id: drizzle_orm_pg_core.PgColumn<{
561
- name: "id";
562
- tableName: "comic_universe_collections";
563
- dataType: "number";
564
- columnType: "PgSerial";
565
- data: number;
566
- driverParam: number;
567
- notNull: true;
568
- hasDefault: true;
569
- isPrimaryKey: true;
570
- isAutoincrement: false;
571
- hasRuntimeDefault: false;
572
- enumValues: undefined;
573
- baseColumn: never;
574
- identity: undefined;
575
- generated: undefined;
576
- }, {}, {}>;
577
- title: drizzle_orm_pg_core.PgColumn<{
578
- name: "title";
579
- tableName: "comic_universe_collections";
580
- dataType: "string";
581
- columnType: "PgVarchar";
582
- data: string;
583
- driverParam: string;
584
- notNull: true;
585
- hasDefault: false;
586
- isPrimaryKey: false;
587
- isAutoincrement: false;
588
- hasRuntimeDefault: false;
589
- enumValues: [string, ...string[]];
590
- baseColumn: never;
591
- identity: undefined;
592
- generated: undefined;
593
- }, {}, {
594
- length: 255;
595
- }>;
596
- number: drizzle_orm_pg_core.PgColumn<{
597
- name: "number";
598
- tableName: "comic_universe_collections";
599
- dataType: "string";
600
- columnType: "PgVarchar";
601
- data: string;
602
- driverParam: string;
603
- notNull: true;
604
- hasDefault: false;
605
- isPrimaryKey: false;
606
- isAutoincrement: false;
607
- hasRuntimeDefault: false;
608
- enumValues: [string, ...string[]];
609
- baseColumn: never;
610
- identity: undefined;
611
- generated: undefined;
612
- }, {}, {
613
- length: 255;
614
- }>;
615
- coverImage: drizzle_orm_pg_core.PgColumn<{
616
- name: "cover_image";
617
- tableName: "comic_universe_collections";
618
- dataType: "string";
619
- columnType: "PgText";
620
- data: string;
621
- driverParam: string;
622
- notNull: true;
623
- hasDefault: false;
624
- isPrimaryKey: false;
625
- isAutoincrement: false;
626
- hasRuntimeDefault: false;
627
- enumValues: [string, ...string[]];
628
- baseColumn: never;
629
- identity: undefined;
630
- generated: undefined;
631
- }, {}, {}>;
632
- coverImageFileId: drizzle_orm_pg_core.PgColumn<{
633
- name: "cover_image_file_id";
634
- tableName: "comic_universe_collections";
635
- dataType: "string";
636
- columnType: "PgUUID";
637
- data: string;
638
- driverParam: string;
639
- notNull: false;
640
- hasDefault: false;
641
- isPrimaryKey: false;
642
- isAutoincrement: false;
643
- hasRuntimeDefault: false;
644
- enumValues: undefined;
645
- baseColumn: never;
646
- identity: undefined;
647
- generated: undefined;
648
- }, {}, {}>;
649
- description: drizzle_orm_pg_core.PgColumn<{
650
- name: "description";
651
- tableName: "comic_universe_collections";
652
- dataType: "string";
653
- columnType: "PgText";
654
- data: string;
655
- driverParam: string;
656
- notNull: false;
657
- hasDefault: false;
658
- isPrimaryKey: false;
659
- isAutoincrement: false;
660
- hasRuntimeDefault: false;
661
- enumValues: [string, ...string[]];
662
- baseColumn: never;
663
- identity: undefined;
664
- generated: undefined;
665
- }, {}, {}>;
666
- categoryId: drizzle_orm_pg_core.PgColumn<{
667
- name: "category_id";
668
- tableName: "comic_universe_collections";
669
- dataType: "number";
670
- columnType: "PgInteger";
671
- data: number;
672
- driverParam: string | number;
673
- notNull: false;
674
- hasDefault: false;
675
- isPrimaryKey: false;
676
- isAutoincrement: false;
677
- hasRuntimeDefault: false;
678
- enumValues: undefined;
679
- baseColumn: never;
680
- identity: undefined;
681
- generated: undefined;
682
- }, {}, {}>;
683
- isPublished: drizzle_orm_pg_core.PgColumn<{
684
- name: "is_published";
685
- tableName: "comic_universe_collections";
686
- dataType: "boolean";
687
- columnType: "PgBoolean";
688
- data: boolean;
689
- driverParam: boolean;
690
- notNull: true;
691
- hasDefault: true;
692
- isPrimaryKey: false;
693
- isAutoincrement: false;
694
- hasRuntimeDefault: false;
695
- enumValues: undefined;
696
- baseColumn: never;
697
- identity: undefined;
698
- generated: undefined;
699
- }, {}, {}>;
700
- publishedAt: drizzle_orm_pg_core.PgColumn<{
701
- name: "published_at";
702
- tableName: "comic_universe_collections";
703
- dataType: "date";
704
- columnType: "PgTimestamp";
705
- data: Date;
706
- driverParam: string;
707
- notNull: false;
708
- hasDefault: false;
709
- isPrimaryKey: false;
710
- isAutoincrement: false;
711
- hasRuntimeDefault: false;
712
- enumValues: undefined;
713
- baseColumn: never;
714
- identity: undefined;
715
- generated: undefined;
716
- }, {}, {}>;
717
- displayOrder: drizzle_orm_pg_core.PgColumn<{
718
- name: "display_order";
719
- tableName: "comic_universe_collections";
720
- dataType: "number";
721
- columnType: "PgInteger";
722
- data: number;
723
- driverParam: string | number;
724
- notNull: false;
725
- hasDefault: true;
726
- isPrimaryKey: false;
727
- isAutoincrement: false;
728
- hasRuntimeDefault: false;
729
- enumValues: undefined;
730
- baseColumn: never;
731
- identity: undefined;
732
- generated: undefined;
733
- }, {}, {}>;
734
- price: drizzle_orm_pg_core.PgColumn<{
735
- name: "price";
736
- tableName: "comic_universe_collections";
737
- dataType: "number";
738
- columnType: "PgInteger";
739
- data: number;
740
- driverParam: string | number;
741
- notNull: false;
742
- hasDefault: false;
743
- isPrimaryKey: false;
744
- isAutoincrement: false;
745
- hasRuntimeDefault: false;
746
- enumValues: undefined;
747
- baseColumn: never;
748
- identity: undefined;
749
- generated: undefined;
750
- }, {}, {}>;
751
- viewCount: drizzle_orm_pg_core.PgColumn<{
752
- name: "view_count";
753
- tableName: "comic_universe_collections";
754
- dataType: "number";
755
- columnType: "PgInteger";
756
- data: number;
757
- driverParam: string | number;
758
- notNull: true;
759
- hasDefault: true;
760
- isPrimaryKey: false;
761
- isAutoincrement: false;
762
- hasRuntimeDefault: false;
763
- enumValues: undefined;
764
- baseColumn: never;
765
- identity: undefined;
766
- generated: undefined;
767
- }, {}, {}>;
768
- createdAt: drizzle_orm_pg_core.PgColumn<{
769
- name: "created_at";
770
- tableName: "comic_universe_collections";
771
- dataType: "date";
772
- columnType: "PgTimestamp";
773
- data: Date;
774
- driverParam: string;
775
- notNull: true;
776
- hasDefault: true;
777
- isPrimaryKey: false;
778
- isAutoincrement: false;
779
- hasRuntimeDefault: false;
780
- enumValues: undefined;
781
- baseColumn: never;
782
- identity: undefined;
783
- generated: undefined;
784
- }, {}, {}>;
785
- updatedAt: drizzle_orm_pg_core.PgColumn<{
786
- name: "updated_at";
787
- tableName: "comic_universe_collections";
788
- dataType: "date";
789
- columnType: "PgTimestamp";
790
- data: Date;
791
- driverParam: string;
792
- notNull: true;
793
- hasDefault: true;
794
- isPrimaryKey: false;
795
- isAutoincrement: false;
796
- hasRuntimeDefault: false;
797
- enumValues: undefined;
798
- baseColumn: never;
799
- identity: undefined;
800
- generated: undefined;
801
- }, {}, {}>;
802
- };
803
- dialect: "pg";
804
- }>;
805
- /**
806
- * 画集标签关联表 (comic_universe_collection_tags)
807
- *
808
- * 实现画集和标签之间的多对多关系。
809
- * 每个画集可以有多个标签,每个标签也可以关联多个画集。
810
- *
811
- * 主要功能:
812
- * - 画集与标签的多对多关联
813
- * - 支持级联删除(删除画集或标签时自动清理关联)
814
- * - 复合主键确保关联的唯一性
815
- * - 针对查询场景的索引优化
816
- */
817
- declare const comicUniverseCollectionTags: drizzle_orm_pg_core.PgTableWithColumns<{
818
- name: "comic_universe_collection_tags";
819
- schema: undefined;
820
- columns: {
821
- collectionId: drizzle_orm_pg_core.PgColumn<{
822
- name: "collection_id";
823
- tableName: "comic_universe_collection_tags";
824
- dataType: "number";
825
- columnType: "PgInteger";
826
- data: number;
827
- driverParam: string | number;
828
- notNull: true;
829
- hasDefault: false;
830
- isPrimaryKey: false;
831
- isAutoincrement: false;
832
- hasRuntimeDefault: false;
833
- enumValues: undefined;
834
- baseColumn: never;
835
- identity: undefined;
836
- generated: undefined;
837
- }, {}, {}>;
838
- tagId: drizzle_orm_pg_core.PgColumn<{
839
- name: "tag_id";
840
- tableName: "comic_universe_collection_tags";
841
- dataType: "number";
842
- columnType: "PgInteger";
843
- data: number;
844
- driverParam: string | number;
845
- notNull: true;
846
- hasDefault: false;
847
- isPrimaryKey: false;
848
- isAutoincrement: false;
849
- hasRuntimeDefault: false;
850
- enumValues: undefined;
851
- baseColumn: never;
852
- identity: undefined;
853
- generated: undefined;
854
- }, {}, {}>;
855
- };
856
- dialect: "pg";
857
- }>;
858
- /**
859
- * 作品页面表 (comic_universe_artworks)
860
- *
861
- * 存储画集中的具体作品信息,每个画集包含多个作品页面。
862
- * 支持详细的作品元数据和页面排序功能。
863
- *
864
- * 主要功能:
865
- * - 作品详细信息(标题、作者、图片、描述等)
866
- * - 艺术作品元数据(创作时间、主题、尺寸等)
867
- * - 在画集中的页面顺序控制
868
- * - 启用/禁用状态(软删除)
869
- * - 支持富文本描述和多媒体内容
870
- */
871
- declare const comicUniverseArtworks: drizzle_orm_pg_core.PgTableWithColumns<{
872
- name: "comic_universe_artworks";
873
- schema: undefined;
874
- columns: {
875
- id: drizzle_orm_pg_core.PgColumn<{
876
- name: "id";
877
- tableName: "comic_universe_artworks";
878
- dataType: "number";
879
- columnType: "PgSerial";
880
- data: number;
881
- driverParam: number;
882
- notNull: true;
883
- hasDefault: true;
884
- isPrimaryKey: true;
885
- isAutoincrement: false;
886
- hasRuntimeDefault: false;
887
- enumValues: undefined;
888
- baseColumn: never;
889
- identity: undefined;
890
- generated: undefined;
891
- }, {}, {}>;
892
- collectionId: drizzle_orm_pg_core.PgColumn<{
893
- name: "collection_id";
894
- tableName: "comic_universe_artworks";
895
- dataType: "number";
896
- columnType: "PgInteger";
897
- data: number;
898
- driverParam: string | number;
899
- notNull: true;
900
- hasDefault: false;
901
- isPrimaryKey: false;
902
- isAutoincrement: false;
903
- hasRuntimeDefault: false;
904
- enumValues: undefined;
905
- baseColumn: never;
906
- identity: undefined;
907
- generated: undefined;
908
- }, {}, {}>;
909
- title: drizzle_orm_pg_core.PgColumn<{
910
- name: "title";
911
- tableName: "comic_universe_artworks";
912
- dataType: "string";
913
- columnType: "PgVarchar";
914
- data: string;
915
- driverParam: string;
916
- notNull: true;
917
- hasDefault: false;
918
- isPrimaryKey: false;
919
- isAutoincrement: false;
920
- hasRuntimeDefault: false;
921
- enumValues: [string, ...string[]];
922
- baseColumn: never;
923
- identity: undefined;
924
- generated: undefined;
925
- }, {}, {
926
- length: 255;
927
- }>;
928
- number: drizzle_orm_pg_core.PgColumn<{
929
- name: "number";
930
- tableName: "comic_universe_artworks";
931
- dataType: "string";
932
- columnType: "PgVarchar";
933
- data: string;
934
- driverParam: string;
935
- notNull: true;
936
- hasDefault: false;
937
- isPrimaryKey: false;
938
- isAutoincrement: false;
939
- hasRuntimeDefault: false;
940
- enumValues: [string, ...string[]];
941
- baseColumn: never;
942
- identity: undefined;
943
- generated: undefined;
944
- }, {}, {
945
- length: 255;
946
- }>;
947
- image: drizzle_orm_pg_core.PgColumn<{
948
- name: "image";
949
- tableName: "comic_universe_artworks";
950
- dataType: "string";
951
- columnType: "PgText";
952
- data: string;
953
- driverParam: string;
954
- notNull: false;
955
- hasDefault: false;
956
- isPrimaryKey: false;
957
- isAutoincrement: false;
958
- hasRuntimeDefault: false;
959
- enumValues: [string, ...string[]];
960
- baseColumn: never;
961
- identity: undefined;
962
- generated: undefined;
963
- }, {}, {}>;
964
- fileId: drizzle_orm_pg_core.PgColumn<{
965
- name: "file_id";
966
- tableName: "comic_universe_artworks";
967
- dataType: "string";
968
- columnType: "PgUUID";
969
- data: string;
970
- driverParam: string;
971
- notNull: false;
972
- hasDefault: false;
973
- isPrimaryKey: false;
974
- isAutoincrement: false;
975
- hasRuntimeDefault: false;
976
- enumValues: undefined;
977
- baseColumn: never;
978
- identity: undefined;
979
- generated: undefined;
980
- }, {}, {}>;
981
- migrationStatus: drizzle_orm_pg_core.PgColumn<{
982
- name: "migration_status";
983
- tableName: "comic_universe_artworks";
984
- dataType: "string";
985
- columnType: "PgVarchar";
986
- data: string;
987
- driverParam: string;
988
- notNull: false;
989
- hasDefault: true;
990
- isPrimaryKey: false;
991
- isAutoincrement: false;
992
- hasRuntimeDefault: false;
993
- enumValues: [string, ...string[]];
994
- baseColumn: never;
995
- identity: undefined;
996
- generated: undefined;
997
- }, {}, {
998
- length: 20;
999
- }>;
1000
- description: drizzle_orm_pg_core.PgColumn<{
1001
- name: "description";
1002
- tableName: "comic_universe_artworks";
1003
- dataType: "string";
1004
- columnType: "PgText";
1005
- data: string;
1006
- driverParam: string;
1007
- notNull: false;
1008
- hasDefault: false;
1009
- isPrimaryKey: false;
1010
- isAutoincrement: false;
1011
- hasRuntimeDefault: false;
1012
- enumValues: [string, ...string[]];
1013
- baseColumn: never;
1014
- identity: undefined;
1015
- generated: undefined;
1016
- }, {}, {}>;
1017
- createdTime: drizzle_orm_pg_core.PgColumn<{
1018
- name: "created_time";
1019
- tableName: "comic_universe_artworks";
1020
- dataType: "string";
1021
- columnType: "PgVarchar";
1022
- data: string;
1023
- driverParam: string;
1024
- notNull: false;
1025
- hasDefault: false;
1026
- isPrimaryKey: false;
1027
- isAutoincrement: false;
1028
- hasRuntimeDefault: false;
1029
- enumValues: [string, ...string[]];
1030
- baseColumn: never;
1031
- identity: undefined;
1032
- generated: undefined;
1033
- }, {}, {
1034
- length: 20;
1035
- }>;
1036
- theme: drizzle_orm_pg_core.PgColumn<{
1037
- name: "theme";
1038
- tableName: "comic_universe_artworks";
1039
- dataType: "string";
1040
- columnType: "PgVarchar";
1041
- data: string;
1042
- driverParam: string;
1043
- notNull: false;
1044
- hasDefault: false;
1045
- isPrimaryKey: false;
1046
- isAutoincrement: false;
1047
- hasRuntimeDefault: false;
1048
- enumValues: [string, ...string[]];
1049
- baseColumn: never;
1050
- identity: undefined;
1051
- generated: undefined;
1052
- }, {}, {
1053
- length: 255;
1054
- }>;
1055
- dimensions: drizzle_orm_pg_core.PgColumn<{
1056
- name: "dimensions";
1057
- tableName: "comic_universe_artworks";
1058
- dataType: "string";
1059
- columnType: "PgVarchar";
1060
- data: string;
1061
- driverParam: string;
1062
- notNull: false;
1063
- hasDefault: false;
1064
- isPrimaryKey: false;
1065
- isAutoincrement: false;
1066
- hasRuntimeDefault: false;
1067
- enumValues: [string, ...string[]];
1068
- baseColumn: never;
1069
- identity: undefined;
1070
- generated: undefined;
1071
- }, {}, {
1072
- length: 100;
1073
- }>;
1074
- pageOrder: drizzle_orm_pg_core.PgColumn<{
1075
- name: "page_order";
1076
- tableName: "comic_universe_artworks";
1077
- dataType: "number";
1078
- columnType: "PgInteger";
1079
- data: number;
1080
- driverParam: string | number;
1081
- notNull: true;
1082
- hasDefault: true;
1083
- isPrimaryKey: false;
1084
- isAutoincrement: false;
1085
- hasRuntimeDefault: false;
1086
- enumValues: undefined;
1087
- baseColumn: never;
1088
- identity: undefined;
1089
- generated: undefined;
1090
- }, {}, {}>;
1091
- isActive: drizzle_orm_pg_core.PgColumn<{
1092
- name: "is_active";
1093
- tableName: "comic_universe_artworks";
1094
- dataType: "boolean";
1095
- columnType: "PgBoolean";
1096
- data: boolean;
1097
- driverParam: boolean;
1098
- notNull: true;
1099
- hasDefault: true;
1100
- isPrimaryKey: false;
1101
- isAutoincrement: false;
1102
- hasRuntimeDefault: false;
1103
- enumValues: undefined;
1104
- baseColumn: never;
1105
- identity: undefined;
1106
- generated: undefined;
1107
- }, {}, {}>;
1108
- createdAt: drizzle_orm_pg_core.PgColumn<{
1109
- name: "created_at";
1110
- tableName: "comic_universe_artworks";
1111
- dataType: "date";
1112
- columnType: "PgTimestamp";
1113
- data: Date;
1114
- driverParam: string;
1115
- notNull: true;
1116
- hasDefault: true;
1117
- isPrimaryKey: false;
1118
- isAutoincrement: false;
1119
- hasRuntimeDefault: false;
1120
- enumValues: undefined;
1121
- baseColumn: never;
1122
- identity: undefined;
1123
- generated: undefined;
1124
- }, {}, {}>;
1125
- updatedAt: drizzle_orm_pg_core.PgColumn<{
1126
- name: "updated_at";
1127
- tableName: "comic_universe_artworks";
1128
- dataType: "date";
1129
- columnType: "PgTimestamp";
1130
- data: Date;
1131
- driverParam: string;
1132
- notNull: true;
1133
- hasDefault: true;
1134
- isPrimaryKey: false;
1135
- isAutoincrement: false;
1136
- hasRuntimeDefault: false;
1137
- enumValues: undefined;
1138
- baseColumn: never;
1139
- identity: undefined;
1140
- generated: undefined;
1141
- }, {}, {}>;
1142
- };
1143
- dialect: "pg";
1144
- }>;
1145
- /**
1146
- * 系统配置表关系
1147
- * 配置表通常只有一条记录,不需要复杂的关系定义
1148
- */
1149
- declare const comicUniverseConfigsRelations: drizzle_orm.Relations<"comic_universe_configs", {}>;
1150
- /**
1151
- * 分类表关系
1152
- * 一个分类可以包含多个画集,并属于一个活动
1153
- */
1154
- declare const comicUniverseCategoriesRelations: drizzle_orm.Relations<"comic_universe_categories", {
1155
- /** 该分类下的所有画集 */
1156
- collections: drizzle_orm.Many<"comic_universe_collections">;
1157
- }>;
1158
- /**
1159
- * 标签表关系
1160
- * 一个标签可以关联多个画集(通过关联表),并属于一个活动
1161
- */
1162
- declare const comicUniverseTagsRelations: drizzle_orm.Relations<"comic_universe_tags", {
1163
- /** 该标签的所有关联记录 */
1164
- collectionTags: drizzle_orm.Many<"comic_universe_collection_tags">;
1165
- }>;
1166
- /**
1167
- * 画集表关系
1168
- * 画集属于一个分类,包含多个作品,可以有多个标签,并属于一个活动
1169
- */
1170
- declare const comicUniverseCollectionsRelations: drizzle_orm.Relations<"comic_universe_collections", {
1171
- /** 所属分类 */
1172
- category: drizzle_orm.One<"comic_universe_categories", false>;
1173
- /** 包含的所有作品页面 */
1174
- artworks: drizzle_orm.Many<"comic_universe_artworks">;
1175
- /** 关联的所有标签记录 */
1176
- collectionTags: drizzle_orm.Many<"comic_universe_collection_tags">;
1177
- }>;
1178
- /**
1179
- * 画集标签关联表关系
1180
- * 连接画集和标签的中间表
1181
- */
1182
- declare const comicUniverseCollectionTagsRelations: drizzle_orm.Relations<"comic_universe_collection_tags", {
1183
- /** 关联的画集 */
1184
- collection: drizzle_orm.One<"comic_universe_collections", true>;
1185
- /** 关联的标签 */
1186
- tag: drizzle_orm.One<"comic_universe_tags", true>;
1187
- }>;
1188
- /**
1189
- * 作品表关系
1190
- * 作品属于一个画集
1191
- */
1192
- declare const comicUniverseArtworksRelations: drizzle_orm.Relations<"comic_universe_artworks", {
1193
- /** 所属画集 */
1194
- collection: drizzle_orm.One<"comic_universe_collections", true>;
1195
- }>;
1196
-
1197
- /**
1198
- * ShowMasterpiece 模块 - 预订表结构定义
1199
- *
1200
- * 这个文件定义了画集预订功能的数据库表结构,使用Drizzle ORM框架。
1201
- * 包含了预订表和相关的关系映射。
1202
- *
1203
- * 表结构概览:
1204
- * - comicUniverseBookings: 画集预订表
1205
- *
1206
- * 设计特点:
1207
- * - 完整的外键约束和级联删除
1208
- * - 针对查询场景的索引优化
1209
- * - 支持预订状态管理
1210
- * - 记录用户联系信息和预订详情
1211
- * - 支持用户对同一画集进行多次预订
1212
- *
1213
- * @fileoverview 数据库表结构 - 画集预订功能
1214
- */
1215
- /**
1216
- * 画集预订表 (comic_universe_bookings)
1217
- *
1218
- * 存储用户对画集的预订信息,包括联系方式和预订详情。
1219
- * 支持预订状态管理和历史记录查询。
1220
- *
1221
- * 主要功能:
1222
- * - 记录用户预订的画集和数量
1223
- * - 存储用户联系方式(QQ号+手机号)
1224
- * - 预订状态管理(待确认、已确认、已完成、已取消)
1225
- * - 预订时间记录和备注信息
1226
- * - 支持管理员处理预订
1227
- * - 支持对同一画集的多次预订
1228
- */
1229
- declare const comicUniverseBookings: drizzle_orm_pg_core.PgTableWithColumns<{
1230
- name: "comic_universe_bookings";
1231
- schema: undefined;
1232
- columns: {
1233
- id: drizzle_orm_pg_core.PgColumn<{
1234
- name: "id";
1235
- tableName: "comic_universe_bookings";
1236
- dataType: "number";
1237
- columnType: "PgSerial";
1238
- data: number;
1239
- driverParam: number;
1240
- notNull: true;
1241
- hasDefault: true;
1242
- isPrimaryKey: false;
1243
- isAutoincrement: false;
1244
- hasRuntimeDefault: false;
1245
- enumValues: undefined;
1246
- baseColumn: never;
1247
- identity: undefined;
1248
- generated: undefined;
1249
- }, {}, {}>;
1250
- collectionId: drizzle_orm_pg_core.PgColumn<{
1251
- name: "collection_id";
1252
- tableName: "comic_universe_bookings";
1253
- dataType: "number";
1254
- columnType: "PgInteger";
1255
- data: number;
1256
- driverParam: string | number;
1257
- notNull: true;
1258
- hasDefault: false;
1259
- isPrimaryKey: false;
1260
- isAutoincrement: false;
1261
- hasRuntimeDefault: false;
1262
- enumValues: undefined;
1263
- baseColumn: never;
1264
- identity: undefined;
1265
- generated: undefined;
1266
- }, {}, {}>;
1267
- qqNumber: drizzle_orm_pg_core.PgColumn<{
1268
- name: "qq_number";
1269
- tableName: "comic_universe_bookings";
1270
- dataType: "string";
1271
- columnType: "PgVarchar";
1272
- data: string;
1273
- driverParam: string;
1274
- notNull: true;
1275
- hasDefault: false;
1276
- isPrimaryKey: false;
1277
- isAutoincrement: false;
1278
- hasRuntimeDefault: false;
1279
- enumValues: [string, ...string[]];
1280
- baseColumn: never;
1281
- identity: undefined;
1282
- generated: undefined;
1283
- }, {}, {
1284
- length: 20;
1285
- }>;
1286
- phoneNumber: drizzle_orm_pg_core.PgColumn<{
1287
- name: "phone_number";
1288
- tableName: "comic_universe_bookings";
1289
- dataType: "string";
1290
- columnType: "PgVarchar";
1291
- data: string;
1292
- driverParam: string;
1293
- notNull: true;
1294
- hasDefault: false;
1295
- isPrimaryKey: false;
1296
- isAutoincrement: false;
1297
- hasRuntimeDefault: false;
1298
- enumValues: [string, ...string[]];
1299
- baseColumn: never;
1300
- identity: undefined;
1301
- generated: undefined;
1302
- }, {}, {
1303
- length: 20;
1304
- }>;
1305
- quantity: drizzle_orm_pg_core.PgColumn<{
1306
- name: "quantity";
1307
- tableName: "comic_universe_bookings";
1308
- dataType: "number";
1309
- columnType: "PgInteger";
1310
- data: number;
1311
- driverParam: string | number;
1312
- notNull: true;
1313
- hasDefault: true;
1314
- isPrimaryKey: false;
1315
- isAutoincrement: false;
1316
- hasRuntimeDefault: false;
1317
- enumValues: undefined;
1318
- baseColumn: never;
1319
- identity: undefined;
1320
- generated: undefined;
1321
- }, {}, {}>;
1322
- status: drizzle_orm_pg_core.PgColumn<{
1323
- name: "status";
1324
- tableName: "comic_universe_bookings";
1325
- dataType: "string";
1326
- columnType: "PgVarchar";
1327
- data: string;
1328
- driverParam: string;
1329
- notNull: true;
1330
- hasDefault: true;
1331
- isPrimaryKey: false;
1332
- isAutoincrement: false;
1333
- hasRuntimeDefault: false;
1334
- enumValues: [string, ...string[]];
1335
- baseColumn: never;
1336
- identity: undefined;
1337
- generated: undefined;
1338
- }, {}, {
1339
- length: 20;
1340
- }>;
1341
- notes: drizzle_orm_pg_core.PgColumn<{
1342
- name: "notes";
1343
- tableName: "comic_universe_bookings";
1344
- dataType: "string";
1345
- columnType: "PgText";
1346
- data: string;
1347
- driverParam: string;
1348
- notNull: false;
1349
- hasDefault: false;
1350
- isPrimaryKey: false;
1351
- isAutoincrement: false;
1352
- hasRuntimeDefault: false;
1353
- enumValues: [string, ...string[]];
1354
- baseColumn: never;
1355
- identity: undefined;
1356
- generated: undefined;
1357
- }, {}, {}>;
1358
- pickupMethod: drizzle_orm_pg_core.PgColumn<{
1359
- name: "pickup_method";
1360
- tableName: "comic_universe_bookings";
1361
- dataType: "string";
1362
- columnType: "PgText";
1363
- data: string;
1364
- driverParam: string;
1365
- notNull: false;
1366
- hasDefault: false;
1367
- isPrimaryKey: false;
1368
- isAutoincrement: false;
1369
- hasRuntimeDefault: false;
1370
- enumValues: [string, ...string[]];
1371
- baseColumn: never;
1372
- identity: undefined;
1373
- generated: undefined;
1374
- }, {}, {}>;
1375
- adminNotes: drizzle_orm_pg_core.PgColumn<{
1376
- name: "admin_notes";
1377
- tableName: "comic_universe_bookings";
1378
- dataType: "string";
1379
- columnType: "PgText";
1380
- data: string;
1381
- driverParam: string;
1382
- notNull: false;
1383
- hasDefault: false;
1384
- isPrimaryKey: false;
1385
- isAutoincrement: false;
1386
- hasRuntimeDefault: false;
1387
- enumValues: [string, ...string[]];
1388
- baseColumn: never;
1389
- identity: undefined;
1390
- generated: undefined;
1391
- }, {}, {}>;
1392
- createdAt: drizzle_orm_pg_core.PgColumn<{
1393
- name: "created_at";
1394
- tableName: "comic_universe_bookings";
1395
- dataType: "date";
1396
- columnType: "PgTimestamp";
1397
- data: Date;
1398
- driverParam: string;
1399
- notNull: true;
1400
- hasDefault: true;
1401
- isPrimaryKey: false;
1402
- isAutoincrement: false;
1403
- hasRuntimeDefault: false;
1404
- enumValues: undefined;
1405
- baseColumn: never;
1406
- identity: undefined;
1407
- generated: undefined;
1408
- }, {}, {}>;
1409
- updatedAt: drizzle_orm_pg_core.PgColumn<{
1410
- name: "updated_at";
1411
- tableName: "comic_universe_bookings";
1412
- dataType: "date";
1413
- columnType: "PgTimestamp";
1414
- data: Date;
1415
- driverParam: string;
1416
- notNull: true;
1417
- hasDefault: true;
1418
- isPrimaryKey: false;
1419
- isAutoincrement: false;
1420
- hasRuntimeDefault: false;
1421
- enumValues: undefined;
1422
- baseColumn: never;
1423
- identity: undefined;
1424
- generated: undefined;
1425
- }, {}, {}>;
1426
- confirmedAt: drizzle_orm_pg_core.PgColumn<{
1427
- name: "confirmed_at";
1428
- tableName: "comic_universe_bookings";
1429
- dataType: "date";
1430
- columnType: "PgTimestamp";
1431
- data: Date;
1432
- driverParam: string;
1433
- notNull: false;
1434
- hasDefault: false;
1435
- isPrimaryKey: false;
1436
- isAutoincrement: false;
1437
- hasRuntimeDefault: false;
1438
- enumValues: undefined;
1439
- baseColumn: never;
1440
- identity: undefined;
1441
- generated: undefined;
1442
- }, {}, {}>;
1443
- completedAt: drizzle_orm_pg_core.PgColumn<{
1444
- name: "completed_at";
1445
- tableName: "comic_universe_bookings";
1446
- dataType: "date";
1447
- columnType: "PgTimestamp";
1448
- data: Date;
1449
- driverParam: string;
1450
- notNull: false;
1451
- hasDefault: false;
1452
- isPrimaryKey: false;
1453
- isAutoincrement: false;
1454
- hasRuntimeDefault: false;
1455
- enumValues: undefined;
1456
- baseColumn: never;
1457
- identity: undefined;
1458
- generated: undefined;
1459
- }, {}, {}>;
1460
- cancelledAt: drizzle_orm_pg_core.PgColumn<{
1461
- name: "cancelled_at";
1462
- tableName: "comic_universe_bookings";
1463
- dataType: "date";
1464
- columnType: "PgTimestamp";
1465
- data: Date;
1466
- driverParam: string;
1467
- notNull: false;
1468
- hasDefault: false;
1469
- isPrimaryKey: false;
1470
- isAutoincrement: false;
1471
- hasRuntimeDefault: false;
1472
- enumValues: undefined;
1473
- baseColumn: never;
1474
- identity: undefined;
1475
- generated: undefined;
1476
- }, {}, {}>;
1477
- };
1478
- dialect: "pg";
1479
- }>;
1480
- /**
1481
- * 预订表关系
1482
- * 预订属于一个画集
1483
- */
1484
- declare const comicUniverseBookingsRelations: drizzle_orm.Relations<"comic_universe_bookings", {
1485
- /** 预订的画集 */
1486
- collection: drizzle_orm.One<"comic_universe_collections", true>;
1487
- }>;
1488
-
1489
- /**
1490
- * ShowMasterpiece模块 - 配置管理数据库表结构
1491
- *
1492
- * 独立的配置管理表,不依赖全局配置表
1493
- * 用于模块独立化部署
1494
- */
1495
- /**
1496
- * ShowMasterPieces配置分类表
1497
- * 表名:showmaster_config_categories
1498
- */
1499
- declare const showmasterConfigCategories: drizzle_orm_pg_core.PgTableWithColumns<{
1500
- name: "showmaster_config_categories";
1501
- schema: undefined;
1502
- columns: {
1503
- id: drizzle_orm_pg_core.PgColumn<{
1504
- name: "id";
1505
- tableName: "showmaster_config_categories";
1506
- dataType: "string";
1507
- columnType: "PgText";
1508
- data: string;
1509
- driverParam: string;
1510
- notNull: true;
1511
- hasDefault: true;
1512
- isPrimaryKey: true;
1513
- isAutoincrement: false;
1514
- hasRuntimeDefault: true;
1515
- enumValues: [string, ...string[]];
1516
- baseColumn: never;
1517
- identity: undefined;
1518
- generated: undefined;
1519
- }, {}, {}>;
1520
- name: drizzle_orm_pg_core.PgColumn<{
1521
- name: "name";
1522
- tableName: "showmaster_config_categories";
1523
- dataType: "string";
1524
- columnType: "PgText";
1525
- data: string;
1526
- driverParam: string;
1527
- notNull: true;
1528
- hasDefault: false;
1529
- isPrimaryKey: false;
1530
- isAutoincrement: false;
1531
- hasRuntimeDefault: false;
1532
- enumValues: [string, ...string[]];
1533
- baseColumn: never;
1534
- identity: undefined;
1535
- generated: undefined;
1536
- }, {}, {}>;
1537
- displayName: drizzle_orm_pg_core.PgColumn<{
1538
- name: "display_name";
1539
- tableName: "showmaster_config_categories";
1540
- dataType: "string";
1541
- columnType: "PgText";
1542
- data: string;
1543
- driverParam: string;
1544
- notNull: true;
1545
- hasDefault: false;
1546
- isPrimaryKey: false;
1547
- isAutoincrement: false;
1548
- hasRuntimeDefault: false;
1549
- enumValues: [string, ...string[]];
1550
- baseColumn: never;
1551
- identity: undefined;
1552
- generated: undefined;
1553
- }, {}, {}>;
1554
- description: drizzle_orm_pg_core.PgColumn<{
1555
- name: "description";
1556
- tableName: "showmaster_config_categories";
1557
- dataType: "string";
1558
- columnType: "PgText";
1559
- data: string;
1560
- driverParam: string;
1561
- notNull: false;
1562
- hasDefault: false;
1563
- isPrimaryKey: false;
1564
- isAutoincrement: false;
1565
- hasRuntimeDefault: false;
1566
- enumValues: [string, ...string[]];
1567
- baseColumn: never;
1568
- identity: undefined;
1569
- generated: undefined;
1570
- }, {}, {}>;
1571
- icon: drizzle_orm_pg_core.PgColumn<{
1572
- name: "icon";
1573
- tableName: "showmaster_config_categories";
1574
- dataType: "string";
1575
- columnType: "PgText";
1576
- data: string;
1577
- driverParam: string;
1578
- notNull: false;
1579
- hasDefault: false;
1580
- isPrimaryKey: false;
1581
- isAutoincrement: false;
1582
- hasRuntimeDefault: false;
1583
- enumValues: [string, ...string[]];
1584
- baseColumn: never;
1585
- identity: undefined;
1586
- generated: undefined;
1587
- }, {}, {}>;
1588
- sortOrder: drizzle_orm_pg_core.PgColumn<{
1589
- name: "sort_order";
1590
- tableName: "showmaster_config_categories";
1591
- dataType: "number";
1592
- columnType: "PgInteger";
1593
- data: number;
1594
- driverParam: string | number;
1595
- notNull: false;
1596
- hasDefault: true;
1597
- isPrimaryKey: false;
1598
- isAutoincrement: false;
1599
- hasRuntimeDefault: false;
1600
- enumValues: undefined;
1601
- baseColumn: never;
1602
- identity: undefined;
1603
- generated: undefined;
1604
- }, {}, {}>;
1605
- isActive: drizzle_orm_pg_core.PgColumn<{
1606
- name: "is_active";
1607
- tableName: "showmaster_config_categories";
1608
- dataType: "boolean";
1609
- columnType: "PgBoolean";
1610
- data: boolean;
1611
- driverParam: boolean;
1612
- notNull: false;
1613
- hasDefault: true;
1614
- isPrimaryKey: false;
1615
- isAutoincrement: false;
1616
- hasRuntimeDefault: false;
1617
- enumValues: undefined;
1618
- baseColumn: never;
1619
- identity: undefined;
1620
- generated: undefined;
1621
- }, {}, {}>;
1622
- createdAt: drizzle_orm_pg_core.PgColumn<{
1623
- name: "created_at";
1624
- tableName: "showmaster_config_categories";
1625
- dataType: "date";
1626
- columnType: "PgTimestamp";
1627
- data: Date;
1628
- driverParam: string;
1629
- notNull: false;
1630
- hasDefault: true;
1631
- isPrimaryKey: false;
1632
- isAutoincrement: false;
1633
- hasRuntimeDefault: false;
1634
- enumValues: undefined;
1635
- baseColumn: never;
1636
- identity: undefined;
1637
- generated: undefined;
1638
- }, {}, {}>;
1639
- updatedAt: drizzle_orm_pg_core.PgColumn<{
1640
- name: "updated_at";
1641
- tableName: "showmaster_config_categories";
1642
- dataType: "date";
1643
- columnType: "PgTimestamp";
1644
- data: Date;
1645
- driverParam: string;
1646
- notNull: false;
1647
- hasDefault: true;
1648
- isPrimaryKey: false;
1649
- isAutoincrement: false;
1650
- hasRuntimeDefault: false;
1651
- enumValues: undefined;
1652
- baseColumn: never;
1653
- identity: undefined;
1654
- generated: undefined;
1655
- }, {}, {}>;
1656
- };
1657
- dialect: "pg";
1658
- }>;
1659
- /**
1660
- * ShowMasterPieces配置项表
1661
- * 表名:showmaster_config_items
1662
- */
1663
- declare const showmasterConfigItems: drizzle_orm_pg_core.PgTableWithColumns<{
1664
- name: "showmaster_config_items";
1665
- schema: undefined;
1666
- columns: {
1667
- id: drizzle_orm_pg_core.PgColumn<{
1668
- name: "id";
1669
- tableName: "showmaster_config_items";
1670
- dataType: "string";
1671
- columnType: "PgText";
1672
- data: string;
1673
- driverParam: string;
1674
- notNull: true;
1675
- hasDefault: true;
1676
- isPrimaryKey: true;
1677
- isAutoincrement: false;
1678
- hasRuntimeDefault: true;
1679
- enumValues: [string, ...string[]];
1680
- baseColumn: never;
1681
- identity: undefined;
1682
- generated: undefined;
1683
- }, {}, {}>;
1684
- categoryId: drizzle_orm_pg_core.PgColumn<{
1685
- name: "category_id";
1686
- tableName: "showmaster_config_items";
1687
- dataType: "string";
1688
- columnType: "PgText";
1689
- data: string;
1690
- driverParam: string;
1691
- notNull: false;
1692
- hasDefault: false;
1693
- isPrimaryKey: false;
1694
- isAutoincrement: false;
1695
- hasRuntimeDefault: false;
1696
- enumValues: [string, ...string[]];
1697
- baseColumn: never;
1698
- identity: undefined;
1699
- generated: undefined;
1700
- }, {}, {}>;
1701
- key: drizzle_orm_pg_core.PgColumn<{
1702
- name: "key";
1703
- tableName: "showmaster_config_items";
1704
- dataType: "string";
1705
- columnType: "PgText";
1706
- data: string;
1707
- driverParam: string;
1708
- notNull: true;
1709
- hasDefault: false;
1710
- isPrimaryKey: false;
1711
- isAutoincrement: false;
1712
- hasRuntimeDefault: false;
1713
- enumValues: [string, ...string[]];
1714
- baseColumn: never;
1715
- identity: undefined;
1716
- generated: undefined;
1717
- }, {}, {}>;
1718
- displayName: drizzle_orm_pg_core.PgColumn<{
1719
- name: "display_name";
1720
- tableName: "showmaster_config_items";
1721
- dataType: "string";
1722
- columnType: "PgText";
1723
- data: string;
1724
- driverParam: string;
1725
- notNull: true;
1726
- hasDefault: false;
1727
- isPrimaryKey: false;
1728
- isAutoincrement: false;
1729
- hasRuntimeDefault: false;
1730
- enumValues: [string, ...string[]];
1731
- baseColumn: never;
1732
- identity: undefined;
1733
- generated: undefined;
1734
- }, {}, {}>;
1735
- description: drizzle_orm_pg_core.PgColumn<{
1736
- name: "description";
1737
- tableName: "showmaster_config_items";
1738
- dataType: "string";
1739
- columnType: "PgText";
1740
- data: string;
1741
- driverParam: string;
1742
- notNull: false;
1743
- hasDefault: false;
1744
- isPrimaryKey: false;
1745
- isAutoincrement: false;
1746
- hasRuntimeDefault: false;
1747
- enumValues: [string, ...string[]];
1748
- baseColumn: never;
1749
- identity: undefined;
1750
- generated: undefined;
1751
- }, {}, {}>;
1752
- value: drizzle_orm_pg_core.PgColumn<{
1753
- name: "value";
1754
- tableName: "showmaster_config_items";
1755
- dataType: "string";
1756
- columnType: "PgText";
1757
- data: string;
1758
- driverParam: string;
1759
- notNull: false;
1760
- hasDefault: false;
1761
- isPrimaryKey: false;
1762
- isAutoincrement: false;
1763
- hasRuntimeDefault: false;
1764
- enumValues: [string, ...string[]];
1765
- baseColumn: never;
1766
- identity: undefined;
1767
- generated: undefined;
1768
- }, {}, {}>;
1769
- defaultValue: drizzle_orm_pg_core.PgColumn<{
1770
- name: "default_value";
1771
- tableName: "showmaster_config_items";
1772
- dataType: "string";
1773
- columnType: "PgText";
1774
- data: string;
1775
- driverParam: string;
1776
- notNull: false;
1777
- hasDefault: false;
1778
- isPrimaryKey: false;
1779
- isAutoincrement: false;
1780
- hasRuntimeDefault: false;
1781
- enumValues: [string, ...string[]];
1782
- baseColumn: never;
1783
- identity: undefined;
1784
- generated: undefined;
1785
- }, {}, {}>;
1786
- type: drizzle_orm_pg_core.PgColumn<{
1787
- name: "type";
1788
- tableName: "showmaster_config_items";
1789
- dataType: "string";
1790
- columnType: "PgText";
1791
- data: string;
1792
- driverParam: string;
1793
- notNull: true;
1794
- hasDefault: false;
1795
- isPrimaryKey: false;
1796
- isAutoincrement: false;
1797
- hasRuntimeDefault: false;
1798
- enumValues: [string, ...string[]];
1799
- baseColumn: never;
1800
- identity: undefined;
1801
- generated: undefined;
1802
- }, {}, {}>;
1803
- isRequired: drizzle_orm_pg_core.PgColumn<{
1804
- name: "is_required";
1805
- tableName: "showmaster_config_items";
1806
- dataType: "boolean";
1807
- columnType: "PgBoolean";
1808
- data: boolean;
1809
- driverParam: boolean;
1810
- notNull: false;
1811
- hasDefault: true;
1812
- isPrimaryKey: false;
1813
- isAutoincrement: false;
1814
- hasRuntimeDefault: false;
1815
- enumValues: undefined;
1816
- baseColumn: never;
1817
- identity: undefined;
1818
- generated: undefined;
1819
- }, {}, {}>;
1820
- isSensitive: drizzle_orm_pg_core.PgColumn<{
1821
- name: "is_sensitive";
1822
- tableName: "showmaster_config_items";
1823
- dataType: "boolean";
1824
- columnType: "PgBoolean";
1825
- data: boolean;
1826
- driverParam: boolean;
1827
- notNull: false;
1828
- hasDefault: true;
1829
- isPrimaryKey: false;
1830
- isAutoincrement: false;
1831
- hasRuntimeDefault: false;
1832
- enumValues: undefined;
1833
- baseColumn: never;
1834
- identity: undefined;
1835
- generated: undefined;
1836
- }, {}, {}>;
1837
- validation: drizzle_orm_pg_core.PgColumn<{
1838
- name: "validation";
1839
- tableName: "showmaster_config_items";
1840
- dataType: "json";
1841
- columnType: "PgJsonb";
1842
- data: unknown;
1843
- driverParam: unknown;
1844
- notNull: false;
1845
- hasDefault: false;
1846
- isPrimaryKey: false;
1847
- isAutoincrement: false;
1848
- hasRuntimeDefault: false;
1849
- enumValues: undefined;
1850
- baseColumn: never;
1851
- identity: undefined;
1852
- generated: undefined;
1853
- }, {}, {}>;
1854
- sortOrder: drizzle_orm_pg_core.PgColumn<{
1855
- name: "sort_order";
1856
- tableName: "showmaster_config_items";
1857
- dataType: "number";
1858
- columnType: "PgInteger";
1859
- data: number;
1860
- driverParam: string | number;
1861
- notNull: false;
1862
- hasDefault: true;
1863
- isPrimaryKey: false;
1864
- isAutoincrement: false;
1865
- hasRuntimeDefault: false;
1866
- enumValues: undefined;
1867
- baseColumn: never;
1868
- identity: undefined;
1869
- generated: undefined;
1870
- }, {}, {}>;
1871
- isActive: drizzle_orm_pg_core.PgColumn<{
1872
- name: "is_active";
1873
- tableName: "showmaster_config_items";
1874
- dataType: "boolean";
1875
- columnType: "PgBoolean";
1876
- data: boolean;
1877
- driverParam: boolean;
1878
- notNull: false;
1879
- hasDefault: true;
1880
- isPrimaryKey: false;
1881
- isAutoincrement: false;
1882
- hasRuntimeDefault: false;
1883
- enumValues: undefined;
1884
- baseColumn: never;
1885
- identity: undefined;
1886
- generated: undefined;
1887
- }, {}, {}>;
1888
- environment: drizzle_orm_pg_core.PgColumn<{
1889
- name: "environment";
1890
- tableName: "showmaster_config_items";
1891
- dataType: "string";
1892
- columnType: "PgText";
1893
- data: string;
1894
- driverParam: string;
1895
- notNull: false;
1896
- hasDefault: true;
1897
- isPrimaryKey: false;
1898
- isAutoincrement: false;
1899
- hasRuntimeDefault: false;
1900
- enumValues: [string, ...string[]];
1901
- baseColumn: never;
1902
- identity: undefined;
1903
- generated: undefined;
1904
- }, {}, {}>;
1905
- createdAt: drizzle_orm_pg_core.PgColumn<{
1906
- name: "created_at";
1907
- tableName: "showmaster_config_items";
1908
- dataType: "date";
1909
- columnType: "PgTimestamp";
1910
- data: Date;
1911
- driverParam: string;
1912
- notNull: false;
1913
- hasDefault: true;
1914
- isPrimaryKey: false;
1915
- isAutoincrement: false;
1916
- hasRuntimeDefault: false;
1917
- enumValues: undefined;
1918
- baseColumn: never;
1919
- identity: undefined;
1920
- generated: undefined;
1921
- }, {}, {}>;
1922
- updatedAt: drizzle_orm_pg_core.PgColumn<{
1923
- name: "updated_at";
1924
- tableName: "showmaster_config_items";
1925
- dataType: "date";
1926
- columnType: "PgTimestamp";
1927
- data: Date;
1928
- driverParam: string;
1929
- notNull: false;
1930
- hasDefault: true;
1931
- isPrimaryKey: false;
1932
- isAutoincrement: false;
1933
- hasRuntimeDefault: false;
1934
- enumValues: undefined;
1935
- baseColumn: never;
1936
- identity: undefined;
1937
- generated: undefined;
1938
- }, {}, {}>;
1939
- };
1940
- dialect: "pg";
1941
- }>;
1942
- /**
1943
- * ShowMasterPieces配置历史表
1944
- * 表名:showmaster_config_history
1945
- */
1946
- declare const showmasterConfigHistory: drizzle_orm_pg_core.PgTableWithColumns<{
1947
- name: "showmaster_config_history";
1948
- schema: undefined;
1949
- columns: {
1950
- id: drizzle_orm_pg_core.PgColumn<{
1951
- name: "id";
1952
- tableName: "showmaster_config_history";
1953
- dataType: "string";
1954
- columnType: "PgText";
1955
- data: string;
1956
- driverParam: string;
1957
- notNull: true;
1958
- hasDefault: true;
1959
- isPrimaryKey: true;
1960
- isAutoincrement: false;
1961
- hasRuntimeDefault: true;
1962
- enumValues: [string, ...string[]];
1963
- baseColumn: never;
1964
- identity: undefined;
1965
- generated: undefined;
1966
- }, {}, {}>;
1967
- configItemId: drizzle_orm_pg_core.PgColumn<{
1968
- name: "config_item_id";
1969
- tableName: "showmaster_config_history";
1970
- dataType: "string";
1971
- columnType: "PgText";
1972
- data: string;
1973
- driverParam: string;
1974
- notNull: false;
1975
- hasDefault: false;
1976
- isPrimaryKey: false;
1977
- isAutoincrement: false;
1978
- hasRuntimeDefault: false;
1979
- enumValues: [string, ...string[]];
1980
- baseColumn: never;
1981
- identity: undefined;
1982
- generated: undefined;
1983
- }, {}, {}>;
1984
- oldValue: drizzle_orm_pg_core.PgColumn<{
1985
- name: "old_value";
1986
- tableName: "showmaster_config_history";
1987
- dataType: "string";
1988
- columnType: "PgText";
1989
- data: string;
1990
- driverParam: string;
1991
- notNull: false;
1992
- hasDefault: false;
1993
- isPrimaryKey: false;
1994
- isAutoincrement: false;
1995
- hasRuntimeDefault: false;
1996
- enumValues: [string, ...string[]];
1997
- baseColumn: never;
1998
- identity: undefined;
1999
- generated: undefined;
2000
- }, {}, {}>;
2001
- newValue: drizzle_orm_pg_core.PgColumn<{
2002
- name: "new_value";
2003
- tableName: "showmaster_config_history";
2004
- dataType: "string";
2005
- columnType: "PgText";
2006
- data: string;
2007
- driverParam: string;
2008
- notNull: false;
2009
- hasDefault: false;
2010
- isPrimaryKey: false;
2011
- isAutoincrement: false;
2012
- hasRuntimeDefault: false;
2013
- enumValues: [string, ...string[]];
2014
- baseColumn: never;
2015
- identity: undefined;
2016
- generated: undefined;
2017
- }, {}, {}>;
2018
- changedBy: drizzle_orm_pg_core.PgColumn<{
2019
- name: "changed_by";
2020
- tableName: "showmaster_config_history";
2021
- dataType: "string";
2022
- columnType: "PgText";
2023
- data: string;
2024
- driverParam: string;
2025
- notNull: true;
2026
- hasDefault: false;
2027
- isPrimaryKey: false;
2028
- isAutoincrement: false;
2029
- hasRuntimeDefault: false;
2030
- enumValues: [string, ...string[]];
2031
- baseColumn: never;
2032
- identity: undefined;
2033
- generated: undefined;
2034
- }, {}, {}>;
2035
- changeReason: drizzle_orm_pg_core.PgColumn<{
2036
- name: "change_reason";
2037
- tableName: "showmaster_config_history";
2038
- dataType: "string";
2039
- columnType: "PgText";
2040
- data: string;
2041
- driverParam: string;
2042
- notNull: false;
2043
- hasDefault: false;
2044
- isPrimaryKey: false;
2045
- isAutoincrement: false;
2046
- hasRuntimeDefault: false;
2047
- enumValues: [string, ...string[]];
2048
- baseColumn: never;
2049
- identity: undefined;
2050
- generated: undefined;
2051
- }, {}, {}>;
2052
- operationType: drizzle_orm_pg_core.PgColumn<{
2053
- name: "operation_type";
2054
- tableName: "showmaster_config_history";
2055
- dataType: "string";
2056
- columnType: "PgText";
2057
- data: string;
2058
- driverParam: string;
2059
- notNull: true;
2060
- hasDefault: false;
2061
- isPrimaryKey: false;
2062
- isAutoincrement: false;
2063
- hasRuntimeDefault: false;
2064
- enumValues: [string, ...string[]];
2065
- baseColumn: never;
2066
- identity: undefined;
2067
- generated: undefined;
2068
- }, {}, {}>;
2069
- environment: drizzle_orm_pg_core.PgColumn<{
2070
- name: "environment";
2071
- tableName: "showmaster_config_history";
2072
- dataType: "string";
2073
- columnType: "PgText";
2074
- data: string;
2075
- driverParam: string;
2076
- notNull: false;
2077
- hasDefault: true;
2078
- isPrimaryKey: false;
2079
- isAutoincrement: false;
2080
- hasRuntimeDefault: false;
2081
- enumValues: [string, ...string[]];
2082
- baseColumn: never;
2083
- identity: undefined;
2084
- generated: undefined;
2085
- }, {}, {}>;
2086
- createdAt: drizzle_orm_pg_core.PgColumn<{
2087
- name: "created_at";
2088
- tableName: "showmaster_config_history";
2089
- dataType: "date";
2090
- columnType: "PgTimestamp";
2091
- data: Date;
2092
- driverParam: string;
2093
- notNull: false;
2094
- hasDefault: true;
2095
- isPrimaryKey: false;
2096
- isAutoincrement: false;
2097
- hasRuntimeDefault: false;
2098
- enumValues: undefined;
2099
- baseColumn: never;
2100
- identity: undefined;
2101
- generated: undefined;
2102
- }, {}, {}>;
2103
- };
2104
- dialect: "pg";
2105
- }>;
2106
- /**
2107
- * ShowMasterPieces配置权限表(可选,用于细粒度权限控制)
2108
- * 表名:showmaster_config_permissions
2109
- */
2110
- declare const showmasterConfigPermissions: drizzle_orm_pg_core.PgTableWithColumns<{
2111
- name: "showmaster_config_permissions";
2112
- schema: undefined;
2113
- columns: {
2114
- id: drizzle_orm_pg_core.PgColumn<{
2115
- name: "id";
2116
- tableName: "showmaster_config_permissions";
2117
- dataType: "string";
2118
- columnType: "PgText";
2119
- data: string;
2120
- driverParam: string;
2121
- notNull: true;
2122
- hasDefault: true;
2123
- isPrimaryKey: true;
2124
- isAutoincrement: false;
2125
- hasRuntimeDefault: true;
2126
- enumValues: [string, ...string[]];
2127
- baseColumn: never;
2128
- identity: undefined;
2129
- generated: undefined;
2130
- }, {}, {}>;
2131
- userId: drizzle_orm_pg_core.PgColumn<{
2132
- name: "user_id";
2133
- tableName: "showmaster_config_permissions";
2134
- dataType: "string";
2135
- columnType: "PgText";
2136
- data: string;
2137
- driverParam: string;
2138
- notNull: true;
2139
- hasDefault: false;
2140
- isPrimaryKey: false;
2141
- isAutoincrement: false;
2142
- hasRuntimeDefault: false;
2143
- enumValues: [string, ...string[]];
2144
- baseColumn: never;
2145
- identity: undefined;
2146
- generated: undefined;
2147
- }, {}, {}>;
2148
- categoryId: drizzle_orm_pg_core.PgColumn<{
2149
- name: "category_id";
2150
- tableName: "showmaster_config_permissions";
2151
- dataType: "string";
2152
- columnType: "PgText";
2153
- data: string;
2154
- driverParam: string;
2155
- notNull: false;
2156
- hasDefault: false;
2157
- isPrimaryKey: false;
2158
- isAutoincrement: false;
2159
- hasRuntimeDefault: false;
2160
- enumValues: [string, ...string[]];
2161
- baseColumn: never;
2162
- identity: undefined;
2163
- generated: undefined;
2164
- }, {}, {}>;
2165
- canRead: drizzle_orm_pg_core.PgColumn<{
2166
- name: "can_read";
2167
- tableName: "showmaster_config_permissions";
2168
- dataType: "boolean";
2169
- columnType: "PgBoolean";
2170
- data: boolean;
2171
- driverParam: boolean;
2172
- notNull: false;
2173
- hasDefault: true;
2174
- isPrimaryKey: false;
2175
- isAutoincrement: false;
2176
- hasRuntimeDefault: false;
2177
- enumValues: undefined;
2178
- baseColumn: never;
2179
- identity: undefined;
2180
- generated: undefined;
2181
- }, {}, {}>;
2182
- canWrite: drizzle_orm_pg_core.PgColumn<{
2183
- name: "can_write";
2184
- tableName: "showmaster_config_permissions";
2185
- dataType: "boolean";
2186
- columnType: "PgBoolean";
2187
- data: boolean;
2188
- driverParam: boolean;
2189
- notNull: false;
2190
- hasDefault: true;
2191
- isPrimaryKey: false;
2192
- isAutoincrement: false;
2193
- hasRuntimeDefault: false;
2194
- enumValues: undefined;
2195
- baseColumn: never;
2196
- identity: undefined;
2197
- generated: undefined;
2198
- }, {}, {}>;
2199
- canDelete: drizzle_orm_pg_core.PgColumn<{
2200
- name: "can_delete";
2201
- tableName: "showmaster_config_permissions";
2202
- dataType: "boolean";
2203
- columnType: "PgBoolean";
2204
- data: boolean;
2205
- driverParam: boolean;
2206
- notNull: false;
2207
- hasDefault: true;
2208
- isPrimaryKey: false;
2209
- isAutoincrement: false;
2210
- hasRuntimeDefault: false;
2211
- enumValues: undefined;
2212
- baseColumn: never;
2213
- identity: undefined;
2214
- generated: undefined;
2215
- }, {}, {}>;
2216
- allowedEnvironments: drizzle_orm_pg_core.PgColumn<{
2217
- name: "allowed_environments";
2218
- tableName: "showmaster_config_permissions";
2219
- dataType: "json";
2220
- columnType: "PgJsonb";
2221
- data: string[];
2222
- driverParam: unknown;
2223
- notNull: false;
2224
- hasDefault: true;
2225
- isPrimaryKey: false;
2226
- isAutoincrement: false;
2227
- hasRuntimeDefault: false;
2228
- enumValues: undefined;
2229
- baseColumn: never;
2230
- identity: undefined;
2231
- generated: undefined;
2232
- }, {}, {
2233
- $type: string[];
2234
- }>;
2235
- createdAt: drizzle_orm_pg_core.PgColumn<{
2236
- name: "created_at";
2237
- tableName: "showmaster_config_permissions";
2238
- dataType: "date";
2239
- columnType: "PgTimestamp";
2240
- data: Date;
2241
- driverParam: string;
2242
- notNull: false;
2243
- hasDefault: true;
2244
- isPrimaryKey: false;
2245
- isAutoincrement: false;
2246
- hasRuntimeDefault: false;
2247
- enumValues: undefined;
2248
- baseColumn: never;
2249
- identity: undefined;
2250
- generated: undefined;
2251
- }, {}, {}>;
2252
- updatedAt: drizzle_orm_pg_core.PgColumn<{
2253
- name: "updated_at";
2254
- tableName: "showmaster_config_permissions";
2255
- dataType: "date";
2256
- columnType: "PgTimestamp";
2257
- data: Date;
2258
- driverParam: string;
2259
- notNull: false;
2260
- hasDefault: true;
2261
- isPrimaryKey: false;
2262
- isAutoincrement: false;
2263
- hasRuntimeDefault: false;
2264
- enumValues: undefined;
2265
- baseColumn: never;
2266
- identity: undefined;
2267
- generated: undefined;
2268
- }, {}, {}>;
2269
- };
2270
- dialect: "pg";
2271
- }>;
2272
- type ShowmasterConfigCategory = typeof showmasterConfigCategories.$inferSelect;
2273
- type NewShowmasterConfigCategory = typeof showmasterConfigCategories.$inferInsert;
2274
- type ShowmasterConfigItem = typeof showmasterConfigItems.$inferSelect;
2275
- type NewShowmasterConfigItem = typeof showmasterConfigItems.$inferInsert;
2276
- type ShowmasterConfigHistory = typeof showmasterConfigHistory.$inferSelect;
2277
- type NewShowmasterConfigHistory = typeof showmasterConfigHistory.$inferInsert;
2278
- type ShowmasterConfigPermission = typeof showmasterConfigPermissions.$inferSelect;
2279
- type NewShowmasterConfigPermission = typeof showmasterConfigPermissions.$inferInsert;
2280
-
2281
- /**
2282
- * ShowMasterpiece模块 - 配置管理数据库服务
2283
- *
2284
- * 独立的配置管理服务,不依赖全局配置服务
2285
- */
2286
-
2287
- /**
2288
- * 配置搜索参数
2289
- */
2290
- interface ConfigSearchParams {
2291
- categoryId?: string;
2292
- search?: string;
2293
- type?: 'string' | 'number' | 'boolean' | 'json' | 'password';
2294
- environment?: string;
2295
- isActive?: boolean;
2296
- page?: number;
2297
- pageSize?: number;
2298
- }
2299
- /**
2300
- * 分页响应
2301
- */
2302
- interface PaginatedResponse<T> {
2303
- items: T[];
2304
- total: number;
2305
- page: number;
2306
- pageSize: number;
2307
- totalPages: number;
2308
- }
2309
- /**
2310
- * ShowMasterPieces配置管理服务
2311
- */
2312
- declare class ShowmasterConfigService {
2313
- private readonly db;
2314
- constructor(db: any);
2315
- /**
2316
- * 获取所有配置分类
2317
- */
2318
- getAllCategories(): Promise<ShowmasterConfigCategory[]>;
2319
- /**
2320
- * 根据ID获取配置分类
2321
- */
2322
- getCategoryById(id: string): Promise<ShowmasterConfigCategory | null>;
2323
- /**
2324
- * 根据名称获取配置分类
2325
- */
2326
- getCategoryByName(name: string): Promise<ShowmasterConfigCategory | null>;
2327
- /**
2328
- * 创建配置分类
2329
- */
2330
- createCategory(data: Omit<NewShowmasterConfigCategory, 'id' | 'createdAt' | 'updatedAt'>): Promise<ShowmasterConfigCategory>;
2331
- /**
2332
- * 更新配置分类
2333
- */
2334
- updateCategory(id: string, data: Partial<Omit<ShowmasterConfigCategory, 'id' | 'createdAt'>>): Promise<ShowmasterConfigCategory>;
2335
- /**
2336
- * 删除配置分类
2337
- */
2338
- deleteCategory(id: string): Promise<void>;
2339
- /**
2340
- * 获取配置项列表(支持分页和搜索)
2341
- */
2342
- getConfigItems(params?: ConfigSearchParams): Promise<PaginatedResponse<ShowmasterConfigItem>>;
2343
- /**
2344
- * 根据ID获取配置项
2345
- */
2346
- getConfigItemById(id: string): Promise<ShowmasterConfigItem | null>;
2347
- /**
2348
- * 根据key获取配置项
2349
- */
2350
- getConfigItemByKey(key: string, environment?: string): Promise<ShowmasterConfigItem | null>;
2351
- /**
2352
- * 创建配置项
2353
- */
2354
- createConfigItem(data: Omit<NewShowmasterConfigItem, 'id' | 'createdAt' | 'updatedAt'>): Promise<ShowmasterConfigItem>;
2355
- /**
2356
- * 更新配置项
2357
- */
2358
- updateConfigItem(id: string, data: Partial<Omit<ShowmasterConfigItem, 'id' | 'createdAt'>>, changedBy?: string): Promise<ShowmasterConfigItem>;
2359
- /**
2360
- * 删除配置项
2361
- */
2362
- deleteConfigItem(id: string, changedBy?: string): Promise<void>;
2363
- /**
2364
- * 记录配置变更历史
2365
- */
2366
- private recordHistory;
2367
- /**
2368
- * 获取配置项历史记录
2369
- */
2370
- getConfigItemHistory(configItemId: string, limit?: number): Promise<ShowmasterConfigHistory[]>;
2371
- /**
2372
- * 获取配置值(带类型转换)
2373
- */
2374
- getConfigValue<T = string>(key: string, environment?: string): Promise<T | null>;
2375
- /**
2376
- * 设置配置值
2377
- */
2378
- setConfigValue(key: string, value: any, environment?: string, changedBy?: string): Promise<void>;
2379
- /**
2380
- * 初始化默认配置分类
2381
- */
2382
- initializeDefaultCategories(): Promise<void>;
2383
- }
2384
- declare function createShowmasterConfigService(db: any): ShowmasterConfigService;
2385
-
2386
- /**
2387
- * ShowMasterpiece 模块 - 弹窗配置数据库服务
2388
- *
2389
- * 提供弹窗配置的CRUD操作
2390
- *
2391
- * @fileoverview 弹窗配置数据库服务
2392
- */
2393
-
2394
- declare class PopupConfigService {
2395
- private readonly db;
2396
- constructor(db: any);
2397
- /**
2398
- * 创建弹窗配置
2399
- */
2400
- createPopupConfig(data: Omit<NewPopupConfig, 'id' | 'createdAt' | 'updatedAt'>): Promise<PopupConfig>;
2401
- /**
2402
- * 根据ID获取弹窗配置
2403
- */
2404
- getPopupConfigById(id: string): Promise<PopupConfig | null>;
2405
- /**
2406
- * 获取指定业务场景的启用弹窗配置
2407
- */
2408
- getEnabledPopupConfigs(businessModule?: string, businessScene?: string): Promise<PopupConfig[]>;
2409
- /**
2410
- * 获取所有弹窗配置
2411
- */
2412
- getAllPopupConfigs(): Promise<PopupConfig[]>;
2413
- /**
2414
- * 更新弹窗配置
2415
- */
2416
- updatePopupConfig(id: string, data: Partial<Omit<PopupConfig, 'id' | 'createdAt'>>): Promise<PopupConfig>;
2417
- /**
2418
- * 删除弹窗配置
2419
- */
2420
- deletePopupConfig(id: string): Promise<boolean>;
2421
- /**
2422
- * 切换弹窗配置启用状态
2423
- */
2424
- togglePopupConfig(id: string, enabled: boolean): Promise<PopupConfig>;
2425
- /**
2426
- * 检查是否需要显示弹窗
2427
- */
2428
- shouldShowPopup(businessModule?: string, businessScene?: string, currentTime?: Date): Promise<PopupConfig[]>;
2429
- }
2430
- declare function createPopupConfigService(db: any): PopupConfigService;
2431
-
2432
- interface MasterpiecesConfig$1 {
2433
- siteName: string;
2434
- siteDescription?: string;
2435
- heroTitle: string;
2436
- heroSubtitle?: string;
2437
- maxCollectionsPerPage: number;
2438
- enableSearch: boolean;
2439
- enableCategories: boolean;
2440
- homeTabConfig: any[];
2441
- defaultCategory: string;
2442
- theme: 'light' | 'dark' | 'auto';
2443
- language: 'zh' | 'en';
2444
- }
2445
- declare class MasterpiecesConfigDbService$1 {
2446
- private readonly db;
2447
- constructor(db: any);
2448
- getConfig(): Promise<MasterpiecesConfig$1>;
2449
- updateConfig(configData: Partial<MasterpiecesConfig$1>): Promise<MasterpiecesConfig$1>;
2450
- resetConfig(): Promise<MasterpiecesConfig$1>;
2451
- private createDefaultConfig;
2452
- private mapDbConfigToType;
2453
- }
2454
- declare class CategoriesDbService$1 {
2455
- private readonly db;
2456
- constructor(db: any);
2457
- getCategories(): Promise<Array<{
2458
- name: string;
2459
- description?: string | null;
2460
- }>>;
2461
- createCategory(name: string, description?: string): Promise<void>;
2462
- }
2463
- declare class TagsDbService$1 {
2464
- private readonly db;
2465
- constructor(db: any);
2466
- getTags(): Promise<string[]>;
2467
- createTag(name: string, color?: string): Promise<void>;
2468
- }
2469
- declare function createMasterpiecesConfigDbService(db: any): MasterpiecesConfigDbService$1;
2470
- declare function createCategoriesDbService(db: any): CategoriesDbService$1;
2471
- declare function createTagsDbService(db: any): TagsDbService$1;
2472
-
2473
- declare function initializeShowmasterpieceDb(database: any, resolver?: (fileId: string) => Promise<string | null | undefined>): void;
2474
- interface MasterpiecesConfig {
2475
- siteName: string;
2476
- siteDescription?: string;
2477
- heroTitle: string;
2478
- heroSubtitle?: string;
2479
- maxCollectionsPerPage: number;
2480
- enableSearch: boolean;
2481
- enableCategories: boolean;
2482
- homeTabConfig: any[];
2483
- defaultCategory: string;
2484
- theme: 'light' | 'dark' | 'auto';
2485
- language: 'zh' | 'en';
2486
- }
2487
- type CollectionCategoryType = string;
2488
- interface ArtworkPage {
2489
- id: number;
2490
- title: string;
2491
- number: string;
2492
- image: string;
2493
- fileId?: string;
2494
- description: string;
2495
- createdTime?: string;
2496
- theme?: string;
2497
- pageOrder: number;
2498
- }
2499
- interface ArtCollection {
2500
- id: number;
2501
- title: string;
2502
- number: string;
2503
- coverImage: string;
2504
- coverImageFileId?: string;
2505
- description: string;
2506
- pages: ArtworkPage[];
2507
- category: CollectionCategoryType;
2508
- tags?: string[];
2509
- isPublished?: boolean;
2510
- price?: number;
2511
- }
2512
- interface CollectionFormData {
2513
- title: string;
2514
- number: string;
2515
- coverImage: string;
2516
- coverImageFileId?: string;
2517
- description: string;
2518
- category: CollectionCategoryType;
2519
- tags: string[];
2520
- isPublished: boolean;
2521
- price?: number;
2522
- }
2523
- interface ArtworkFormData {
2524
- title: string;
2525
- number: string;
2526
- image?: string;
2527
- fileId?: string;
2528
- description: string;
2529
- createdTime?: string;
2530
- theme?: string;
2531
- }
2532
- declare class MasterpiecesConfigDbService {
2533
- getConfig(): Promise<MasterpiecesConfig>;
2534
- updateConfig(configData: Partial<MasterpiecesConfig>): Promise<MasterpiecesConfig>;
2535
- resetConfig(): Promise<MasterpiecesConfig>;
2536
- private createDefaultConfig;
2537
- private mapDbConfigToType;
2538
- }
2539
- declare class CategoriesDbService {
2540
- getCategories(): Promise<Array<{
2541
- name: string;
2542
- description?: string | null;
2543
- }>>;
2544
- createCategory(name: string, description?: string): Promise<void>;
2545
- }
2546
- declare class TagsDbService {
2547
- getTags(): Promise<string[]>;
2548
- createTag(name: string, color?: string): Promise<void>;
2549
- }
2550
- declare class CollectionsDbService {
2551
- private collectionsCache;
2552
- private collectionsCacheTime;
2553
- private collectionsOverviewCache;
2554
- private collectionsOverviewCacheTime;
2555
- private readonly CACHE_DURATION;
2556
- private readonly OVERVIEW_CACHE_DURATION;
2557
- private readonly STALE_WHILE_REVALIDATE;
2558
- /**
2559
- * 获取所有画集 - 优化版本
2560
- *
2561
- * 性能问题分析:
2562
- * 1. 复杂的多表关联查询 - 涉及5个表的数据整合
2563
- * 2. 作品数据量大 - 包含所有作品的完整信息(特别是图片数据)
2564
- * 3. N+1查询风险 - 虽然使用并行查询,但仍有优化空间
2565
- * 4. 缓存策略有限 - 2分钟缓存时间较短,首次访问必须全量查询
2566
- *
2567
- * 优化策略:
2568
- * ✅ 并行查询 - 分类、标签、作品数据并行获取
2569
- * ✅ 内存缓存 - 减少重复查询
2570
- * ✅ 字段选择 - 只查询必要字段
2571
- * ✅ 延长缓存时间 - 从2分钟增加到10分钟
2572
- * ⚠️ 需要优化 - 数据库索引、分页加载、图片懒加载
2573
- */
2574
- getAllCollections(useCache?: boolean): Promise<ArtCollection[]>;
2575
- /**
2576
- * 获取画集概览 - 不包含作品详情的轻量版本
2577
- * 适用于首页列表、搜索结果等场景
2578
- */
2579
- getCollectionsOverview(): Promise<Omit<ArtCollection, 'pages'>[]>;
2580
- /**
2581
- * 后台异步刷新完整缓存
2582
- */
2583
- private refreshCacheInBackground;
2584
- /**
2585
- * 后台异步刷新概览缓存
2586
- */
2587
- private refreshOverviewCacheInBackground;
2588
- /**
2589
- * 从数据库获取完整画集数据
2590
- * 优化版本:不再返回Base64图片数据,只返回fileId和imageUrl
2591
- */
2592
- private fetchAllCollectionsFromDb;
2593
- /**
2594
- * 从数据库获取画集概览数据
2595
- */
2596
- private fetchCollectionsOverviewFromDb;
2597
- clearCache(): void;
2598
- createCollection(collectionData: CollectionFormData): Promise<ArtCollection>;
2599
- updateCollection(id: number, collectionData: CollectionFormData): Promise<ArtCollection>;
2600
- deleteCollection(id: number): Promise<void>;
2601
- private updateCollectionTags;
2602
- updateCollectionOrder(collectionOrders: {
2603
- id: number;
2604
- displayOrder: number;
2605
- }[]): Promise<void>;
2606
- moveCollection(collectionId: number, targetOrder: number): Promise<void>;
2607
- moveCollectionUp(collectionId: number): Promise<void>;
2608
- moveCollectionDown(collectionId: number): Promise<void>;
2609
- private normalizeCollectionOrderIfNeeded;
2610
- }
2611
- declare class ArtworksDbService {
2612
- private collectionsService;
2613
- constructor(collectionsService: CollectionsDbService);
2614
- addArtworkToCollection(collectionId: number, artworkData: ArtworkFormData): Promise<ArtworkPage>;
2615
- updateArtwork(collectionId: number, artworkId: number, artworkData: ArtworkFormData): Promise<ArtworkPage>;
2616
- deleteArtwork(collectionId: number, artworkId: number): Promise<void>;
2617
- updateArtworkOrder(collectionId: number, artworkOrders: {
2618
- id: number;
2619
- pageOrder: number;
2620
- }[]): Promise<void>;
2621
- moveArtwork(collectionId: number, artworkId: number, targetOrder: number): Promise<void>;
2622
- moveArtworkUp(collectionId: number, artworkId: number): Promise<void>;
2623
- moveArtworkDown(collectionId: number, artworkId: number): Promise<void>;
2624
- getArtworksByCollection(collectionId: number): Promise<(ArtworkPage & {
2625
- pageOrder: number;
2626
- })[]>;
2627
- private buildArtworkPagesWithUrls;
2628
- }
2629
- declare const masterpiecesConfigDbService: MasterpiecesConfigDbService;
2630
- declare const categoriesDbService: CategoriesDbService;
2631
- declare const tagsDbService: TagsDbService;
2632
- declare const collectionsDbService: CollectionsDbService;
2633
- declare const artworksDbService: ArtworksDbService;
2634
-
2635
- interface AdminBookingQueryInput {
2636
- qqNumber?: string | null;
2637
- phoneNumber?: string | null;
2638
- status?: string | null;
2639
- applyFiltersToStats?: boolean;
2640
- }
2641
- interface BookableCollectionsQueryInput {
2642
- categoryId?: number;
2643
- limit?: number;
2644
- orderBy?: 'displayOrder' | 'createdAt' | 'title' | string;
2645
- }
2646
- interface BookingListQueryInput {
2647
- collectionId?: number;
2648
- qqNumber?: string;
2649
- phoneNumber?: string;
2650
- status?: string;
2651
- page?: number;
2652
- limit?: number;
2653
- }
2654
- declare class BookingQueryService {
2655
- private readonly db;
2656
- constructor(db: any);
2657
- private buildAdminConditions;
2658
- private formatAdminBooking;
2659
- getAdminBookings(input?: AdminBookingQueryInput): Promise<any>;
2660
- getBookableCollections(input?: BookableCollectionsQueryInput): Promise<any[]>;
2661
- exportBookingsCsv(): Promise<string>;
2662
- getBookingsList(input?: BookingListQueryInput): Promise<any>;
2663
- getBookingById(id: number): Promise<any | null>;
2664
- }
2665
- declare function createBookingQueryService(db: any): BookingQueryService;
2666
-
2667
- type BookingCommandErrorCode = 'INVALID_BOOKING_ID' | 'BOOKING_NOT_FOUND' | 'INVALID_PAYLOAD' | 'INVALID_PHONE' | 'INVALID_QQ' | 'INVALID_QUANTITY' | 'COLLECTION_NOT_FOUND' | 'INVALID_STATUS';
2668
- declare class BookingCommandError extends Error {
2669
- readonly code: BookingCommandErrorCode;
2670
- constructor(code: BookingCommandErrorCode, message: string);
2671
- }
2672
- declare class BookingCommandService {
2673
- private readonly db;
2674
- constructor(db: any);
2675
- private ensureBookingExists;
2676
- private ensureCollectionExists;
2677
- private validatePhone;
2678
- private validateQq;
2679
- createBooking(body: any): Promise<any>;
2680
- batchCreateBookings(body: any): Promise<any>;
2681
- updateBooking(id: number, body: any): Promise<any>;
2682
- updateBookingStatus(id: number, status: string, adminNotes?: string): Promise<any>;
2683
- deleteBooking(id: number): Promise<void>;
2684
- }
2685
- declare function createBookingCommandService(db: any): BookingCommandService;
2686
-
2687
- interface ShowMasterpieceFileRuntimeConfig {
2688
- defaultStorage: string;
2689
- storageProviders: Record<string, any>;
2690
- defaultCDN: string;
2691
- cdnProviders: Record<string, any>;
2692
- maxFileSize: number;
2693
- allowedMimeTypes: string[];
2694
- cache: {
2695
- metadataTTL: number;
2696
- urlTTL: number;
2697
- };
2698
- }
2699
- interface ConfigManager {
2700
- getConfig(): ShowMasterpieceFileRuntimeConfig;
2701
- }
2702
- declare function getShowMasterpieceFileConfig(): Promise<ConfigManager>;
2703
-
2704
- export { BookingCommandError, BookingCommandService, BookingQueryService, CategoriesDbService$1 as CategoriesDbService, MasterpiecesConfigDbService$1 as MasterpiecesConfigDbService, NewPopupConfig, type NewShowmasterConfigCategory, type NewShowmasterConfigHistory, type NewShowmasterConfigItem, type NewShowmasterConfigPermission, PopupConfig, PopupConfigService, type ShowmasterConfigCategory, type ShowmasterConfigHistory, type ShowmasterConfigItem, type ShowmasterConfigPermission, ShowmasterConfigService, TagsDbService$1 as TagsDbService, artworksDbService, categoriesDbService, collectionsDbService, comicUniverseArtworks, comicUniverseArtworksRelations, comicUniverseBookings, comicUniverseBookingsRelations, comicUniverseCategories, comicUniverseCategoriesRelations, comicUniverseCollectionTags, comicUniverseCollectionTagsRelations, comicUniverseCollections, comicUniverseCollectionsRelations, comicUniverseConfigs, comicUniverseConfigsRelations, comicUniverseTags, comicUniverseTagsRelations, createBookingCommandService, createBookingQueryService, createCategoriesDbService, createMasterpiecesConfigDbService, createPopupConfigService, createShowmasterConfigService, createTagsDbService, getShowMasterpieceFileConfig, initializeShowmasterpieceDb, masterpiecesConfigDbService, showmasterConfigCategories, showmasterConfigHistory, showmasterConfigItems, showmasterConfigPermissions, tagsDbService };
1
+ export { BookingCommandError, BookingCommandService, BookingQueryService, CategoriesDbService, MasterpiecesConfigDbService, NewPopupConfig, NewShowmasterConfigCategory, NewShowmasterConfigHistory, NewShowmasterConfigItem, NewShowmasterConfigPermission, PopupConfig, PopupConfigService, ShowmasterConfigCategory, ShowmasterConfigHistory, ShowmasterConfigItem, ShowmasterConfigPermission, ShowmasterConfigService, TagsDbService, artworksDbService, categoriesDbService, collectionsDbService, comicUniverseArtworks, comicUniverseArtworksRelations, comicUniverseBookings, comicUniverseBookingsRelations, comicUniverseCategories, comicUniverseCategoriesRelations, comicUniverseCollectionTags, comicUniverseCollectionTagsRelations, comicUniverseCollections, comicUniverseCollectionsRelations, comicUniverseConfigs, comicUniverseConfigsRelations, comicUniverseTags, comicUniverseTagsRelations, createBookingCommandService, createBookingQueryService, createCategoriesDbService, createMasterpiecesConfigDbService, createPopupConfigService, createShowmasterConfigService, createTagsDbService, getShowMasterpieceFileConfig, initializeShowmasterpieceDb, masterpiecesConfigDbService, popupConfigs, popupConfigsRelations, showmasterConfigCategories, showmasterConfigHistory, showmasterConfigItems, showmasterConfigPermissions, tagsDbService } from '../db/index.js';
2
+ import 'drizzle-orm';
3
+ import 'drizzle-orm/pg-core';