sa2kit 1.6.52 → 1.6.58

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