sa2kit 1.6.59 → 1.6.62

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 (335) hide show
  1. package/dist/UniversalFileService-C3WQAFOV.js +15 -0
  2. package/dist/{UniversalFileService-J6ET6KZK.js.map → UniversalFileService-C3WQAFOV.js.map} +1 -1
  3. package/dist/UniversalFileService-O3IEROBN.mjs +6 -0
  4. package/dist/{UniversalFileService-336GFY6N.mjs.map → UniversalFileService-O3IEROBN.mjs.map} +1 -1
  5. package/dist/ai/llm/index.d.mts +70 -0
  6. package/dist/ai/llm/index.d.ts +70 -0
  7. package/dist/ai/llm/index.js +54 -0
  8. package/dist/ai/llm/index.js.map +1 -0
  9. package/dist/ai/llm/index.mjs +5 -0
  10. package/dist/ai/llm/index.mjs.map +1 -0
  11. package/dist/ai/llm/ui/electron/index.d.mts +5 -0
  12. package/dist/ai/llm/ui/electron/index.d.ts +5 -0
  13. package/dist/ai/llm/ui/electron/index.js +21 -0
  14. package/dist/ai/llm/ui/electron/index.js.map +1 -0
  15. package/dist/ai/llm/ui/electron/index.mjs +8 -0
  16. package/dist/ai/llm/ui/electron/index.mjs.map +1 -0
  17. package/dist/ai/llm/ui/miniapp/index.d.mts +9 -0
  18. package/dist/ai/llm/ui/miniapp/index.d.ts +9 -0
  19. package/dist/ai/llm/ui/miniapp/index.js +107 -0
  20. package/dist/ai/llm/ui/miniapp/index.js.map +1 -0
  21. package/dist/ai/llm/ui/miniapp/index.mjs +101 -0
  22. package/dist/ai/llm/ui/miniapp/index.mjs.map +1 -0
  23. package/dist/ai/llm/ui/rn/index.d.mts +9 -0
  24. package/dist/ai/llm/ui/rn/index.d.ts +9 -0
  25. package/dist/ai/llm/ui/rn/index.js +249 -0
  26. package/dist/ai/llm/ui/rn/index.js.map +1 -0
  27. package/dist/ai/llm/ui/rn/index.mjs +243 -0
  28. package/dist/ai/llm/ui/rn/index.mjs.map +1 -0
  29. package/dist/ai/llm/ui/web/index.d.mts +15 -0
  30. package/dist/ai/llm/ui/web/index.d.ts +15 -0
  31. package/dist/ai/llm/ui/web/index.js +21 -0
  32. package/dist/ai/llm/ui/web/index.js.map +1 -0
  33. package/dist/ai/llm/ui/web/index.mjs +8 -0
  34. package/dist/ai/llm/ui/web/index.mjs.map +1 -0
  35. package/dist/ar/index.d.mts +7 -0
  36. package/dist/ar/index.d.ts +7 -0
  37. package/dist/ar/index.js +17 -0
  38. package/dist/ar/index.js.map +1 -0
  39. package/dist/ar/index.mjs +4 -0
  40. package/dist/ar/index.mjs.map +1 -0
  41. package/dist/auth/index.js +22 -22
  42. package/dist/auth/index.mjs +2 -2
  43. package/dist/auth/legacy/db/index.d.mts +5 -0
  44. package/dist/auth/legacy/db/index.d.ts +5 -0
  45. package/dist/auth/legacy/db/index.js +34 -0
  46. package/dist/auth/legacy/db/index.js.map +1 -0
  47. package/dist/auth/legacy/db/index.mjs +5 -0
  48. package/dist/auth/legacy/db/index.mjs.map +1 -0
  49. package/dist/auth/legacy/index.d.mts +51 -0
  50. package/dist/auth/legacy/index.d.ts +51 -0
  51. package/dist/auth/legacy/index.js +146 -0
  52. package/dist/auth/legacy/index.js.map +1 -0
  53. package/dist/auth/legacy/index.mjs +13 -0
  54. package/dist/auth/legacy/index.mjs.map +1 -0
  55. package/dist/auth/legacy/logic/index.d.mts +9 -0
  56. package/dist/auth/legacy/logic/index.d.ts +9 -0
  57. package/dist/auth/legacy/logic/index.js +18 -0
  58. package/dist/auth/legacy/logic/index.js.map +1 -0
  59. package/dist/auth/legacy/logic/index.mjs +5 -0
  60. package/dist/auth/legacy/logic/index.mjs.map +1 -0
  61. package/dist/auth/legacy/routes/index.d.mts +50 -0
  62. package/dist/auth/legacy/routes/index.d.ts +50 -0
  63. package/dist/auth/legacy/routes/index.js +34 -0
  64. package/dist/auth/legacy/routes/index.js.map +1 -0
  65. package/dist/auth/legacy/routes/index.mjs +5 -0
  66. package/dist/auth/legacy/routes/index.mjs.map +1 -0
  67. package/dist/auth/legacy/schema/index.d.mts +401 -0
  68. package/dist/auth/legacy/schema/index.d.ts +401 -0
  69. package/dist/auth/legacy/schema/index.js +29 -0
  70. package/dist/auth/legacy/schema/index.js.map +1 -0
  71. package/dist/auth/legacy/schema/index.mjs +4 -0
  72. package/dist/auth/legacy/schema/index.mjs.map +1 -0
  73. package/dist/auth/legacy/server/index.d.mts +15 -0
  74. package/dist/auth/legacy/server/index.d.ts +15 -0
  75. package/dist/auth/legacy/server/index.js +65 -0
  76. package/dist/auth/legacy/server/index.js.map +1 -0
  77. package/dist/auth/legacy/server/index.mjs +8 -0
  78. package/dist/auth/legacy/server/index.mjs.map +1 -0
  79. package/dist/auth/legacy/services/index.d.mts +40 -0
  80. package/dist/auth/legacy/services/index.d.ts +40 -0
  81. package/dist/auth/legacy/services/index.js +14 -0
  82. package/dist/auth/legacy/services/index.js.map +1 -0
  83. package/dist/auth/legacy/services/index.mjs +5 -0
  84. package/dist/auth/legacy/services/index.mjs.map +1 -0
  85. package/dist/auth/legacy/ui/miniapp/index.d.mts +10 -0
  86. package/dist/auth/legacy/ui/miniapp/index.d.ts +10 -0
  87. package/dist/auth/legacy/ui/miniapp/index.js +23 -0
  88. package/dist/auth/legacy/ui/miniapp/index.js.map +1 -0
  89. package/dist/auth/legacy/ui/miniapp/index.mjs +6 -0
  90. package/dist/auth/legacy/ui/miniapp/index.mjs.map +1 -0
  91. package/dist/auth/legacy/ui/web/index.d.mts +22 -0
  92. package/dist/auth/legacy/ui/web/index.d.ts +22 -0
  93. package/dist/auth/legacy/ui/web/index.js +31 -0
  94. package/dist/auth/legacy/ui/web/index.js.map +1 -0
  95. package/dist/auth/legacy/ui/web/index.mjs +6 -0
  96. package/dist/auth/legacy/ui/web/index.mjs.map +1 -0
  97. package/dist/booking-B0BM8grt.d.mts +141 -0
  98. package/dist/booking-CUy8u7Za.d.ts +141 -0
  99. package/dist/{bookingAdminService-Dmg7dC6V.d.mts → bookingAdminService-BNEDyw7U.d.mts} +1 -1
  100. package/dist/{bookingAdminService-B2QDjSHJ.d.ts → bookingAdminService-BtOtG96L.d.ts} +1 -1
  101. package/dist/calendar/index.d.mts +390 -237
  102. package/dist/calendar/index.d.ts +390 -237
  103. package/dist/calendar/index.js +3825 -3785
  104. package/dist/calendar/index.js.map +1 -1
  105. package/dist/calendar/index.mjs +3730 -3696
  106. package/dist/calendar/index.mjs.map +1 -1
  107. package/dist/calendar/routes/index.js +30 -327
  108. package/dist/calendar/routes/index.js.map +1 -1
  109. package/dist/calendar/routes/index.mjs +1 -323
  110. package/dist/calendar/routes/index.mjs.map +1 -1
  111. package/dist/calendar/server.d.mts +6 -0
  112. package/dist/calendar/server.d.ts +6 -0
  113. package/dist/calendar/server.js +41 -13
  114. package/dist/calendar/server.js.map +1 -1
  115. package/dist/calendar/server.mjs +2 -2
  116. package/dist/calendar/server.mjs.map +1 -1
  117. package/dist/{cart-D3o67Q3H.d.ts → cart-Cw3i0Dy6.d.ts} +1 -1
  118. package/dist/{cart-CcZ7rQyG.d.mts → cart-DLSbsihH.d.mts} +1 -1
  119. package/dist/chunk-24F7KUED.js +263 -0
  120. package/dist/chunk-24F7KUED.js.map +1 -0
  121. package/dist/{chunk-YMS6BPXS.js → chunk-27IUMDDK.js} +3 -3
  122. package/dist/{chunk-YMS6BPXS.js.map → chunk-27IUMDDK.js.map} +1 -1
  123. package/dist/chunk-37M6NZIF.js +279 -0
  124. package/dist/chunk-37M6NZIF.js.map +1 -0
  125. package/dist/chunk-3JMUNOUT.js +144 -0
  126. package/dist/chunk-3JMUNOUT.js.map +1 -0
  127. package/dist/chunk-3PFCOTJP.mjs +256 -0
  128. package/dist/chunk-3PFCOTJP.mjs.map +1 -0
  129. package/dist/{chunk-SKCMZYSQ.js → chunk-3YSRTVIY.js} +31 -15
  130. package/dist/chunk-3YSRTVIY.js.map +1 -0
  131. package/dist/{chunk-NZZZUMMX.mjs → chunk-57MVE5LL.mjs} +3 -3
  132. package/dist/{chunk-NZZZUMMX.mjs.map → chunk-57MVE5LL.mjs.map} +1 -1
  133. package/dist/{chunk-622Y6LTH.mjs → chunk-5BLZEVWK.mjs} +196 -468
  134. package/dist/chunk-5BLZEVWK.mjs.map +1 -0
  135. package/dist/{chunk-UVHPCLP6.js → chunk-5LCGOCKG.js} +5 -5
  136. package/dist/{chunk-UVHPCLP6.js.map → chunk-5LCGOCKG.js.map} +1 -1
  137. package/dist/chunk-6XUQ2B4K.js +219 -0
  138. package/dist/chunk-6XUQ2B4K.js.map +1 -0
  139. package/dist/{chunk-NCOXT7SK.js → chunk-77UEPWVQ.js} +4 -4
  140. package/dist/{chunk-NCOXT7SK.js.map → chunk-77UEPWVQ.js.map} +1 -1
  141. package/dist/chunk-C76U5FF4.mjs +10 -0
  142. package/dist/chunk-C76U5FF4.mjs.map +1 -0
  143. package/dist/chunk-CFM56MGO.mjs +35 -0
  144. package/dist/chunk-CFM56MGO.mjs.map +1 -0
  145. package/dist/{chunk-LJGJPAQ4.js → chunk-COOI6MT3.js} +2 -11
  146. package/dist/chunk-COOI6MT3.js.map +1 -0
  147. package/dist/chunk-CPSFYP34.mjs +140 -0
  148. package/dist/chunk-CPSFYP34.mjs.map +1 -0
  149. package/dist/chunk-D22QBOCM.mjs +336 -0
  150. package/dist/chunk-D22QBOCM.mjs.map +1 -0
  151. package/dist/chunk-DA4QV64P.mjs +35 -0
  152. package/dist/chunk-DA4QV64P.mjs.map +1 -0
  153. package/dist/{chunk-FVDPGX6A.mjs → chunk-DWJLOHAE.mjs} +2 -11
  154. package/dist/chunk-DWJLOHAE.mjs.map +1 -0
  155. package/dist/chunk-EKDLZND6.js +275 -0
  156. package/dist/chunk-EKDLZND6.js.map +1 -0
  157. package/dist/chunk-EKQPFZXQ.js +12 -0
  158. package/dist/chunk-EKQPFZXQ.js.map +1 -0
  159. package/dist/chunk-ERAAB5VG.js +324 -0
  160. package/dist/chunk-ERAAB5VG.js.map +1 -0
  161. package/dist/chunk-ESLY72VI.mjs +175 -0
  162. package/dist/chunk-ESLY72VI.mjs.map +1 -0
  163. package/dist/chunk-FGQGWW73.js +38 -0
  164. package/dist/chunk-FGQGWW73.js.map +1 -0
  165. package/dist/chunk-FXQOXLDE.js +120 -0
  166. package/dist/chunk-FXQOXLDE.js.map +1 -0
  167. package/dist/chunk-FZELCJR7.mjs +19 -0
  168. package/dist/chunk-FZELCJR7.mjs.map +1 -0
  169. package/dist/{chunk-HHVDOIPV.js → chunk-H3P2PGZL.js} +3 -3
  170. package/dist/{chunk-HHVDOIPV.js.map → chunk-H3P2PGZL.js.map} +1 -1
  171. package/dist/chunk-HBQMN5QM.mjs +10 -0
  172. package/dist/chunk-HBQMN5QM.mjs.map +1 -0
  173. package/dist/chunk-ITRIXMXF.mjs +862 -0
  174. package/dist/chunk-ITRIXMXF.mjs.map +1 -0
  175. package/dist/chunk-IUWSCUDC.js +4 -0
  176. package/dist/chunk-IUWSCUDC.js.map +1 -0
  177. package/dist/chunk-JCKCKRC2.js +50 -0
  178. package/dist/chunk-JCKCKRC2.js.map +1 -0
  179. package/dist/chunk-L7GQNY54.mjs +286 -0
  180. package/dist/chunk-L7GQNY54.mjs.map +1 -0
  181. package/dist/{chunk-ZRWED7Q6.js → chunk-LDVJ7URJ.js} +235 -520
  182. package/dist/chunk-LDVJ7URJ.js.map +1 -0
  183. package/dist/{chunk-WK3HTUID.js → chunk-MLP74E3O.js} +609 -1643
  184. package/dist/chunk-MLP74E3O.js.map +1 -0
  185. package/dist/chunk-NAX4TUT7.js +182 -0
  186. package/dist/chunk-NAX4TUT7.js.map +1 -0
  187. package/dist/chunk-NW4EN4YI.mjs +213 -0
  188. package/dist/chunk-NW4EN4YI.mjs.map +1 -0
  189. package/dist/{chunk-7CMGQX3S.mjs → chunk-OX6VMQDU.mjs} +14 -13
  190. package/dist/chunk-OX6VMQDU.mjs.map +1 -0
  191. package/dist/chunk-P3QMT3AY.mjs +44 -0
  192. package/dist/chunk-P3QMT3AY.mjs.map +1 -0
  193. package/dist/chunk-PJ4KYAQZ.mjs +631 -0
  194. package/dist/chunk-PJ4KYAQZ.mjs.map +1 -0
  195. package/dist/chunk-PLSEAREM.js +345 -0
  196. package/dist/chunk-PLSEAREM.js.map +1 -0
  197. package/dist/{chunk-EGJPS7OL.mjs → chunk-QZU4UJZG.mjs} +3 -3
  198. package/dist/{chunk-EGJPS7OL.mjs.map → chunk-QZU4UJZG.mjs.map} +1 -1
  199. package/dist/chunk-RJVR33ME.mjs +3 -0
  200. package/dist/chunk-RJVR33ME.mjs.map +1 -0
  201. package/dist/chunk-SYBHDB2D.js +650 -0
  202. package/dist/chunk-SYBHDB2D.js.map +1 -0
  203. package/dist/chunk-TVKVM7JT.js +21 -0
  204. package/dist/chunk-TVKVM7JT.js.map +1 -0
  205. package/dist/{chunk-UZB4IO3T.mjs → chunk-UTB72ZJ7.mjs} +415 -1449
  206. package/dist/chunk-UTB72ZJ7.mjs.map +1 -0
  207. package/dist/chunk-V5HE6IYN.js +12 -0
  208. package/dist/chunk-V5HE6IYN.js.map +1 -0
  209. package/dist/chunk-V7EVKD5G.mjs +116 -0
  210. package/dist/chunk-V7EVKD5G.mjs.map +1 -0
  211. package/dist/chunk-VGPR3KLR.js +872 -0
  212. package/dist/chunk-VGPR3KLR.js.map +1 -0
  213. package/dist/chunk-VS7WATQD.js +255 -0
  214. package/dist/chunk-VS7WATQD.js.map +1 -0
  215. package/dist/chunk-VSP7XJT5.mjs +272 -0
  216. package/dist/chunk-VSP7XJT5.mjs.map +1 -0
  217. package/dist/{chunk-SNBILYSH.mjs → chunk-VTKAIOP5.mjs} +5 -5
  218. package/dist/{chunk-SNBILYSH.mjs.map → chunk-VTKAIOP5.mjs.map} +1 -1
  219. package/dist/chunk-VULJUXTF.mjs +267 -0
  220. package/dist/chunk-VULJUXTF.mjs.map +1 -0
  221. package/dist/chunk-XAHM6B3V.js +44 -0
  222. package/dist/chunk-XAHM6B3V.js.map +1 -0
  223. package/dist/chunk-YSF5YISM.mjs +248 -0
  224. package/dist/chunk-YSF5YISM.mjs.map +1 -0
  225. package/dist/{chunk-OFYBMMWT.mjs → chunk-YYJEVAJI.mjs} +3 -3
  226. package/dist/{chunk-OFYBMMWT.mjs.map → chunk-YYJEVAJI.mjs.map} +1 -1
  227. package/dist/components/index.d.mts +1 -0
  228. package/dist/components/index.d.ts +1 -0
  229. package/dist/components/index.js +182 -181
  230. package/dist/components/index.mjs +4 -3
  231. package/dist/{booking-BXtkG2ns.d.mts → index-Bi666jIm.d.mts} +1 -139
  232. package/dist/{booking-BXtkG2ns.d.ts → index-Bi666jIm.d.ts} +1 -139
  233. package/dist/index-DNKZ7-R_.d.mts +184 -0
  234. package/dist/index-DNKZ7-R_.d.ts +184 -0
  235. package/dist/index.d.mts +4 -1
  236. package/dist/index.d.ts +4 -1
  237. package/dist/index.js +285 -229
  238. package/dist/index.js.map +1 -1
  239. package/dist/index.mjs +15 -10
  240. package/dist/index.mjs.map +1 -1
  241. package/dist/mikuFusionGame/index.js +3 -3
  242. package/dist/mikuFusionGame/index.mjs +2 -2
  243. package/dist/mmd/index.d.mts +67 -9
  244. package/dist/mmd/index.d.ts +67 -9
  245. package/dist/mmd/index.js +969 -625
  246. package/dist/mmd/index.js.map +1 -1
  247. package/dist/mmd/index.mjs +969 -628
  248. package/dist/mmd/index.mjs.map +1 -1
  249. package/dist/portfolio/index.js +10 -9
  250. package/dist/portfolio/index.mjs +5 -4
  251. package/dist/qqbot/index.d.mts +2 -0
  252. package/dist/qqbot/index.d.ts +2 -0
  253. package/dist/qqbot/index.js +21 -0
  254. package/dist/qqbot/index.js.map +1 -0
  255. package/dist/qqbot/index.mjs +4 -0
  256. package/dist/qqbot/index.mjs.map +1 -0
  257. package/dist/qqbot/server/index.d.mts +91 -0
  258. package/dist/qqbot/server/index.d.ts +91 -0
  259. package/dist/qqbot/server/index.js +21 -0
  260. package/dist/qqbot/server/index.js.map +1 -0
  261. package/dist/qqbot/server/index.mjs +4 -0
  262. package/dist/qqbot/server/index.mjs.map +1 -0
  263. package/dist/qqbot/ui/web/index.d.mts +10 -0
  264. package/dist/qqbot/ui/web/index.d.ts +10 -0
  265. package/dist/qqbot/ui/web/index.js +105 -0
  266. package/dist/qqbot/ui/web/index.js.map +1 -0
  267. package/dist/qqbot/ui/web/index.mjs +99 -0
  268. package/dist/qqbot/ui/web/index.mjs.map +1 -0
  269. package/dist/screenReceiver/index.d.mts +78 -0
  270. package/dist/screenReceiver/index.d.ts +78 -0
  271. package/dist/screenReceiver/index.js +17 -0
  272. package/dist/screenReceiver/index.js.map +1 -0
  273. package/dist/screenReceiver/index.mjs +4 -0
  274. package/dist/screenReceiver/index.mjs.map +1 -0
  275. package/dist/screenReceiver/server/index.d.mts +36 -0
  276. package/dist/screenReceiver/server/index.d.ts +36 -0
  277. package/dist/screenReceiver/server/index.js +160 -0
  278. package/dist/screenReceiver/server/index.js.map +1 -0
  279. package/dist/screenReceiver/server/index.mjs +157 -0
  280. package/dist/screenReceiver/server/index.mjs.map +1 -0
  281. package/dist/showmasterpiece/db/index.js +42 -42
  282. package/dist/showmasterpiece/db/index.mjs +1 -1
  283. package/dist/showmasterpiece/index.d.mts +8 -6
  284. package/dist/showmasterpiece/index.d.ts +8 -6
  285. package/dist/showmasterpiece/index.js +142 -130
  286. package/dist/showmasterpiece/index.js.map +1 -1
  287. package/dist/showmasterpiece/index.mjs +18 -6
  288. package/dist/showmasterpiece/index.mjs.map +1 -1
  289. package/dist/showmasterpiece/logic/index.d.mts +9 -17
  290. package/dist/showmasterpiece/logic/index.d.ts +9 -17
  291. package/dist/showmasterpiece/logic/index.js +35 -34
  292. package/dist/showmasterpiece/logic/index.mjs +3 -2
  293. package/dist/showmasterpiece/logic/miniapp/index.d.mts +15 -0
  294. package/dist/showmasterpiece/logic/miniapp/index.d.ts +15 -0
  295. package/dist/showmasterpiece/logic/miniapp/index.js +42 -0
  296. package/dist/showmasterpiece/logic/miniapp/index.js.map +1 -0
  297. package/dist/showmasterpiece/logic/miniapp/index.mjs +5 -0
  298. package/dist/showmasterpiece/logic/miniapp/index.mjs.map +1 -0
  299. package/dist/showmasterpiece/server/index.js +42 -42
  300. package/dist/showmasterpiece/server/index.mjs +1 -1
  301. package/dist/showmasterpiece/ui/miniapp/index.d.mts +5 -2
  302. package/dist/showmasterpiece/ui/miniapp/index.d.ts +5 -2
  303. package/dist/showmasterpiece/ui/miniapp/index.js +83 -55
  304. package/dist/showmasterpiece/ui/miniapp/index.js.map +1 -1
  305. package/dist/showmasterpiece/ui/miniapp/index.mjs +83 -55
  306. package/dist/showmasterpiece/ui/miniapp/index.mjs.map +1 -1
  307. package/dist/showmasterpiece/ui/web/index.d.mts +3 -2
  308. package/dist/showmasterpiece/ui/web/index.d.ts +3 -2
  309. package/dist/showmasterpiece/ui/web/index.js +44 -33
  310. package/dist/showmasterpiece/ui/web/index.mjs +16 -5
  311. package/dist/testYourself/index.js +13 -13
  312. package/dist/testYourself/index.mjs +2 -2
  313. package/dist/types-B-hOccQw.d.mts +122 -0
  314. package/dist/types-B8rGXc4e.d.mts +38 -0
  315. package/dist/types-Cg89HGz2.d.ts +38 -0
  316. package/dist/types-CvKvpyN8.d.mts +48 -0
  317. package/dist/types-CvKvpyN8.d.ts +48 -0
  318. package/dist/types-Dy6x2gJW.d.ts +122 -0
  319. package/dist/universalFile/server/index.js +11 -11
  320. package/dist/universalFile/server/index.mjs +4 -4
  321. package/package.json +106 -1
  322. package/dist/UniversalFileService-336GFY6N.mjs +0 -6
  323. package/dist/UniversalFileService-J6ET6KZK.js +0 -15
  324. package/dist/chunk-622Y6LTH.mjs.map +0 -1
  325. package/dist/chunk-7CMGQX3S.mjs.map +0 -1
  326. package/dist/chunk-FVDPGX6A.mjs.map +0 -1
  327. package/dist/chunk-GVVS4IMM.mjs +0 -302
  328. package/dist/chunk-GVVS4IMM.mjs.map +0 -1
  329. package/dist/chunk-LJGJPAQ4.js.map +0 -1
  330. package/dist/chunk-SKCMZYSQ.js.map +0 -1
  331. package/dist/chunk-UZB4IO3T.mjs.map +0 -1
  332. package/dist/chunk-WC5QFO3T.js +0 -314
  333. package/dist/chunk-WC5QFO3T.js.map +0 -1
  334. package/dist/chunk-WK3HTUID.js.map +0 -1
  335. package/dist/chunk-ZRWED7Q6.js.map +0 -1
@@ -0,0 +1,650 @@
1
+ 'use strict';
2
+
3
+ var chunkSVWQN2LR_js = require('./chunk-SVWQN2LR.js');
4
+ var server = require('next/server');
5
+ var drizzleOrm = require('drizzle-orm');
6
+ var pgCore = require('drizzle-orm/pg-core');
7
+
8
+ var calendarEvents = pgCore.pgTable("calendar_events", {
9
+ id: pgCore.serial("id").primaryKey(),
10
+ title: pgCore.varchar("title", { length: 255 }).notNull(),
11
+ description: pgCore.text("description"),
12
+ startTime: pgCore.timestamp("start_time").notNull(),
13
+ endTime: pgCore.timestamp("end_time").notNull(),
14
+ allDay: pgCore.boolean("all_day").notNull().default(false),
15
+ location: pgCore.varchar("location", { length: 500 }),
16
+ color: pgCore.varchar("color", { length: 7 }).notNull().default("#3B82F6"),
17
+ // 十六进制颜色值
18
+ priority: pgCore.varchar("priority", { length: 10 }).notNull().default("normal"),
19
+ // low, normal, high, urgent
20
+ userId: pgCore.integer("user_id").notNull().references(() => chunkSVWQN2LR_js.user.id, { onDelete: "cascade" }),
21
+ createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
22
+ updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
23
+ });
24
+ var recurrenceRules = pgCore.pgTable("recurrence_rules", {
25
+ id: pgCore.serial("id").primaryKey(),
26
+ eventId: pgCore.integer("event_id").notNull().references(() => calendarEvents.id, { onDelete: "cascade" }),
27
+ ruleType: pgCore.varchar("rule_type", { length: 20 }).notNull(),
28
+ // daily, weekly, monthly, yearly, custom
29
+ interval: pgCore.integer("interval").notNull().default(1),
30
+ // 间隔
31
+ endDate: pgCore.timestamp("end_date"),
32
+ // 结束日期
33
+ count: pgCore.integer("count"),
34
+ // 重复次数
35
+ byWeekday: pgCore.json("by_weekday").$type(),
36
+ // 周几重复 [0,1,2,3,4,5,6],0=周日
37
+ byMonthday: pgCore.json("by_monthday").$type(),
38
+ // 月中的第几天 [1,2,...,31]
39
+ byMonth: pgCore.json("by_month").$type(),
40
+ // 第几月 [1,2,...,12]
41
+ createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
42
+ });
43
+ var reminders = pgCore.pgTable("reminders", {
44
+ id: pgCore.serial("id").primaryKey(),
45
+ eventId: pgCore.integer("event_id").notNull().references(() => calendarEvents.id, { onDelete: "cascade" }),
46
+ reminderTime: pgCore.timestamp("reminder_time").notNull(),
47
+ // 提醒时间
48
+ reminderType: pgCore.varchar("reminder_type", { length: 20 }).notNull(),
49
+ // notification, email, sms
50
+ status: pgCore.varchar("status", { length: 20 }).notNull().default("pending"),
51
+ // pending, sent, failed
52
+ createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
53
+ updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
54
+ });
55
+ var calendarConfigs = pgCore.pgTable("calendar_configs", {
56
+ id: pgCore.serial("id").primaryKey(),
57
+ userId: pgCore.integer("user_id").notNull().references(() => chunkSVWQN2LR_js.user.id, { onDelete: "cascade" }).unique(),
58
+ firstDayOfWeek: pgCore.integer("first_day_of_week").notNull().default(1),
59
+ // 0=周日, 1=周一
60
+ workingHoursStart: pgCore.varchar("working_hours_start", { length: 5 }).notNull().default("09:00"),
61
+ workingHoursEnd: pgCore.varchar("working_hours_end", { length: 5 }).notNull().default("18:00"),
62
+ timeZone: pgCore.varchar("time_zone", { length: 50 }).notNull().default("Asia/Shanghai"),
63
+ dateFormat: pgCore.varchar("date_format", { length: 20 }).notNull().default("YYYY-MM-DD"),
64
+ timeFormat: pgCore.varchar("time_format", { length: 20 }).notNull().default("HH:mm"),
65
+ defaultView: pgCore.varchar("default_view", { length: 20 }).notNull().default("month"),
66
+ // month, week, day, agenda
67
+ defaultEventColor: pgCore.varchar("default_event_color", { length: 7 }).notNull().default("#3B82F6"),
68
+ weekends: pgCore.boolean("weekends").notNull().default(true),
69
+ eventColors: pgCore.json("event_colors").$type().default({
70
+ blue: "#3B82F6",
71
+ green: "#10B981",
72
+ purple: "#8B5CF6",
73
+ red: "#EF4444",
74
+ yellow: "#F59E0B",
75
+ pink: "#EC4899",
76
+ indigo: "#6366F1",
77
+ gray: "#6B7280"
78
+ }),
79
+ createdAt: pgCore.timestamp("created_at").defaultNow().notNull(),
80
+ updatedAt: pgCore.timestamp("updated_at").defaultNow().notNull()
81
+ });
82
+ var eventShares = pgCore.pgTable("event_shares", {
83
+ id: pgCore.serial("id").primaryKey(),
84
+ eventId: pgCore.integer("event_id").notNull().references(() => calendarEvents.id, { onDelete: "cascade" }),
85
+ sharedWithUserId: pgCore.integer("shared_with_user_id").notNull().references(() => chunkSVWQN2LR_js.user.id, { onDelete: "cascade" }),
86
+ sharedByUserId: pgCore.integer("shared_by_user_id").notNull().references(() => chunkSVWQN2LR_js.user.id, { onDelete: "cascade" }),
87
+ permission: pgCore.varchar("permission", { length: 20 }).notNull().default("read"),
88
+ // read, write
89
+ createdAt: pgCore.timestamp("created_at").defaultNow().notNull()
90
+ });
91
+ var calendarEventsRelations = drizzleOrm.relations(calendarEvents, ({ one, many }) => ({
92
+ user: one(chunkSVWQN2LR_js.user, {
93
+ fields: [calendarEvents.userId],
94
+ references: [chunkSVWQN2LR_js.user.id]
95
+ }),
96
+ recurrenceRule: one(recurrenceRules, {
97
+ fields: [calendarEvents.id],
98
+ references: [recurrenceRules.eventId]
99
+ }),
100
+ reminders: many(reminders),
101
+ shares: many(eventShares)
102
+ }));
103
+ var recurrenceRulesRelations = drizzleOrm.relations(recurrenceRules, ({ one }) => ({
104
+ event: one(calendarEvents, {
105
+ fields: [recurrenceRules.eventId],
106
+ references: [calendarEvents.id]
107
+ })
108
+ }));
109
+ var remindersRelations = drizzleOrm.relations(reminders, ({ one }) => ({
110
+ event: one(calendarEvents, {
111
+ fields: [reminders.eventId],
112
+ references: [calendarEvents.id]
113
+ })
114
+ }));
115
+ var calendarConfigsRelations = drizzleOrm.relations(calendarConfigs, ({ one }) => ({
116
+ user: one(chunkSVWQN2LR_js.user, {
117
+ fields: [calendarConfigs.userId],
118
+ references: [chunkSVWQN2LR_js.user.id]
119
+ })
120
+ }));
121
+ var eventSharesRelations = drizzleOrm.relations(eventShares, ({ one }) => ({
122
+ event: one(calendarEvents, {
123
+ fields: [eventShares.eventId],
124
+ references: [calendarEvents.id]
125
+ }),
126
+ sharedWithUser: one(chunkSVWQN2LR_js.user, {
127
+ fields: [eventShares.sharedWithUserId],
128
+ references: [chunkSVWQN2LR_js.user.id]
129
+ }),
130
+ sharedByUser: one(chunkSVWQN2LR_js.user, {
131
+ fields: [eventShares.sharedByUserId],
132
+ references: [chunkSVWQN2LR_js.user.id]
133
+ })
134
+ }));
135
+
136
+ // src/calendar/db/calendarDbService.ts
137
+ var CalendarDbService = class {
138
+ /**
139
+ * 设置数据库实例
140
+ */
141
+ setDb(db) {
142
+ this._db = db;
143
+ }
144
+ /**
145
+ * 数据库是否已初始化
146
+ */
147
+ isConfigured() {
148
+ return Boolean(this._db);
149
+ }
150
+ /**
151
+ * 获取数据库实例
152
+ */
153
+ get db() {
154
+ if (!this._db) {
155
+ throw new Error("CalendarDbService: Database instance not set. Call setDb() first.");
156
+ }
157
+ return this._db;
158
+ }
159
+ // ===== 事件基础操作 =====
160
+ /**
161
+ * 获取用户的所有事件(基础版本)
162
+ */
163
+ async getAllEvents(userId, startDate, endDate) {
164
+ const conditions = [drizzleOrm.eq(calendarEvents.userId, userId)];
165
+ if (startDate) {
166
+ conditions.push(drizzleOrm.gte(calendarEvents.startTime, startDate));
167
+ }
168
+ if (endDate) {
169
+ conditions.push(drizzleOrm.lte(calendarEvents.endTime, endDate));
170
+ }
171
+ const events = await this.db.select().from(calendarEvents).where(drizzleOrm.and(...conditions)).orderBy(drizzleOrm.asc(calendarEvents.startTime));
172
+ return events;
173
+ }
174
+ /**
175
+ * 根据ID获取事件
176
+ */
177
+ async getEventById(eventId) {
178
+ const [event] = await this.db.select().from(calendarEvents).where(drizzleOrm.eq(calendarEvents.id, eventId)).limit(1);
179
+ return event || null;
180
+ }
181
+ /**
182
+ * 创建事件(基础版本)
183
+ */
184
+ async createEvent(eventData) {
185
+ const [newEvent] = await this.db.insert(calendarEvents).values(eventData).returning();
186
+ return newEvent;
187
+ }
188
+ /**
189
+ * 更新事件
190
+ */
191
+ async updateEvent(eventId, eventData) {
192
+ const updateData = {
193
+ ...eventData,
194
+ updatedAt: /* @__PURE__ */ new Date()
195
+ };
196
+ const [updatedEvent] = await this.db.update(calendarEvents).set(updateData).where(drizzleOrm.eq(calendarEvents.id, eventId)).returning();
197
+ return updatedEvent;
198
+ }
199
+ /**
200
+ * 删除事件
201
+ */
202
+ async deleteEvent(eventId) {
203
+ await this.db.delete(calendarEvents).where(drizzleOrm.eq(calendarEvents.id, eventId));
204
+ }
205
+ // ===== 用户配置操作 =====
206
+ /**
207
+ * 获取用户的日历配置
208
+ */
209
+ async getUserConfig(userId) {
210
+ const [config] = await this.db.select().from(calendarConfigs).where(drizzleOrm.eq(calendarConfigs.userId, userId)).limit(1);
211
+ return config || null;
212
+ }
213
+ /**
214
+ * 创建或更新用户配置
215
+ */
216
+ async upsertUserConfig(userId, configData) {
217
+ const existingConfig = await this.getUserConfig(userId);
218
+ if (existingConfig) {
219
+ const [updatedConfig] = await this.db.update(calendarConfigs).set({
220
+ ...configData,
221
+ updatedAt: /* @__PURE__ */ new Date()
222
+ }).where(drizzleOrm.eq(calendarConfigs.userId, userId)).returning();
223
+ return updatedConfig;
224
+ } else {
225
+ const [newConfig] = await this.db.insert(calendarConfigs).values({
226
+ userId,
227
+ ...configData
228
+ }).returning();
229
+ return newConfig;
230
+ }
231
+ }
232
+ /**
233
+ * 为事件创建重复规则
234
+ */
235
+ async createRecurrenceRule(ruleData) {
236
+ const [newRule] = await this.db.insert(recurrenceRules).values(ruleData).returning();
237
+ return newRule;
238
+ }
239
+ /**
240
+ * 获取事件的重复规则
241
+ */
242
+ async getRecurrenceRule(eventId) {
243
+ const [rule] = await this.db.select().from(recurrenceRules).where(drizzleOrm.eq(recurrenceRules.eventId, eventId)).limit(1);
244
+ return rule || null;
245
+ }
246
+ /**
247
+ * 删除重复规则
248
+ */
249
+ async deleteRecurrenceRule(eventId) {
250
+ await this.db.delete(recurrenceRules).where(drizzleOrm.eq(recurrenceRules.eventId, eventId));
251
+ }
252
+ /**
253
+ * 为事件创建提醒
254
+ */
255
+ async createReminder(reminderData) {
256
+ const [newReminder] = await this.db.insert(reminders).values({
257
+ ...reminderData,
258
+ status: reminderData.status || "pending"
259
+ }).returning();
260
+ return newReminder;
261
+ }
262
+ /**
263
+ * 获取事件的提醒列表
264
+ */
265
+ async getEventReminders(eventId) {
266
+ const remindersList = await this.db.select().from(reminders).where(drizzleOrm.eq(reminders.eventId, eventId)).orderBy(drizzleOrm.asc(reminders.reminderTime));
267
+ return remindersList;
268
+ }
269
+ /**
270
+ * 删除事件的所有提醒
271
+ */
272
+ async deleteEventReminders(eventId) {
273
+ await this.db.delete(reminders).where(drizzleOrm.eq(reminders.eventId, eventId));
274
+ }
275
+ /**
276
+ * 获取用户在指定时间范围内的事件数量
277
+ */
278
+ async getEventCount(userId, startDate, endDate) {
279
+ const conditions = [drizzleOrm.eq(calendarEvents.userId, userId)];
280
+ if (startDate) {
281
+ conditions.push(drizzleOrm.gte(calendarEvents.startTime, startDate));
282
+ }
283
+ if (endDate) {
284
+ conditions.push(drizzleOrm.lte(calendarEvents.endTime, endDate));
285
+ }
286
+ const result = await this.db.select({ count: calendarEvents.id }).from(calendarEvents).where(drizzleOrm.and(...conditions));
287
+ return result.length;
288
+ }
289
+ /**
290
+ * 搜索事件
291
+ */
292
+ async searchEvents(userId, searchTerm) {
293
+ const events = await this.db.select().from(calendarEvents).where(
294
+ drizzleOrm.and(
295
+ drizzleOrm.eq(calendarEvents.userId, userId)
296
+ )
297
+ ).orderBy(drizzleOrm.desc(calendarEvents.startTime));
298
+ return events.filter(
299
+ (event) => event.title.toLowerCase().includes(searchTerm.toLowerCase()) || event.description && event.description.toLowerCase().includes(searchTerm.toLowerCase())
300
+ );
301
+ }
302
+ /**
303
+ * 批量删除用户的所有事件
304
+ */
305
+ async deleteAllUserEvents(userId) {
306
+ await this.db.delete(calendarEvents).where(drizzleOrm.eq(calendarEvents.userId, userId));
307
+ }
308
+ };
309
+ var calendarDbService = new CalendarDbService();
310
+
311
+ // src/calendar/routes/index.ts
312
+ function initDbService(db) {
313
+ if (db) {
314
+ calendarDbService.setDb(db);
315
+ }
316
+ }
317
+ function createGetEventsHandler(config) {
318
+ initDbService(config.db);
319
+ return async (request) => {
320
+ try {
321
+ const user2 = await config.validateAuth(request);
322
+ if (!user2) {
323
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
324
+ }
325
+ const { searchParams } = new URL(request.url);
326
+ const startDateStr = searchParams.get("startDate");
327
+ const endDateStr = searchParams.get("endDate");
328
+ let startDate;
329
+ let endDate;
330
+ if (startDateStr) {
331
+ startDate = new Date(startDateStr);
332
+ if (isNaN(startDate.getTime())) {
333
+ return server.NextResponse.json({ success: false, error: "\u5F00\u59CB\u65E5\u671F\u683C\u5F0F\u65E0\u6548" }, { status: 400 });
334
+ }
335
+ }
336
+ if (endDateStr) {
337
+ endDate = new Date(endDateStr);
338
+ if (isNaN(endDate.getTime())) {
339
+ return server.NextResponse.json({ success: false, error: "\u7ED3\u675F\u65E5\u671F\u683C\u5F0F\u65E0\u6548" }, { status: 400 });
340
+ }
341
+ }
342
+ const events = await calendarDbService.getAllEvents(user2.id, startDate, endDate);
343
+ return server.NextResponse.json({
344
+ success: true,
345
+ data: events,
346
+ message: "\u83B7\u53D6\u4E8B\u4EF6\u5217\u8868\u6210\u529F"
347
+ });
348
+ } catch (error) {
349
+ console.error("\u83B7\u53D6\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
350
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
351
+ }
352
+ };
353
+ }
354
+ function createCreateEventHandler(config) {
355
+ initDbService(config.db);
356
+ return async (request) => {
357
+ try {
358
+ const user2 = await config.validateAuth(request);
359
+ if (!user2) {
360
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
361
+ }
362
+ const body = await request.json();
363
+ if (!body.title || typeof body.title !== "string" || body.title.trim() === "") {
364
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A" }, { status: 400 });
365
+ }
366
+ if (!body.startTime || !body.endTime) {
367
+ return server.NextResponse.json({ success: false, error: "\u5F00\u59CB\u65F6\u95F4\u548C\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A" }, { status: 400 });
368
+ }
369
+ const startTime = new Date(body.startTime);
370
+ const endTime = new Date(body.endTime);
371
+ if (isNaN(startTime.getTime()) || isNaN(endTime.getTime())) {
372
+ return server.NextResponse.json({ success: false, error: "\u65E5\u671F\u683C\u5F0F\u65E0\u6548" }, { status: 400 });
373
+ }
374
+ if (startTime.getTime() >= endTime.getTime()) {
375
+ return server.NextResponse.json({ success: false, error: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u665A\u4E8E\u5F00\u59CB\u65F6\u95F4" }, { status: 400 });
376
+ }
377
+ const eventData = {
378
+ title: body.title.trim(),
379
+ description: body.description || null,
380
+ startTime,
381
+ endTime,
382
+ allDay: Boolean(body.allDay),
383
+ location: body.location || null,
384
+ color: body.color || "#3B82F6",
385
+ userId: user2.id
386
+ };
387
+ const newEvent = await calendarDbService.createEvent(eventData);
388
+ if (body.recurrence) {
389
+ await calendarDbService.createRecurrenceRule({
390
+ eventId: newEvent.id,
391
+ ...body.recurrence,
392
+ endDate: body.recurrence.endDate ? new Date(body.recurrence.endDate) : void 0
393
+ });
394
+ }
395
+ if (body.reminders && Array.isArray(body.reminders)) {
396
+ for (const reminder of body.reminders) {
397
+ if (reminder.reminderTime) {
398
+ await calendarDbService.createReminder({
399
+ eventId: newEvent.id,
400
+ reminderTime: new Date(reminder.reminderTime),
401
+ reminderType: reminder.reminderType || "notification",
402
+ status: "pending"
403
+ });
404
+ }
405
+ }
406
+ }
407
+ return server.NextResponse.json({
408
+ success: true,
409
+ data: newEvent,
410
+ message: "\u521B\u5EFA\u4E8B\u4EF6\u6210\u529F"
411
+ });
412
+ } catch (error) {
413
+ console.error("\u521B\u5EFA\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
414
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
415
+ }
416
+ };
417
+ }
418
+ function createGetEventByIdHandler(config) {
419
+ initDbService(config.db);
420
+ return async (request, { params }) => {
421
+ try {
422
+ const user2 = await config.validateAuth(request);
423
+ if (!user2) {
424
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
425
+ }
426
+ const eventId = parseInt(params.id);
427
+ if (isNaN(eventId)) {
428
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6ID\u65E0\u6548" }, { status: 400 });
429
+ }
430
+ const event = await calendarDbService.getEventById(eventId);
431
+ if (!event) {
432
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6\u4E0D\u5B58\u5728" }, { status: 404 });
433
+ }
434
+ if (event.userId !== user2.id) {
435
+ return server.NextResponse.json({ success: false, error: "\u65E0\u6743\u8BBF\u95EE\u6B64\u4E8B\u4EF6" }, { status: 403 });
436
+ }
437
+ const [recurrenceRule, reminders2] = await Promise.all([
438
+ calendarDbService.getRecurrenceRule(eventId),
439
+ calendarDbService.getEventReminders(eventId)
440
+ ]);
441
+ return server.NextResponse.json({
442
+ success: true,
443
+ data: {
444
+ ...event,
445
+ recurrenceRule: recurrenceRule || void 0,
446
+ reminders: reminders2 || []
447
+ },
448
+ message: "\u83B7\u53D6\u4E8B\u4EF6\u6210\u529F"
449
+ });
450
+ } catch (error) {
451
+ console.error("\u83B7\u53D6\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
452
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
453
+ }
454
+ };
455
+ }
456
+ function createUpdateEventHandler(config) {
457
+ initDbService(config.db);
458
+ return async (request, { params }) => {
459
+ try {
460
+ const user2 = await config.validateAuth(request);
461
+ if (!user2) {
462
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
463
+ }
464
+ const eventId = parseInt(params.id);
465
+ if (isNaN(eventId)) {
466
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6ID\u65E0\u6548" }, { status: 400 });
467
+ }
468
+ const existingEvent = await calendarDbService.getEventById(eventId);
469
+ if (!existingEvent || existingEvent.userId !== user2.id) {
470
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6\u4E0D\u5B58\u5728\u6216\u65E0\u6743\u4FEE\u6539" }, { status: 404 });
471
+ }
472
+ const body = await request.json();
473
+ const updateData = {};
474
+ if (body.title !== void 0) updateData.title = body.title.trim();
475
+ if (body.description !== void 0) updateData.description = body.description;
476
+ if (body.startTime !== void 0) updateData.startTime = new Date(body.startTime);
477
+ if (body.endTime !== void 0) updateData.endTime = new Date(body.endTime);
478
+ if (body.allDay !== void 0) updateData.allDay = Boolean(body.allDay);
479
+ if (body.location !== void 0) updateData.location = body.location;
480
+ if (body.color !== void 0) updateData.color = body.color;
481
+ const updatedEvent = await calendarDbService.updateEvent(eventId, updateData);
482
+ if (body.recurrence !== void 0) {
483
+ await calendarDbService.deleteRecurrenceRule(eventId);
484
+ if (body.recurrence) {
485
+ await calendarDbService.createRecurrenceRule({
486
+ eventId,
487
+ ...body.recurrence,
488
+ endDate: body.recurrence.endDate ? new Date(body.recurrence.endDate) : void 0
489
+ });
490
+ }
491
+ }
492
+ if (body.reminders !== void 0) {
493
+ await calendarDbService.deleteEventReminders(eventId);
494
+ if (Array.isArray(body.reminders)) {
495
+ for (const reminder of body.reminders) {
496
+ if (reminder.reminderTime) {
497
+ await calendarDbService.createReminder({
498
+ eventId,
499
+ reminderTime: new Date(reminder.reminderTime),
500
+ reminderType: reminder.reminderType || "notification",
501
+ status: "pending"
502
+ });
503
+ }
504
+ }
505
+ }
506
+ }
507
+ return server.NextResponse.json({
508
+ success: true,
509
+ data: updatedEvent,
510
+ message: "\u66F4\u65B0\u4E8B\u4EF6\u6210\u529F"
511
+ });
512
+ } catch (error) {
513
+ console.error("\u66F4\u65B0\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
514
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
515
+ }
516
+ };
517
+ }
518
+ function createDeleteEventHandler(config) {
519
+ initDbService(config.db);
520
+ return async (request, { params }) => {
521
+ try {
522
+ const user2 = await config.validateAuth(request);
523
+ if (!user2) {
524
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
525
+ }
526
+ const eventId = parseInt(params.id);
527
+ if (isNaN(eventId)) {
528
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6ID\u65E0\u6548" }, { status: 400 });
529
+ }
530
+ const existingEvent = await calendarDbService.getEventById(eventId);
531
+ if (!existingEvent || existingEvent.userId !== user2.id) {
532
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6\u4E0D\u5B58\u5728\u6216\u65E0\u6743\u5220\u9664" }, { status: 404 });
533
+ }
534
+ await calendarDbService.deleteEvent(eventId);
535
+ return server.NextResponse.json({
536
+ success: true,
537
+ message: "\u5220\u9664\u4E8B\u4EF6\u6210\u529F"
538
+ });
539
+ } catch (error) {
540
+ console.error("\u5220\u9664\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
541
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
542
+ }
543
+ };
544
+ }
545
+ function createBatchDeleteEventsHandler(config) {
546
+ initDbService(config.db);
547
+ return async (request) => {
548
+ try {
549
+ const user2 = await config.validateAuth(request);
550
+ if (!user2) {
551
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
552
+ }
553
+ const body = await request.json();
554
+ if (!body.eventIds || !Array.isArray(body.eventIds)) {
555
+ return server.NextResponse.json({ success: false, error: "\u4E8B\u4EF6ID\u5217\u8868\u4E0D\u80FD\u4E3A\u7A7A" }, { status: 400 });
556
+ }
557
+ const results = await Promise.all(
558
+ body.eventIds.map(async (id) => {
559
+ const event = await calendarDbService.getEventById(id);
560
+ if (event && event.userId === user2.id) {
561
+ await calendarDbService.deleteEvent(id);
562
+ return true;
563
+ }
564
+ return false;
565
+ })
566
+ );
567
+ const deletedCount = results.filter(Boolean).length;
568
+ return server.NextResponse.json({
569
+ success: true,
570
+ data: { deletedCount },
571
+ message: "\u6210\u529F\u5220\u9664 " + deletedCount + " \u4E2A\u4E8B\u4EF6"
572
+ });
573
+ } catch (error) {
574
+ console.error("\u6279\u91CF\u5220\u9664\u4E8B\u4EF6\u5931\u8D25\uFF1A", error);
575
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
576
+ }
577
+ };
578
+ }
579
+ function createConfigHandler(config) {
580
+ initDbService(config.db);
581
+ return {
582
+ GET: async (request) => {
583
+ try {
584
+ const user2 = await config.validateAuth(request);
585
+ if (!user2) {
586
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
587
+ }
588
+ const dbConfig = await calendarDbService.getUserConfig(user2.id);
589
+ return server.NextResponse.json({
590
+ success: true,
591
+ data: dbConfig || {
592
+ firstDayOfWeek: 1,
593
+ workingHoursStart: "09:00",
594
+ workingHoursEnd: "18:00",
595
+ timeZone: "Asia/Shanghai",
596
+ dateFormat: "YYYY-MM-DD",
597
+ timeFormat: "HH:mm",
598
+ defaultView: "month",
599
+ defaultEventColor: "#3B82F6",
600
+ weekends: true,
601
+ eventColors: {}
602
+ },
603
+ message: "\u83B7\u53D6\u914D\u7F6E\u6210\u529F"
604
+ });
605
+ } catch (error) {
606
+ console.error("\u83B7\u53D6\u914D\u7F6E\u5931\u8D25\uFF1A", error);
607
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
608
+ }
609
+ },
610
+ PUT: async (request) => {
611
+ try {
612
+ const user2 = await config.validateAuth(request);
613
+ if (!user2) {
614
+ return server.NextResponse.json({ success: false, error: "\u672A\u6388\u6743\u8BBF\u95EE" }, { status: 401 });
615
+ }
616
+ const body = await request.json();
617
+ const updatedConfig = await calendarDbService.upsertUserConfig(user2.id, body);
618
+ return server.NextResponse.json({
619
+ success: true,
620
+ data: updatedConfig,
621
+ message: "\u66F4\u65B0\u914D\u7F6E\u6210\u529F"
622
+ });
623
+ } catch (error) {
624
+ console.error("\u66F4\u65B0\u914D\u7F6E\u5931\u8D25\uFF1A", error);
625
+ return server.NextResponse.json({ success: false, error: "\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF" }, { status: 500 });
626
+ }
627
+ }
628
+ };
629
+ }
630
+
631
+ exports.calendarConfigs = calendarConfigs;
632
+ exports.calendarConfigsRelations = calendarConfigsRelations;
633
+ exports.calendarDbService = calendarDbService;
634
+ exports.calendarEvents = calendarEvents;
635
+ exports.calendarEventsRelations = calendarEventsRelations;
636
+ exports.createBatchDeleteEventsHandler = createBatchDeleteEventsHandler;
637
+ exports.createConfigHandler = createConfigHandler;
638
+ exports.createCreateEventHandler = createCreateEventHandler;
639
+ exports.createDeleteEventHandler = createDeleteEventHandler;
640
+ exports.createGetEventByIdHandler = createGetEventByIdHandler;
641
+ exports.createGetEventsHandler = createGetEventsHandler;
642
+ exports.createUpdateEventHandler = createUpdateEventHandler;
643
+ exports.eventShares = eventShares;
644
+ exports.eventSharesRelations = eventSharesRelations;
645
+ exports.recurrenceRules = recurrenceRules;
646
+ exports.recurrenceRulesRelations = recurrenceRulesRelations;
647
+ exports.reminders = reminders;
648
+ exports.remindersRelations = remindersRelations;
649
+ //# sourceMappingURL=chunk-SYBHDB2D.js.map
650
+ //# sourceMappingURL=chunk-SYBHDB2D.js.map