sa2kit 2.0.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/dist/{UniversalFileService-GsP6D3Rc.d.ts → UniversalFileService-CC4d3wkc.d.ts} +2 -2
  2. package/dist/{UniversalFileService-BpvbZitV.d.mts → UniversalFileService-CzAE_G4V.d.mts} +2 -2
  3. package/dist/ai/llm/ui/miniapp/index.d.mts +2 -2
  4. package/dist/ai/llm/ui/miniapp/index.d.ts +2 -2
  5. package/dist/ai/llm/ui/rn/index.d.mts +2 -2
  6. package/dist/ai/llm/ui/rn/index.d.ts +2 -2
  7. package/dist/ai/llm/ui/web/index.d.mts +3 -3
  8. package/dist/ai/llm/ui/web/index.d.ts +3 -3
  9. package/dist/analytics/index.d.mts +1 -1
  10. package/dist/analytics/index.d.ts +1 -1
  11. package/dist/business/index.d.mts +1 -5
  12. package/dist/business/index.d.ts +1 -5
  13. package/dist/business/index.js +34 -1135
  14. package/dist/business/index.js.map +1 -1
  15. package/dist/business/index.mjs +5 -1105
  16. package/dist/business/index.mjs.map +1 -1
  17. package/dist/calendar/routes/index.d.mts +74 -1
  18. package/dist/calendar/routes/index.d.ts +74 -1
  19. package/dist/calendar/routes/index.js +186 -97
  20. package/dist/calendar/routes/index.js.map +1 -1
  21. package/dist/calendar/routes/index.mjs +178 -99
  22. package/dist/calendar/routes/index.mjs.map +1 -1
  23. package/dist/{chunk-RJP2BRJD.mjs → chunk-4OOANEJV.mjs} +2 -2
  24. package/dist/{chunk-RJP2BRJD.mjs.map → chunk-4OOANEJV.mjs.map} +1 -1
  25. package/dist/chunk-5FUAQLGC.mjs +14 -0
  26. package/dist/chunk-5FUAQLGC.mjs.map +1 -0
  27. package/dist/{chunk-IIVNHQEI.mjs → chunk-5GBDDXYL.mjs} +4 -3
  28. package/dist/chunk-5GBDDXYL.mjs.map +1 -0
  29. package/dist/{chunk-S732H246.js → chunk-6PMXAK7F.js} +2 -2
  30. package/dist/{chunk-S732H246.js.map → chunk-6PMXAK7F.js.map} +1 -1
  31. package/dist/chunk-6YLCRWKM.mjs +8 -0
  32. package/dist/chunk-6YLCRWKM.mjs.map +1 -0
  33. package/dist/chunk-CAYOQDBR.js +78 -0
  34. package/dist/chunk-CAYOQDBR.js.map +1 -0
  35. package/dist/{chunk-PTMSDNGO.mjs → chunk-CX2GHCAI.mjs} +4 -75
  36. package/dist/chunk-CX2GHCAI.mjs.map +1 -0
  37. package/dist/chunk-EBHPTFG6.mjs +82 -0
  38. package/dist/chunk-EBHPTFG6.mjs.map +1 -0
  39. package/dist/chunk-HQLKOXG7.js +16 -0
  40. package/dist/chunk-HQLKOXG7.js.map +1 -0
  41. package/dist/chunk-IS7O4LPI.js +146 -0
  42. package/dist/chunk-IS7O4LPI.js.map +1 -0
  43. package/dist/chunk-LGHUCQIU.js +93 -0
  44. package/dist/chunk-LGHUCQIU.js.map +1 -0
  45. package/dist/chunk-LKBIVQBT.mjs +34 -0
  46. package/dist/chunk-LKBIVQBT.mjs.map +1 -0
  47. package/dist/chunk-MIDXG6LS.js +32 -0
  48. package/dist/chunk-MIDXG6LS.js.map +1 -0
  49. package/dist/chunk-NDGHXVGS.js +25 -0
  50. package/dist/chunk-NDGHXVGS.js.map +1 -0
  51. package/dist/chunk-PA4ELVGI.js +20 -0
  52. package/dist/chunk-PA4ELVGI.js.map +1 -0
  53. package/dist/chunk-Q5VFBPMG.mjs +76 -0
  54. package/dist/chunk-Q5VFBPMG.mjs.map +1 -0
  55. package/dist/{chunk-WZDTNDYR.js → chunk-QSKLQX6H.js} +11 -11
  56. package/dist/{chunk-WZDTNDYR.js.map → chunk-QSKLQX6H.js.map} +1 -1
  57. package/dist/{chunk-QQ2WFYOD.js → chunk-S6YSGVWD.js} +4 -76
  58. package/dist/chunk-S6YSGVWD.js.map +1 -0
  59. package/dist/chunk-TNJ6LYX7.mjs +18 -0
  60. package/dist/chunk-TNJ6LYX7.mjs.map +1 -0
  61. package/dist/chunk-TTYCVBIQ.mjs +144 -0
  62. package/dist/chunk-TTYCVBIQ.mjs.map +1 -0
  63. package/dist/chunk-VJNDOYEC.js +41 -0
  64. package/dist/chunk-VJNDOYEC.js.map +1 -0
  65. package/dist/{chunk-J77KR2EV.mjs → chunk-WJ7IMUEJ.mjs} +3 -3
  66. package/dist/{chunk-J77KR2EV.mjs.map → chunk-WJ7IMUEJ.mjs.map} +1 -1
  67. package/dist/chunk-YTGUIRRH.js +10 -0
  68. package/dist/chunk-YTGUIRRH.js.map +1 -0
  69. package/dist/chunk-ZF7DKR5A.mjs +26 -0
  70. package/dist/chunk-ZF7DKR5A.mjs.map +1 -0
  71. package/dist/common/auth/client/index.d.mts +3209 -0
  72. package/dist/common/auth/client/index.d.ts +3209 -0
  73. package/dist/common/auth/client/index.js +13 -0
  74. package/dist/common/auth/client/index.mjs +4 -0
  75. package/dist/common/auth/components/index.d.mts +140 -0
  76. package/dist/common/auth/components/index.d.ts +140 -0
  77. package/dist/common/auth/components/index.js +899 -0
  78. package/dist/common/auth/components/index.js.map +1 -0
  79. package/dist/common/auth/components/index.mjs +875 -0
  80. package/dist/common/auth/components/index.mjs.map +1 -0
  81. package/dist/common/auth/hooks/index.d.mts +48 -0
  82. package/dist/common/auth/hooks/index.d.ts +48 -0
  83. package/dist/common/auth/hooks/index.js +19 -0
  84. package/dist/common/auth/hooks/index.mjs +6 -0
  85. package/dist/common/auth/index.d.mts +11 -7
  86. package/dist/common/auth/index.d.ts +11 -7
  87. package/dist/common/auth/index.js +7 -19
  88. package/dist/common/auth/index.mjs +3 -3
  89. package/dist/common/auth/react/index.d.mts +3056 -0
  90. package/dist/common/auth/react/index.d.ts +3056 -0
  91. package/dist/common/auth/react/index.js +31 -0
  92. package/dist/common/auth/react/index.js.map +1 -0
  93. package/dist/common/auth/react/index.mjs +21 -0
  94. package/dist/common/auth/react/index.mjs.map +1 -0
  95. package/dist/common/auth/rn/index.d.mts +3122 -0
  96. package/dist/common/auth/rn/index.d.ts +3122 -0
  97. package/dist/common/auth/rn/index.js +316 -0
  98. package/dist/common/auth/rn/index.js.map +1 -0
  99. package/dist/common/auth/rn/index.mjs +298 -0
  100. package/dist/common/auth/rn/index.mjs.map +1 -0
  101. package/dist/common/auth/schema/index.d.mts +1479 -0
  102. package/dist/common/auth/schema/index.d.ts +1479 -0
  103. package/dist/common/auth/schema/index.js +49 -0
  104. package/dist/common/auth/schema/index.mjs +4 -0
  105. package/dist/common/auth/server/index.d.mts +81 -25
  106. package/dist/common/auth/server/index.d.ts +81 -25
  107. package/dist/common/auth/server/index.js +146 -98
  108. package/dist/common/auth/server/index.js.map +1 -1
  109. package/dist/common/auth/server/index.mjs +125 -5
  110. package/dist/common/auth/server/index.mjs.map +1 -1
  111. package/dist/common/auth/services/index.d.mts +14 -0
  112. package/dist/common/auth/services/index.d.ts +14 -0
  113. package/dist/common/auth/services/index.js +20 -0
  114. package/dist/common/auth/services/index.js.map +1 -0
  115. package/dist/common/auth/services/index.mjs +13 -0
  116. package/dist/common/auth/services/index.mjs.map +1 -0
  117. package/dist/common/file/server/index.js +32 -32
  118. package/dist/common/file/server/index.mjs +3 -3
  119. package/dist/common/index.d.mts +13 -8
  120. package/dist/common/index.d.ts +13 -8
  121. package/dist/common/index.js +19 -18
  122. package/dist/common/index.mjs +8 -7
  123. package/dist/common/storage/index.js +13 -12
  124. package/dist/common/storage/index.mjs +3 -2
  125. package/dist/festivalCard/index.d.mts +3 -3
  126. package/dist/festivalCard/index.d.ts +3 -3
  127. package/dist/festivalCard/routes/index.d.mts +1 -1
  128. package/dist/festivalCard/routes/index.d.ts +1 -1
  129. package/dist/festivalCard/server/index.d.mts +2 -2
  130. package/dist/festivalCard/server/index.d.ts +2 -2
  131. package/dist/{festivalCardService-BFCRhJrq.d.ts → festivalCardService-B3GsnNpV.d.ts} +1 -1
  132. package/dist/{festivalCardService-GriR2VMc.d.mts → festivalCardService-CWhrLNE9.d.mts} +1 -1
  133. package/dist/i18n/index.d.mts +1 -1
  134. package/dist/i18n/index.d.ts +1 -1
  135. package/dist/imageCrop/index.d.mts +3 -3
  136. package/dist/imageCrop/index.d.ts +3 -3
  137. package/dist/index-Bd7cKF1j.d.mts +50 -0
  138. package/dist/{index-CLB80GCP.d.mts → index-D0cqaQEH.d.mts} +5 -5
  139. package/dist/{index-CLB80GCP.d.ts → index-D0cqaQEH.d.ts} +5 -5
  140. package/dist/index-DRQxtCDw.d.ts +50 -0
  141. package/dist/{index-1Ag7IBXN.d.ts → index-DZ5iJtNO.d.mts} +2 -44
  142. package/dist/{index-DdeZSeTJ.d.mts → index-DZ5iJtNO.d.ts} +2 -44
  143. package/dist/{index-BxZauNN_.d.ts → index-DoUo8IrU.d.mts} +8 -8
  144. package/dist/{index-BxZauNN_.d.mts → index-DoUo8IrU.d.ts} +8 -8
  145. package/dist/index.d.mts +6382 -105
  146. package/dist/index.d.ts +6382 -105
  147. package/dist/index.js +1037 -2616
  148. package/dist/index.js.map +1 -1
  149. package/dist/index.mjs +976 -2555
  150. package/dist/index.mjs.map +1 -1
  151. package/dist/mmd/admin/index.d.mts +1 -1
  152. package/dist/mmd/admin/index.d.ts +1 -1
  153. package/dist/mmd/index.d.mts +1 -1
  154. package/dist/mmd/index.d.ts +1 -1
  155. package/dist/mmd/server/index.d.mts +3 -3
  156. package/dist/mmd/server/index.d.ts +3 -3
  157. package/dist/ossFile/server/index.js +32 -32
  158. package/dist/ossFile/server/index.mjs +3 -3
  159. package/dist/storage/index.js +12 -11
  160. package/dist/storage/index.mjs +2 -1
  161. package/dist/{types-DyG3ZV9V.d.mts → types-B6B210gX.d.mts} +1 -1
  162. package/dist/{types-DyG3ZV9V.d.ts → types-B6B210gX.d.ts} +1 -1
  163. package/dist/{types-BTiaMsBz.d.mts → types-Bdnte5EN.d.mts} +1 -1
  164. package/dist/{types-tQfupO6d.d.ts → types-Cs0CLvrH.d.mts} +1 -1
  165. package/dist/{types-tQfupO6d.d.mts → types-Cs0CLvrH.d.ts} +1 -1
  166. package/dist/{types-ERmJyjx8.d.ts → types-_rFX1atk.d.ts} +1 -1
  167. package/dist/universalExport/index.d.mts +3 -3
  168. package/dist/universalExport/index.d.ts +3 -3
  169. package/dist/universalFile/index.d.mts +5 -5
  170. package/dist/universalFile/index.d.ts +5 -5
  171. package/dist/universalFile/server/index.js +62 -62
  172. package/dist/universalFile/server/index.mjs +2 -2
  173. package/dist/useAuthActions-7S5dL7Oh.d.mts +77 -0
  174. package/dist/useAuthActions-7S5dL7Oh.d.ts +77 -0
  175. package/dist/vocaloidBooth/server/index.d.mts +3 -3
  176. package/dist/vocaloidBooth/server/index.d.ts +3 -3
  177. package/package.json +44 -111
  178. package/dist/auth/client/index.d.mts +0 -32
  179. package/dist/auth/client/index.d.ts +0 -32
  180. package/dist/auth/client/index.js +0 -21
  181. package/dist/auth/client/index.mjs +0 -4
  182. package/dist/auth/components/index.d.mts +0 -227
  183. package/dist/auth/components/index.d.ts +0 -227
  184. package/dist/auth/components/index.js +0 -327
  185. package/dist/auth/components/index.js.map +0 -1
  186. package/dist/auth/components/index.mjs +0 -319
  187. package/dist/auth/components/index.mjs.map +0 -1
  188. package/dist/auth/hooks/index.d.mts +0 -31
  189. package/dist/auth/hooks/index.d.ts +0 -31
  190. package/dist/auth/hooks/index.js +0 -17
  191. package/dist/auth/hooks/index.mjs +0 -4
  192. package/dist/auth/index.d.mts +0 -18
  193. package/dist/auth/index.d.ts +0 -18
  194. package/dist/auth/index.js +0 -151
  195. package/dist/auth/index.mjs +0 -10
  196. package/dist/auth/legacy/core/index.d.mts +0 -42
  197. package/dist/auth/legacy/core/index.d.ts +0 -42
  198. package/dist/auth/legacy/core/index.js +0 -242
  199. package/dist/auth/legacy/core/index.js.map +0 -1
  200. package/dist/auth/legacy/core/index.mjs +0 -226
  201. package/dist/auth/legacy/core/index.mjs.map +0 -1
  202. package/dist/auth/legacy/db/index.d.mts +0 -5
  203. package/dist/auth/legacy/db/index.d.ts +0 -5
  204. package/dist/auth/legacy/db/index.js +0 -261
  205. package/dist/auth/legacy/db/index.js.map +0 -1
  206. package/dist/auth/legacy/db/index.mjs +0 -250
  207. package/dist/auth/legacy/db/index.mjs.map +0 -1
  208. package/dist/auth/legacy/index.d.mts +0 -5
  209. package/dist/auth/legacy/index.d.ts +0 -5
  210. package/dist/auth/legacy/index.js +0 -1107
  211. package/dist/auth/legacy/index.js.map +0 -1
  212. package/dist/auth/legacy/index.mjs +0 -1086
  213. package/dist/auth/legacy/index.mjs.map +0 -1
  214. package/dist/auth/legacy/logic/index.d.mts +0 -9
  215. package/dist/auth/legacy/logic/index.d.ts +0 -9
  216. package/dist/auth/legacy/logic/index.js +0 -194
  217. package/dist/auth/legacy/logic/index.js.map +0 -1
  218. package/dist/auth/legacy/logic/index.mjs +0 -187
  219. package/dist/auth/legacy/logic/index.mjs.map +0 -1
  220. package/dist/auth/legacy/miniapp/index.d.mts +0 -5
  221. package/dist/auth/legacy/miniapp/index.d.ts +0 -5
  222. package/dist/auth/legacy/miniapp/index.js +0 -506
  223. package/dist/auth/legacy/miniapp/index.js.map +0 -1
  224. package/dist/auth/legacy/miniapp/index.mjs +0 -487
  225. package/dist/auth/legacy/miniapp/index.mjs.map +0 -1
  226. package/dist/auth/legacy/routes/index.d.mts +0 -53
  227. package/dist/auth/legacy/routes/index.d.ts +0 -53
  228. package/dist/auth/legacy/routes/index.js +0 -278
  229. package/dist/auth/legacy/routes/index.js.map +0 -1
  230. package/dist/auth/legacy/routes/index.mjs +0 -271
  231. package/dist/auth/legacy/routes/index.mjs.map +0 -1
  232. package/dist/auth/legacy/schema/index.d.mts +0 -401
  233. package/dist/auth/legacy/schema/index.d.ts +0 -401
  234. package/dist/auth/legacy/schema/index.js +0 -50
  235. package/dist/auth/legacy/schema/index.js.map +0 -1
  236. package/dist/auth/legacy/schema/index.mjs +0 -44
  237. package/dist/auth/legacy/schema/index.mjs.map +0 -1
  238. package/dist/auth/legacy/server/index.d.mts +0 -13
  239. package/dist/auth/legacy/server/index.d.ts +0 -13
  240. package/dist/auth/legacy/server/index.js +0 -21
  241. package/dist/auth/legacy/server/index.js.map +0 -1
  242. package/dist/auth/legacy/server/index.mjs +0 -19
  243. package/dist/auth/legacy/server/index.mjs.map +0 -1
  244. package/dist/auth/legacy/services/index.d.mts +0 -40
  245. package/dist/auth/legacy/services/index.d.ts +0 -40
  246. package/dist/auth/legacy/services/index.js +0 -258
  247. package/dist/auth/legacy/services/index.js.map +0 -1
  248. package/dist/auth/legacy/services/index.mjs +0 -252
  249. package/dist/auth/legacy/services/index.mjs.map +0 -1
  250. package/dist/auth/legacy/ui/miniapp/index.d.mts +0 -10
  251. package/dist/auth/legacy/ui/miniapp/index.d.ts +0 -10
  252. package/dist/auth/legacy/ui/miniapp/index.js +0 -298
  253. package/dist/auth/legacy/ui/miniapp/index.js.map +0 -1
  254. package/dist/auth/legacy/ui/miniapp/index.mjs +0 -290
  255. package/dist/auth/legacy/ui/miniapp/index.mjs.map +0 -1
  256. package/dist/auth/legacy/ui/web/index.d.mts +0 -22
  257. package/dist/auth/legacy/ui/web/index.d.ts +0 -22
  258. package/dist/auth/legacy/ui/web/index.js +0 -899
  259. package/dist/auth/legacy/ui/web/index.js.map +0 -1
  260. package/dist/auth/legacy/ui/web/index.mjs +0 -889
  261. package/dist/auth/legacy/ui/web/index.mjs.map +0 -1
  262. package/dist/auth/legacy/web/index.d.mts +0 -5
  263. package/dist/auth/legacy/web/index.d.ts +0 -5
  264. package/dist/auth/legacy/web/index.js +0 -1107
  265. package/dist/auth/legacy/web/index.js.map +0 -1
  266. package/dist/auth/legacy/web/index.mjs +0 -1086
  267. package/dist/auth/legacy/web/index.mjs.map +0 -1
  268. package/dist/auth/middleware/index.d.mts +0 -75
  269. package/dist/auth/middleware/index.d.ts +0 -75
  270. package/dist/auth/middleware/index.js +0 -15
  271. package/dist/auth/middleware/index.js.map +0 -1
  272. package/dist/auth/middleware/index.mjs +0 -6
  273. package/dist/auth/middleware/index.mjs.map +0 -1
  274. package/dist/auth/rn/index.d.mts +0 -64
  275. package/dist/auth/rn/index.d.ts +0 -64
  276. package/dist/auth/rn/index.js +0 -765
  277. package/dist/auth/rn/index.js.map +0 -1
  278. package/dist/auth/rn/index.mjs +0 -754
  279. package/dist/auth/rn/index.mjs.map +0 -1
  280. package/dist/auth/routes/index.d.mts +0 -261
  281. package/dist/auth/routes/index.d.ts +0 -261
  282. package/dist/auth/routes/index.js +0 -59
  283. package/dist/auth/routes/index.js.map +0 -1
  284. package/dist/auth/routes/index.mjs +0 -6
  285. package/dist/auth/routes/index.mjs.map +0 -1
  286. package/dist/auth/schema/index.d.mts +0 -789
  287. package/dist/auth/schema/index.d.ts +0 -789
  288. package/dist/auth/schema/index.js +0 -41
  289. package/dist/auth/schema/index.js.map +0 -1
  290. package/dist/auth/schema/index.mjs +0 -4
  291. package/dist/auth/schema/index.mjs.map +0 -1
  292. package/dist/auth/services/index.d.mts +0 -48
  293. package/dist/auth/services/index.d.ts +0 -48
  294. package/dist/auth/services/index.js +0 -34
  295. package/dist/auth/services/index.js.map +0 -1
  296. package/dist/auth/services/index.mjs +0 -5
  297. package/dist/auth/services/index.mjs.map +0 -1
  298. package/dist/base-api-client-ACKKt13v.d.mts +0 -277
  299. package/dist/base-api-client-ACKKt13v.d.ts +0 -277
  300. package/dist/base-api-client-B3wZZoaH.d.ts +0 -103
  301. package/dist/base-api-client-DrL35Ea2.d.mts +0 -103
  302. package/dist/chunk-37HYTHEC.mjs +0 -90
  303. package/dist/chunk-37HYTHEC.mjs.map +0 -1
  304. package/dist/chunk-5WV35FPV.js +0 -131
  305. package/dist/chunk-5WV35FPV.js.map +0 -1
  306. package/dist/chunk-DCRD5CZB.js +0 -573
  307. package/dist/chunk-DCRD5CZB.js.map +0 -1
  308. package/dist/chunk-DDX4JKFS.js +0 -19
  309. package/dist/chunk-DDX4JKFS.js.map +0 -1
  310. package/dist/chunk-DV6M7MFP.js +0 -283
  311. package/dist/chunk-DV6M7MFP.js.map +0 -1
  312. package/dist/chunk-HBF4HPRK.js +0 -186
  313. package/dist/chunk-HBF4HPRK.js.map +0 -1
  314. package/dist/chunk-HCI6JQOU.mjs +0 -183
  315. package/dist/chunk-HCI6JQOU.mjs.map +0 -1
  316. package/dist/chunk-I44HXJ3X.mjs +0 -17
  317. package/dist/chunk-I44HXJ3X.mjs.map +0 -1
  318. package/dist/chunk-IIVNHQEI.mjs.map +0 -1
  319. package/dist/chunk-IJ4YYWE3.mjs +0 -122
  320. package/dist/chunk-IJ4YYWE3.mjs.map +0 -1
  321. package/dist/chunk-J4BEIZUC.js +0 -92
  322. package/dist/chunk-J4BEIZUC.js.map +0 -1
  323. package/dist/chunk-OKPWFVXC.js +0 -24
  324. package/dist/chunk-OKPWFVXC.js.map +0 -1
  325. package/dist/chunk-PNOTQAYK.mjs +0 -560
  326. package/dist/chunk-PNOTQAYK.mjs.map +0 -1
  327. package/dist/chunk-PTMSDNGO.mjs.map +0 -1
  328. package/dist/chunk-Q2IAL7YV.js +0 -36
  329. package/dist/chunk-Q2IAL7YV.js.map +0 -1
  330. package/dist/chunk-QQ2WFYOD.js.map +0 -1
  331. package/dist/chunk-VQ54PUQV.js +0 -216
  332. package/dist/chunk-VQ54PUQV.js.map +0 -1
  333. package/dist/chunk-W5JEGA76.mjs +0 -33
  334. package/dist/chunk-W5JEGA76.mjs.map +0 -1
  335. package/dist/chunk-YGI7UU2D.mjs +0 -212
  336. package/dist/chunk-YGI7UU2D.mjs.map +0 -1
  337. package/dist/chunk-ZCLQSI5F.mjs +0 -271
  338. package/dist/chunk-ZCLQSI5F.mjs.map +0 -1
  339. package/dist/drizzle-auth-service-D-pljzCD.d.mts +0 -145
  340. package/dist/drizzle-auth-service-D3qryE_I.d.ts +0 -145
  341. package/dist/index-Bnh6VqFv.d.ts +0 -35
  342. package/dist/index-DNKZ7-R_.d.mts +0 -184
  343. package/dist/index-DNKZ7-R_.d.ts +0 -184
  344. package/dist/index-DPYkrKZf.d.mts +0 -35
  345. package/dist/types-C5vUWf9u.d.ts +0 -70
  346. package/dist/types-C_W_CoUD.d.ts +0 -99
  347. package/dist/types-DCRvasyH.d.mts +0 -99
  348. package/dist/types-IYCqCk2g.d.mts +0 -70
  349. /package/dist/{auth → common/auth}/client/index.js.map +0 -0
  350. /package/dist/{auth → common/auth}/client/index.mjs.map +0 -0
  351. /package/dist/{auth → common/auth}/hooks/index.js.map +0 -0
  352. /package/dist/{auth → common/auth}/hooks/index.mjs.map +0 -0
  353. /package/dist/{auth → common/auth/schema}/index.js.map +0 -0
  354. /package/dist/{auth → common/auth/schema}/index.mjs.map +0 -0
@@ -1,183 +0,0 @@
1
- import { useState, useCallback, useEffect } from 'react';
2
-
3
- // src/common/auth/hooks/useAuth.ts
4
- function useAuth(apiClient) {
5
- const [user, setUser] = useState(null);
6
- const [isLoggedIn, setIsLoggedIn] = useState(false);
7
- const [loading, setLoading] = useState(false);
8
- const [checkingAuth, setCheckingAuth] = useState(true);
9
- const [error, setError] = useState(null);
10
- const checkAuthStatus = useCallback(async () => {
11
- try {
12
- setCheckingAuth(true);
13
- setError(null);
14
- const isAuth = await apiClient.isAuthenticated();
15
- if (isAuth) {
16
- const response = await apiClient.getCurrentUser();
17
- if (response.success && response.data) {
18
- setUser(response.data);
19
- setIsLoggedIn(true);
20
- } else {
21
- await apiClient.clearUserData();
22
- setUser(null);
23
- setIsLoggedIn(false);
24
- }
25
- } else {
26
- setUser(null);
27
- setIsLoggedIn(false);
28
- }
29
- } catch (err) {
30
- console.error("\u68C0\u67E5\u767B\u5F55\u72B6\u6001\u5931\u8D25:", err);
31
- setError(err instanceof Error ? err.message : "\u68C0\u67E5\u767B\u5F55\u72B6\u6001\u5931\u8D25");
32
- setUser(null);
33
- setIsLoggedIn(false);
34
- } finally {
35
- setCheckingAuth(false);
36
- }
37
- }, [apiClient]);
38
- const login = useCallback(
39
- async (email, password) => {
40
- setLoading(true);
41
- setError(null);
42
- try {
43
- const response = await apiClient.login(email, password);
44
- if (response.success && response.data) {
45
- setUser(response.data.user);
46
- setIsLoggedIn(true);
47
- return { success: true };
48
- } else {
49
- const errorMsg = response.error || "\u767B\u5F55\u5931\u8D25";
50
- setError(errorMsg);
51
- return { success: false, error: errorMsg };
52
- }
53
- } catch (err) {
54
- const errorMsg = err instanceof Error ? err.message : "\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";
55
- setError(errorMsg);
56
- return { success: false, error: errorMsg };
57
- } finally {
58
- setLoading(false);
59
- }
60
- },
61
- [apiClient]
62
- );
63
- const register = useCallback(
64
- async (email, password, username) => {
65
- setLoading(true);
66
- setError(null);
67
- try {
68
- const response = await apiClient.register(email, password, username);
69
- if (response.success && response.data) {
70
- setUser(response.data.user);
71
- setIsLoggedIn(true);
72
- return { success: true };
73
- } else {
74
- const errorMsg = response.error || "\u6CE8\u518C\u5931\u8D25";
75
- setError(errorMsg);
76
- return { success: false, error: errorMsg };
77
- }
78
- } catch (err) {
79
- const errorMsg = err instanceof Error ? err.message : "\u6CE8\u518C\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5";
80
- setError(errorMsg);
81
- return { success: false, error: errorMsg };
82
- } finally {
83
- setLoading(false);
84
- }
85
- },
86
- [apiClient]
87
- );
88
- const logout = useCallback(async () => {
89
- setLoading(true);
90
- setError(null);
91
- try {
92
- await apiClient.logout();
93
- setUser(null);
94
- setIsLoggedIn(false);
95
- } catch (err) {
96
- console.error("\u767B\u51FA\u5931\u8D25:", err);
97
- setError(err instanceof Error ? err.message : "\u767B\u51FA\u5931\u8D25");
98
- setUser(null);
99
- setIsLoggedIn(false);
100
- } finally {
101
- setLoading(false);
102
- }
103
- }, [apiClient]);
104
- const clearError = useCallback(() => {
105
- setError(null);
106
- }, []);
107
- useEffect(() => {
108
- checkAuthStatus();
109
- }, [checkAuthStatus]);
110
- return {
111
- // 状态
112
- user,
113
- isLoggedIn,
114
- loading,
115
- checkingAuth,
116
- error,
117
- // 操作方法
118
- login,
119
- register,
120
- logout,
121
- refresh: checkAuthStatus,
122
- clearError
123
- };
124
- }
125
- function useAuthForm(initialValues) {
126
- const [values, setValues] = useState(initialValues);
127
- const [errors, setErrors] = useState({});
128
- const [touched, setTouched] = useState({});
129
- const handleChange = useCallback(
130
- (field, value) => {
131
- setValues((prev) => ({ ...prev, [field]: value }));
132
- if (errors[field]) {
133
- setErrors((prev) => {
134
- const newErrors = { ...prev };
135
- delete newErrors[field];
136
- return newErrors;
137
- });
138
- }
139
- },
140
- [errors]
141
- );
142
- const handleBlur = useCallback((field) => {
143
- setTouched((prev) => ({ ...prev, [field]: true }));
144
- }, []);
145
- const validate = useCallback(
146
- (validationRules) => {
147
- const newErrors = {};
148
- Object.keys(validationRules).forEach((key) => {
149
- const field = key;
150
- const rule = validationRules[field];
151
- if (rule) {
152
- const error = rule(values[field]);
153
- if (error) {
154
- newErrors[field] = error;
155
- }
156
- }
157
- });
158
- setErrors(newErrors);
159
- return Object.keys(newErrors).length === 0;
160
- },
161
- [values]
162
- );
163
- const reset = useCallback(() => {
164
- setValues(initialValues);
165
- setErrors({});
166
- setTouched({});
167
- }, [initialValues]);
168
- return {
169
- values,
170
- errors,
171
- touched,
172
- handleChange,
173
- handleBlur,
174
- validate,
175
- reset,
176
- setValues,
177
- setErrors
178
- };
179
- }
180
-
181
- export { useAuth, useAuthForm };
182
- //# sourceMappingURL=chunk-HCI6JQOU.mjs.map
183
- //# sourceMappingURL=chunk-HCI6JQOU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/auth/hooks/useAuth.ts"],"names":[],"mappings":"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","file":"chunk-HCI6JQOU.mjs","sourcesContent":["'use client';\n\nimport { useState, useEffect, useCallback } from 'react';\nimport type { User, IAuthClient as BaseApiClient, AuthResult, UseAuthReturn } from '../types';\n\nexport type { User, BaseApiClient, AuthResult, UseAuthReturn };\n\nexport function useAuth(apiClient: BaseApiClient): UseAuthReturn {\n const [user, setUser] = useState<User | null>(null);\n const [isLoggedIn, setIsLoggedIn] = useState(false);\n const [loading, setLoading] = useState(false);\n const [checkingAuth, setCheckingAuth] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n /**\n * 检查认证状态\n */\n const checkAuthStatus = useCallback(async () => {\n try {\n setCheckingAuth(true);\n setError(null);\n\n const isAuth = await apiClient.isAuthenticated();\n\n if (isAuth) {\n // 验证 token 并获取用户信息\n const response = await apiClient.getCurrentUser();\n\n if (response.success && response.data) {\n setUser(response.data);\n setIsLoggedIn(true);\n } else {\n // Token 无效,清除登录状态\n await apiClient.clearUserData();\n setUser(null);\n setIsLoggedIn(false);\n }\n } else {\n setUser(null);\n setIsLoggedIn(false);\n }\n } catch (err) {\n console.error('检查登录状态失败:', err);\n setError(err instanceof Error ? err.message : '检查登录状态失败');\n setUser(null);\n setIsLoggedIn(false);\n } finally {\n setCheckingAuth(false);\n }\n }, [apiClient]);\n\n /**\n * 用户登录\n */\n const login = useCallback(\n async (email: string, password: string): Promise<AuthResult> => {\n setLoading(true);\n setError(null);\n\n try {\n const response = await apiClient.login(email, password);\n\n if (response.success && response.data) {\n setUser(response.data.user);\n setIsLoggedIn(true);\n return { success: true };\n } else {\n const errorMsg = response.error || '登录失败';\n setError(errorMsg);\n return { success: false, error: errorMsg };\n }\n } catch (err) {\n const errorMsg = err instanceof Error ? err.message : '登录失败,请重试';\n setError(errorMsg);\n return { success: false, error: errorMsg };\n } finally {\n setLoading(false);\n }\n },\n [apiClient]\n );\n\n /**\n * 用户注册\n */\n const register = useCallback(\n async (email: string, password: string, username: string): Promise<AuthResult> => {\n setLoading(true);\n setError(null);\n\n try {\n const response = await apiClient.register(email, password, username);\n\n if (response.success && response.data) {\n setUser(response.data.user);\n setIsLoggedIn(true);\n return { success: true };\n } else {\n const errorMsg = response.error || '注册失败';\n setError(errorMsg);\n return { success: false, error: errorMsg };\n }\n } catch (err) {\n const errorMsg = err instanceof Error ? err.message : '注册失败,请重试';\n setError(errorMsg);\n return { success: false, error: errorMsg };\n } finally {\n setLoading(false);\n }\n },\n [apiClient]\n );\n\n /**\n * 用户登出\n */\n const logout = useCallback(async () => {\n setLoading(true);\n setError(null);\n\n try {\n await apiClient.logout();\n setUser(null);\n setIsLoggedIn(false);\n } catch (err) {\n console.error('登出失败:', err);\n setError(err instanceof Error ? err.message : '登出失败');\n // 即使登出失败,也清除本地状态\n setUser(null);\n setIsLoggedIn(false);\n } finally {\n setLoading(false);\n }\n }, [apiClient]);\n\n /**\n * 清除错误信息\n */\n const clearError = useCallback(() => {\n setError(null);\n }, []);\n\n // 组件挂载时检查认证状态\n useEffect(() => {\n checkAuthStatus();\n }, [checkAuthStatus]);\n\n return {\n // 状态\n user,\n isLoggedIn,\n loading,\n checkingAuth,\n error,\n\n // 操作方法\n login,\n register,\n logout,\n refresh: checkAuthStatus,\n clearError,\n };\n}\n\n/**\n * 表单验证 Hook\n *\n * @example\n * ```typescript\n * const { values, errors, handleChange, handleBlur, validate } = useAuthForm({\n * email: '',\n * password: ''\n * })\n * ```\n */\nexport function useAuthForm<T extends Record<string, any>>(initialValues: T) {\n const [values, setValues] = useState<T>(initialValues);\n const [errors, setErrors] = useState<Partial<Record<keyof T, string>>>({});\n const [touched, setTouched] = useState<Partial<Record<keyof T, boolean>>>({});\n\n const handleChange = useCallback(\n (field: keyof T, value: any) => {\n setValues((prev: T) => ({ ...prev, [field]: value }));\n // 清除该字段的错误\n if (errors[field]) {\n setErrors((prev: Partial<Record<keyof T, string>>) => {\n const newErrors = { ...prev };\n delete newErrors[field];\n return newErrors;\n });\n }\n },\n [errors]\n );\n\n const handleBlur = useCallback((field: keyof T) => {\n setTouched((prev: Partial<Record<keyof T, boolean>>) => ({ ...prev, [field]: true }));\n }, []);\n\n const validate = useCallback(\n (validationRules: Partial<Record<keyof T, (value: any) => string | undefined>>) => {\n const newErrors: Partial<Record<keyof T, string>> = {};\n\n Object.keys(validationRules).forEach((key) => {\n const field = key as keyof T;\n const rule = validationRules[field];\n if (rule) {\n const error = rule(values[field]);\n if (error) {\n newErrors[field] = error;\n }\n }\n });\n\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n },\n [values]\n );\n\n const reset = useCallback(() => {\n setValues(initialValues);\n setErrors({});\n setTouched({});\n }, [initialValues]);\n\n return {\n values,\n errors,\n touched,\n handleChange,\n handleBlur,\n validate,\n reset,\n setValues,\n setErrors,\n };\n}\n\n"]}
@@ -1,17 +0,0 @@
1
- import { STORAGE_KEYS, BaseApiClient, API_ROUTES } from './chunk-YGI7UU2D.mjs';
2
- import { useAuthForm, useAuth } from './chunk-HCI6JQOU.mjs';
3
- import { __export } from './chunk-MAI35PU6.mjs';
4
-
5
- // src/common/auth/index.ts
6
- var auth_exports = {};
7
- __export(auth_exports, {
8
- API_ROUTES: () => API_ROUTES,
9
- BaseApiClient: () => BaseApiClient,
10
- STORAGE_KEYS: () => STORAGE_KEYS,
11
- useAuth: () => useAuth,
12
- useAuthForm: () => useAuthForm
13
- });
14
-
15
- export { auth_exports };
16
- //# sourceMappingURL=chunk-I44HXJ3X.mjs.map
17
- //# sourceMappingURL=chunk-I44HXJ3X.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/auth/index.ts"],"names":[],"mappings":";;;;;AAAA,IAAA,YAAA,GAAA;AAAA,QAAA,CAAA,YAAA,EAAA;AAAA,EAAA,UAAA,EAAA,MAAA,UAAA;AAAA,EAAA,aAAA,EAAA,MAAA,aAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,OAAA,EAAA,MAAA,OAAA;AAAA,EAAA,WAAA,EAAA,MAAA;AAAA,CAAA,CAAA","file":"chunk-I44HXJ3X.mjs","sourcesContent":["/**\n * @package sa2kit/common/auth\n *\n * Browser / client 安全入口(R2-211)。\n */\nexport { useAuth, useAuthForm } from './hooks';\nexport { BaseApiClient, API_ROUTES, STORAGE_KEYS } from './client';\nexport type { LoginFormState, RegisterFormState } from './components/types';\nexport * from './types';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/storage/index.ts"],"names":[],"mappings":";;;;;;AAAA,IAAA,eAAA,GAAA;AAAA,QAAA,CAAA,eAAA,EAAA;AAAA,EAAA,sBAAA,EAAA,MAAA,sBAAA;AAAA,EAAA,qBAAA,EAAA,MAAA,qBAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,eAAA,EAAA,MAAA,eAAA;AAAA,EAAA,UAAA,EAAA,MAAA,UAAA;AAAA,EAAA,cAAA,EAAA,MAAA;AAAA,CAAA,CAAA","file":"chunk-IIVNHQEI.mjs","sourcesContent":["/**\n * @package sa2kit/common/storage\n */\nexport * from '../../storage';\n"]}
@@ -1,122 +0,0 @@
1
- import { pgEnum, pgTable, boolean, timestamp, jsonb, text, uniqueIndex, foreignKey } from 'drizzle-orm/pg-core';
2
- import { sql, relations } from 'drizzle-orm';
3
-
4
- // src/common/auth/schema/enums.ts
5
- var userRole = pgEnum("UserRole", ["USER", "ADMIN", "SUPER_ADMIN"]);
6
- var user = pgTable(
7
- "User",
8
- {
9
- id: text().primaryKey().notNull(),
10
- email: text().notNull(),
11
- emailVerified: boolean().default(false).notNull(),
12
- username: text().notNull(),
13
- password: text(),
14
- name: text(),
15
- nickname: text(),
16
- image: text(),
17
- avatar: text(),
18
- role: userRole().default("USER").notNull(),
19
- preferences: jsonb(),
20
- createdAt: timestamp({ precision: 3, mode: "string" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
21
- updatedAt: timestamp({ precision: 3, mode: "string" }).notNull(),
22
- twoFactorEnabled: boolean().default(false).notNull()
23
- },
24
- (table) => [
25
- uniqueIndex("User_email_key").using("btree", table.email.asc().nullsLast().op("text_ops")),
26
- uniqueIndex("User_username_key").using(
27
- "btree",
28
- table.username.asc().nullsLast().op("text_ops")
29
- )
30
- ]
31
- );
32
- var session = pgTable(
33
- "Session",
34
- {
35
- id: text().primaryKey().notNull(),
36
- userId: text().notNull(),
37
- token: text().notNull(),
38
- expiresAt: timestamp({ precision: 3, mode: "string" }).notNull(),
39
- ipAddress: text(),
40
- userAgent: text(),
41
- createdAt: timestamp({ precision: 3, mode: "string" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
42
- updatedAt: timestamp({ precision: 3, mode: "string" }).default(sql`CURRENT_TIMESTAMP`).notNull()
43
- },
44
- (table) => [
45
- uniqueIndex("Session_token_key").using("btree", table.token.asc().nullsLast().op("text_ops")),
46
- foreignKey({
47
- columns: [table.userId],
48
- foreignColumns: [user.id],
49
- name: "Session_userId_fkey"
50
- }).onUpdate("cascade").onDelete("cascade")
51
- ]
52
- );
53
- var account = pgTable(
54
- "Account",
55
- {
56
- id: text().primaryKey().notNull(),
57
- accountId: text().notNull(),
58
- providerId: text().notNull(),
59
- // 提供商: github, google, wechat 等
60
- userId: text().notNull(),
61
- accessToken: text(),
62
- refreshToken: text(),
63
- idToken: text(),
64
- accessTokenExpiresAt: timestamp({ precision: 3, mode: "string" }),
65
- refreshTokenExpiresAt: timestamp({ precision: 3, mode: "string" }),
66
- scope: text(),
67
- password: text(),
68
- createdAt: timestamp({ precision: 3, mode: "string" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
69
- updatedAt: timestamp({ precision: 3, mode: "string" }).notNull()
70
- },
71
- (table) => [
72
- uniqueIndex("Account_providerId_accountId_key").using(
73
- "btree",
74
- table.providerId.asc().nullsLast().op("text_ops"),
75
- table.accountId.asc().nullsLast().op("text_ops")
76
- ),
77
- foreignKey({
78
- columns: [table.userId],
79
- foreignColumns: [user.id],
80
- name: "Account_userId_fkey"
81
- }).onUpdate("cascade").onDelete("cascade")
82
- ]
83
- );
84
- var verifications = pgTable(
85
- "verifications",
86
- {
87
- id: text().primaryKey().notNull(),
88
- identifier: text().notNull(),
89
- // 邮箱或手机号
90
- value: text().notNull(),
91
- // 验证码
92
- expiresAt: timestamp({ precision: 3, mode: "string" }).notNull(),
93
- createdAt: timestamp({ precision: 3, mode: "string" }).default(sql`CURRENT_TIMESTAMP`).notNull()
94
- },
95
- (table) => [
96
- uniqueIndex("verifications_identifier_value_key").using(
97
- "btree",
98
- table.identifier.asc().nullsLast().op("text_ops"),
99
- table.value.asc().nullsLast().op("text_ops")
100
- )
101
- ]
102
- );
103
- var userRelations = relations(user, ({ many }) => ({
104
- sessions: many(session),
105
- accounts: many(account)
106
- }));
107
- var sessionRelations = relations(session, ({ one }) => ({
108
- user: one(user, {
109
- fields: [session.userId],
110
- references: [user.id]
111
- })
112
- }));
113
- var accountRelations = relations(account, ({ one }) => ({
114
- user: one(user, {
115
- fields: [account.userId],
116
- references: [user.id]
117
- })
118
- }));
119
-
120
- export { account, accountRelations, session, sessionRelations, user, userRelations, userRole, verifications };
121
- //# sourceMappingURL=chunk-IJ4YYWE3.mjs.map
122
- //# sourceMappingURL=chunk-IJ4YYWE3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/auth/schema/enums.ts","../src/common/auth/schema/user.ts","../src/common/auth/schema/session.ts","../src/common/auth/schema/account.ts","../src/common/auth/schema/verification.ts","../src/common/auth/schema/relations.ts"],"names":["pgTable","text","timestamp","sql","uniqueIndex","foreignKey"],"mappings":"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","file":"chunk-IJ4YYWE3.mjs","sourcesContent":["/**\n * Auth Schema - Enums\n * 认证相关的枚举类型定义\n */\n\nimport { pgEnum } from 'drizzle-orm/pg-core';\n\n/**\n * 用户角色枚举\n */\nexport const userRole = pgEnum('UserRole', ['USER', 'ADMIN', 'SUPER_ADMIN']);\n\n/**\n * 类型定义\n */\nexport type UserRole = 'USER' | 'ADMIN' | 'SUPER_ADMIN';\n\n","/**\n * Auth Schema - User Table\n * 用户表定义\n */\n\nimport { pgTable, text, boolean, jsonb, timestamp, uniqueIndex } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { userRole } from './enums';\n\n/**\n * 用户表\n */\nexport const user = pgTable(\n 'User',\n {\n id: text().primaryKey().notNull(),\n email: text().notNull(),\n emailVerified: boolean().default(false).notNull(),\n username: text().notNull(),\n password: text(),\n name: text(),\n nickname: text(),\n image: text(),\n avatar: text(),\n role: userRole().default('USER').notNull(),\n preferences: jsonb(),\n createdAt: timestamp({ precision: 3, mode: 'string' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp({ precision: 3, mode: 'string' }).notNull(),\n twoFactorEnabled: boolean().default(false).notNull(),\n },\n (table) => [\n uniqueIndex('User_email_key').using('btree', table.email.asc().nullsLast().op('text_ops')),\n uniqueIndex('User_username_key').using(\n 'btree',\n table.username.asc().nullsLast().op('text_ops')\n ),\n ]\n);\n\n/**\n * 类型定义\n */\nexport type User = typeof user.$inferSelect;\nexport type NewUser = typeof user.$inferInsert;\n\n","/**\n * Auth Schema - Session Table\n * 会话表定义\n */\n\nimport {\n pgTable,\n text,\n timestamp,\n uniqueIndex,\n foreignKey,\n} from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { user } from './user';\n\n/**\n * 会话表\n */\nexport const session = pgTable(\n 'Session',\n {\n id: text().primaryKey().notNull(),\n userId: text().notNull(),\n token: text().notNull(),\n expiresAt: timestamp({ precision: 3, mode: 'string' }).notNull(),\n ipAddress: text(),\n userAgent: text(),\n createdAt: timestamp({ precision: 3, mode: 'string' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp({ precision: 3, mode: 'string' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n },\n (table) => [\n uniqueIndex('Session_token_key').using('btree', table.token.asc().nullsLast().op('text_ops')),\n foreignKey({\n columns: [table.userId],\n foreignColumns: [user.id],\n name: 'Session_userId_fkey',\n })\n .onUpdate('cascade')\n .onDelete('cascade'),\n ]\n);\n\n/**\n * 类型定义\n */\nexport type Session = typeof session.$inferSelect;\nexport type NewSession = typeof session.$inferInsert;\n\n","/**\n * Auth Schema - Account Table\n * 第三方账号关联表定义\n */\n\nimport {\n pgTable,\n text,\n timestamp,\n uniqueIndex,\n foreignKey,\n} from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { user } from './user';\n\n/**\n * 第三方账号表(支持 OAuth 登录)\n */\nexport const account = pgTable(\n 'Account',\n {\n id: text().primaryKey().notNull(),\n accountId: text().notNull(),\n providerId: text().notNull(), // 提供商: github, google, wechat 等\n userId: text().notNull(),\n accessToken: text(),\n refreshToken: text(),\n idToken: text(),\n accessTokenExpiresAt: timestamp({ precision: 3, mode: 'string' }),\n refreshTokenExpiresAt: timestamp({ precision: 3, mode: 'string' }),\n scope: text(),\n password: text(),\n createdAt: timestamp({ precision: 3, mode: 'string' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp({ precision: 3, mode: 'string' }).notNull(),\n },\n (table) => [\n uniqueIndex('Account_providerId_accountId_key').using(\n 'btree',\n table.providerId.asc().nullsLast().op('text_ops'),\n table.accountId.asc().nullsLast().op('text_ops')\n ),\n foreignKey({\n columns: [table.userId],\n foreignColumns: [user.id],\n name: 'Account_userId_fkey',\n })\n .onUpdate('cascade')\n .onDelete('cascade'),\n ]\n);\n\n/**\n * 类型定义\n */\nexport type Account = typeof account.$inferSelect;\nexport type NewAccount = typeof account.$inferInsert;\n\n","/**\n * Auth Schema - Verification Table\n * 验证码表定义\n */\n\nimport { pgTable, text, timestamp, uniqueIndex } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\n\n/**\n * 验证码表(邮箱验证、密码重置等)\n */\nexport const verifications = pgTable(\n 'verifications',\n {\n id: text().primaryKey().notNull(),\n identifier: text().notNull(), // 邮箱或手机号\n value: text().notNull(), // 验证码\n expiresAt: timestamp({ precision: 3, mode: 'string' }).notNull(),\n createdAt: timestamp({ precision: 3, mode: 'string' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n },\n (table) => [\n uniqueIndex('verifications_identifier_value_key').using(\n 'btree',\n table.identifier.asc().nullsLast().op('text_ops'),\n table.value.asc().nullsLast().op('text_ops')\n ),\n ]\n);\n\n/**\n * 类型定义\n */\nexport type Verification = typeof verifications.$inferSelect;\nexport type NewVerification = typeof verifications.$inferInsert;\n\n","/**\n * Auth Schema - Relations\n * 表关系定义\n */\n\nimport { relations } from 'drizzle-orm';\nimport { user } from './user';\nimport { session } from './session';\nimport { account } from './account';\n\n/**\n * User 表关系\n */\nexport const userRelations = relations(user, ({ many }) => ({\n sessions: many(session),\n accounts: many(account),\n}));\n\n/**\n * Session 表关系\n */\nexport const sessionRelations = relations(session, ({ one }) => ({\n user: one(user, {\n fields: [session.userId],\n references: [user.id],\n }),\n}));\n\n/**\n * Account 表关系\n */\nexport const accountRelations = relations(account, ({ one }) => ({\n user: one(user, {\n fields: [account.userId],\n references: [user.id],\n }),\n}));\n\n"]}
@@ -1,92 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkDV6M7MFP_js = require('./chunk-DV6M7MFP.js');
4
-
5
- // src/common/auth/middleware/with-auth.ts
6
- function createAuthMiddleware(config) {
7
- function withAuth(handler, level = "user") {
8
- return async (request, context = {}) => {
9
- if (level === "none") {
10
- return await handler(request, context);
11
- }
12
- try {
13
- const token = chunkDV6M7MFP_js.getTokenFromRequest(request);
14
- if (!token) {
15
- return new Response(
16
- JSON.stringify({
17
- success: false,
18
- error: "\u672A\u63D0\u4F9B\u8BA4\u8BC1\u4EE4\u724C"
19
- }),
20
- {
21
- status: 401,
22
- headers: { "Content-Type": "application/json" }
23
- }
24
- );
25
- }
26
- const result = await config.authService.verifyToken(token);
27
- if (level === "admin" || level === "super_admin") {
28
- if (!["ADMIN", "SUPER_ADMIN"].includes(result.user.role)) {
29
- return new Response(
30
- JSON.stringify({
31
- success: false,
32
- error: "\u9700\u8981\u7BA1\u7406\u5458\u6743\u9650"
33
- }),
34
- {
35
- status: 403,
36
- headers: { "Content-Type": "application/json" }
37
- }
38
- );
39
- }
40
- }
41
- if (level === "super_admin") {
42
- if (result.user.role !== "SUPER_ADMIN") {
43
- return new Response(
44
- JSON.stringify({
45
- success: false,
46
- error: "\u9700\u8981\u8D85\u7EA7\u7BA1\u7406\u5458\u6743\u9650"
47
- }),
48
- {
49
- status: 403,
50
- headers: { "Content-Type": "application/json" }
51
- }
52
- );
53
- }
54
- }
55
- context.user = result.user;
56
- context.session = result.session;
57
- return await handler(request, context);
58
- } catch (error) {
59
- console.error("Auth middleware error:", error);
60
- return new Response(
61
- JSON.stringify({
62
- success: false,
63
- error: "\u8BA4\u8BC1\u5931\u8D25"
64
- }),
65
- {
66
- status: 401,
67
- headers: { "Content-Type": "application/json" }
68
- }
69
- );
70
- }
71
- };
72
- }
73
- function requireAuth(handler) {
74
- return withAuth(handler, "user");
75
- }
76
- function requireAdmin(handler) {
77
- return withAuth(handler, "admin");
78
- }
79
- function requireSuperAdmin(handler) {
80
- return withAuth(handler, "super_admin");
81
- }
82
- return {
83
- withAuth,
84
- requireAuth,
85
- requireAdmin,
86
- requireSuperAdmin
87
- };
88
- }
89
-
90
- exports.createAuthMiddleware = createAuthMiddleware;
91
- //# sourceMappingURL=chunk-J4BEIZUC.js.map
92
- //# sourceMappingURL=chunk-J4BEIZUC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/auth/middleware/with-auth.ts"],"names":["getTokenFromRequest"],"mappings":"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","file":"chunk-J4BEIZUC.js","sourcesContent":["/**\n * Auth Middleware - withAuth\n * 认证中间件\n */\n\nimport { getTokenFromRequest } from '../services';\nimport type {\n AuthMiddlewareConfig,\n AuthLevel,\n RouteHandler,\n RouteContext,\n} from './types';\n\n/**\n * 创建认证中间件\n *\n * @example\n * ```typescript\n * import { createAuthMiddleware } from '@qhr123/sa2kit/auth/middleware';\n *\n * const { withAuth, requireAdmin } = createAuthMiddleware({\n * authService: myAuthService,\n * });\n *\n * // 使用中间件\n * export const GET = requireAdmin(async (request, context) => {\n * const { user } = context; // 自动注入用户信息\n * // ... 业务逻辑\n * });\n * ```\n */\nexport function createAuthMiddleware(config: AuthMiddlewareConfig) {\n /**\n * 认证中间件核心函数\n */\n function withAuth(\n handler: RouteHandler,\n level: AuthLevel = 'user'\n ): RouteHandler {\n return async (request: Request, context: RouteContext = {}) => {\n // 不需要认证,直接执行\n if (level === 'none') {\n return await handler(request, context);\n }\n\n try {\n // 获取 token\n const token = getTokenFromRequest(request);\n\n if (!token) {\n return new Response(\n JSON.stringify({\n success: false,\n error: '未提供认证令牌',\n }),\n {\n status: 401,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n\n // 验证 token 并获取用户信息\n const result = await config.authService.verifyToken(token);\n\n // 检查权限级别\n if (level === 'admin' || level === 'super_admin') {\n if (!['ADMIN', 'SUPER_ADMIN'].includes(result.user.role)) {\n return new Response(\n JSON.stringify({\n success: false,\n error: '需要管理员权限',\n }),\n {\n status: 403,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n }\n\n if (level === 'super_admin') {\n if (result.user.role !== 'SUPER_ADMIN') {\n return new Response(\n JSON.stringify({\n success: false,\n error: '需要超级管理员权限',\n }),\n {\n status: 403,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n }\n\n // 注入用户信息到 context\n context.user = result.user;\n context.session = result.session;\n\n // 执行业务逻辑\n return await handler(request, context);\n } catch (error) {\n console.error('Auth middleware error:', error);\n return new Response(\n JSON.stringify({\n success: false,\n error: '认证失败',\n }),\n {\n status: 401,\n headers: { 'Content-Type': 'application/json' },\n }\n );\n }\n };\n }\n\n /**\n * 快捷方法:需要用户登录\n */\n function requireAuth(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'user');\n }\n\n /**\n * 快捷方法:需要管理员权限\n */\n function requireAdmin(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'admin');\n }\n\n /**\n * 快捷方法:需要超级管理员权限\n */\n function requireSuperAdmin(handler: RouteHandler): RouteHandler {\n return withAuth(handler, 'super_admin');\n }\n\n return {\n withAuth,\n requireAuth,\n requireAdmin,\n requireSuperAdmin,\n };\n}\n\n"]}
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkQQ2WFYOD_js = require('./chunk-QQ2WFYOD.js');
4
- var chunkUCOE6SET_js = require('./chunk-UCOE6SET.js');
5
- var chunkXJ7ZAGC5_js = require('./chunk-XJ7ZAGC5.js');
6
- var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
7
-
8
- // src/common/storage/index.ts
9
- var storage_exports = {};
10
- chunkNSBPE2FW_js.__export(storage_exports, {
11
- ElectronStorageAdapter: () => chunkUCOE6SET_js.ElectronStorageAdapter,
12
- MiniAppStorageAdapter: () => chunkQQ2WFYOD_js.MiniAppStorageAdapter,
13
- ReactNativeStorageAdapter: () => chunkQQ2WFYOD_js.ReactNativeStorageAdapter,
14
- WebStorageAdapter: () => chunkXJ7ZAGC5_js.WebStorageAdapter,
15
- useAsyncStorage: () => chunkQQ2WFYOD_js.useAsyncStorage,
16
- useElectronStorage: () => chunkQQ2WFYOD_js.useElectronStorage,
17
- useLocalStorage: () => chunkQQ2WFYOD_js.useLocalStorage,
18
- useStorage: () => chunkQQ2WFYOD_js.useStorage,
19
- useTaroStorage: () => chunkQQ2WFYOD_js.useTaroStorage
20
- });
21
-
22
- exports.storage_exports = storage_exports;
23
- //# sourceMappingURL=chunk-OKPWFVXC.js.map
24
- //# sourceMappingURL=chunk-OKPWFVXC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common/storage/index.ts"],"names":["__export","ElectronStorageAdapter","MiniAppStorageAdapter","ReactNativeStorageAdapter","WebStorageAdapter","useAsyncStorage","useElectronStorage","useLocalStorage","useStorage","useTaroStorage"],"mappings":";;;;;;;;AAAA,IAAA,eAAA,GAAA;AAAAA,yBAAA,CAAA,eAAA,EAAA;AAAA,EAAA,sBAAA,EAAA,MAAAC,uCAAA;AAAA,EAAA,qBAAA,EAAA,MAAAC,sCAAA;AAAA,EAAA,yBAAA,EAAA,MAAAC,0CAAA;AAAA,EAAA,iBAAA,EAAA,MAAAC,kCAAA;AAAA,EAAA,eAAA,EAAA,MAAAC,gCAAA;AAAA,EAAA,kBAAA,EAAA,MAAAC,mCAAA;AAAA,EAAA,eAAA,EAAA,MAAAC,gCAAA;AAAA,EAAA,UAAA,EAAA,MAAAC,2BAAA;AAAA,EAAA,cAAA,EAAA,MAAAC;AAAA,CAAA,CAAA","file":"chunk-OKPWFVXC.js","sourcesContent":["/**\n * @package sa2kit/common/storage\n */\nexport * from '../../storage';\n"]}