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
@@ -0,0 +1,8 @@
1
+ // src/common/auth/hooks/useSession.ts
2
+ function useSession(authClient) {
3
+ return authClient.useSession();
4
+ }
5
+
6
+ export { useSession };
7
+ //# sourceMappingURL=chunk-6YLCRWKM.mjs.map
8
+ //# sourceMappingURL=chunk-6YLCRWKM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/auth/hooks/useSession.ts"],"names":[],"mappings":";AAOO,SAAS,WAAW,UAAA,EAA8B;AACvD,EAAA,OAAO,WAAW,UAAA,EAAW;AAC/B","file":"chunk-6YLCRWKM.mjs","sourcesContent":["'use client';\n\nimport type { Sa2kitAuthClient } from '../react';\n\n/**\n * 薄封装 Better Auth React `useSession`\n */\nexport function useSession(authClient: Sa2kitAuthClient) {\n return authClient.useSession();\n}\n\nexport type UseSessionReturn = ReturnType<typeof useSession>;\n"]}
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
4
+
5
+ // src/storage/adapters/react-native-adapter.ts
6
+ var AsyncStorage = null;
7
+ try {
8
+ AsyncStorage = chunkNSBPE2FW_js.__require("@react-native-async-storage/async-storage").default;
9
+ } catch (e) {
10
+ }
11
+ var ReactNativeStorageAdapter = class {
12
+ constructor() {
13
+ this.listeners = /* @__PURE__ */ new Map();
14
+ }
15
+ async getItem(key) {
16
+ if (!AsyncStorage) return null;
17
+ try {
18
+ return await AsyncStorage.getItem(key);
19
+ } catch (error) {
20
+ console.error('[ReactNativeStorage] Error getting item "' + key + '":', error);
21
+ return null;
22
+ }
23
+ }
24
+ async setItem(key, value) {
25
+ if (!AsyncStorage) {
26
+ throw new Error("AsyncStorage is not available");
27
+ }
28
+ try {
29
+ await AsyncStorage.setItem(key, value);
30
+ this.notifyListeners(key, value);
31
+ } catch (error) {
32
+ console.error('[ReactNativeStorage] Error setting item "' + key + '":', error);
33
+ throw error;
34
+ }
35
+ }
36
+ async removeItem(key) {
37
+ if (!AsyncStorage) {
38
+ throw new Error("AsyncStorage is not available");
39
+ }
40
+ try {
41
+ await AsyncStorage.removeItem(key);
42
+ this.notifyListeners(key, null);
43
+ } catch (error) {
44
+ console.error('[ReactNativeStorage] Error removing item "' + key + '":', error);
45
+ throw error;
46
+ }
47
+ }
48
+ async clear() {
49
+ if (!AsyncStorage) {
50
+ throw new Error("AsyncStorage is not available");
51
+ }
52
+ try {
53
+ await AsyncStorage.clear();
54
+ } catch (error) {
55
+ console.error("[ReactNativeStorage] Error clearing storage:", error);
56
+ throw error;
57
+ }
58
+ }
59
+ addChangeListener(callback) {
60
+ if (!this.listeners.has("*")) {
61
+ this.listeners.set("*", /* @__PURE__ */ new Set());
62
+ }
63
+ this.listeners.get("*").add(callback);
64
+ return () => {
65
+ this.listeners.get("*")?.delete(callback);
66
+ };
67
+ }
68
+ notifyListeners(key, value) {
69
+ const globalListeners = this.listeners.get("*");
70
+ if (globalListeners) {
71
+ globalListeners.forEach((callback) => callback(key, value));
72
+ }
73
+ }
74
+ };
75
+
76
+ exports.ReactNativeStorageAdapter = ReactNativeStorageAdapter;
77
+ //# sourceMappingURL=chunk-CAYOQDBR.js.map
78
+ //# sourceMappingURL=chunk-CAYOQDBR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/adapters/react-native-adapter.ts"],"names":["__require"],"mappings":"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","file":"chunk-CAYOQDBR.js","sourcesContent":["/**\n * React Native 平台存储适配器 (AsyncStorage)\n */\n\nimport type { StorageAdapter } from '../types';\n\n// 动态导入 AsyncStorage(避免在非 RN 环境报错)\nlet AsyncStorage: any = null;\n\ntry {\n AsyncStorage = require('@react-native-async-storage/async-storage').default;\n} catch (e) {\n // AsyncStorage 不可用(非 React Native 环境)\n // 这是正常的,不需要警告\n}\n\nexport class ReactNativeStorageAdapter implements StorageAdapter {\n private listeners: Map<string, Set<(key: string, value: string | null) => void>> = new Map();\n\n async getItem(key: string): Promise<string | null> {\n if (!AsyncStorage) return null;\n\n try {\n return await AsyncStorage.getItem(key);\n } catch (error) {\n console.error('[ReactNativeStorage] Error getting item \"' + (key) + '\":', error);\n return null;\n }\n }\n\n async setItem(key: string, value: string): Promise<void> {\n if (!AsyncStorage) {\n throw new Error('AsyncStorage is not available');\n }\n\n try {\n await AsyncStorage.setItem(key, value);\n this.notifyListeners(key, value);\n } catch (error) {\n console.error('[ReactNativeStorage] Error setting item \"' + (key) + '\":', error);\n throw error;\n }\n }\n\n async removeItem(key: string): Promise<void> {\n if (!AsyncStorage) {\n throw new Error('AsyncStorage is not available');\n }\n\n try {\n await AsyncStorage.removeItem(key);\n this.notifyListeners(key, null);\n } catch (error) {\n console.error('[ReactNativeStorage] Error removing item \"' + (key) + '\":', error);\n throw error;\n }\n }\n\n async clear(): Promise<void> {\n if (!AsyncStorage) {\n throw new Error('AsyncStorage is not available');\n }\n\n try {\n await AsyncStorage.clear();\n } catch (error) {\n console.error('[ReactNativeStorage] Error clearing storage:', error);\n throw error;\n }\n }\n\n addChangeListener(callback: (key: string, value: string | null) => void): () => void {\n // React Native 没有原生的跨实例存储监听,我们使用内存中的监听器\n if (!this.listeners.has('*')) {\n this.listeners.set('*', new Set());\n }\n\n this.listeners.get('*')!.add(callback);\n\n // 返回清理函数\n return () => {\n this.listeners.get('*')?.delete(callback);\n };\n }\n\n private notifyListeners(key: string, value: string | null): void {\n const globalListeners = this.listeners.get('*');\n if (globalListeners) {\n globalListeners.forEach((callback) => callback(key, value));\n }\n }\n}\n\n"]}
@@ -1,79 +1,8 @@
1
+ import { ReactNativeStorageAdapter } from './chunk-Q5VFBPMG.mjs';
1
2
  import { ElectronStorageAdapter } from './chunk-HJZHQW5R.mjs';
2
3
  import { WebStorageAdapter } from './chunk-WEEXCPSE.mjs';
3
- import { __require } from './chunk-MAI35PU6.mjs';
4
4
  import { useState, useEffect, useCallback } from 'react';
5
5
 
6
- // src/storage/adapters/react-native-adapter.ts
7
- var AsyncStorage = null;
8
- try {
9
- AsyncStorage = __require("@react-native-async-storage/async-storage").default;
10
- } catch (e) {
11
- }
12
- var ReactNativeStorageAdapter = class {
13
- constructor() {
14
- this.listeners = /* @__PURE__ */ new Map();
15
- }
16
- async getItem(key) {
17
- if (!AsyncStorage) return null;
18
- try {
19
- return await AsyncStorage.getItem(key);
20
- } catch (error) {
21
- console.error('[ReactNativeStorage] Error getting item "' + key + '":', error);
22
- return null;
23
- }
24
- }
25
- async setItem(key, value) {
26
- if (!AsyncStorage) {
27
- throw new Error("AsyncStorage is not available");
28
- }
29
- try {
30
- await AsyncStorage.setItem(key, value);
31
- this.notifyListeners(key, value);
32
- } catch (error) {
33
- console.error('[ReactNativeStorage] Error setting item "' + key + '":', error);
34
- throw error;
35
- }
36
- }
37
- async removeItem(key) {
38
- if (!AsyncStorage) {
39
- throw new Error("AsyncStorage is not available");
40
- }
41
- try {
42
- await AsyncStorage.removeItem(key);
43
- this.notifyListeners(key, null);
44
- } catch (error) {
45
- console.error('[ReactNativeStorage] Error removing item "' + key + '":', error);
46
- throw error;
47
- }
48
- }
49
- async clear() {
50
- if (!AsyncStorage) {
51
- throw new Error("AsyncStorage is not available");
52
- }
53
- try {
54
- await AsyncStorage.clear();
55
- } catch (error) {
56
- console.error("[ReactNativeStorage] Error clearing storage:", error);
57
- throw error;
58
- }
59
- }
60
- addChangeListener(callback) {
61
- if (!this.listeners.has("*")) {
62
- this.listeners.set("*", /* @__PURE__ */ new Set());
63
- }
64
- this.listeners.get("*").add(callback);
65
- return () => {
66
- this.listeners.get("*")?.delete(callback);
67
- };
68
- }
69
- notifyListeners(key, value) {
70
- const globalListeners = this.listeners.get("*");
71
- if (globalListeners) {
72
- globalListeners.forEach((callback) => callback(key, value));
73
- }
74
- }
75
- };
76
-
77
6
  // src/storage/adapters/miniapp-adapter.ts
78
7
  var Taro = null;
79
8
  var taroLoadPromise = null;
@@ -283,6 +212,6 @@ function useElectronStorage(key, defaultValue) {
283
212
  return useStorage(electronStorage, key, defaultValue);
284
213
  }
285
214
 
286
- export { MiniAppStorageAdapter, ReactNativeStorageAdapter, useAsyncStorage, useElectronStorage, useLocalStorage, useStorage, useTaroStorage };
287
- //# sourceMappingURL=chunk-PTMSDNGO.mjs.map
288
- //# sourceMappingURL=chunk-PTMSDNGO.mjs.map
215
+ export { MiniAppStorageAdapter, useAsyncStorage, useElectronStorage, useLocalStorage, useStorage, useTaroStorage };
216
+ //# sourceMappingURL=chunk-CX2GHCAI.mjs.map
217
+ //# sourceMappingURL=chunk-CX2GHCAI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/adapters/miniapp-adapter.ts","../src/storage/hooks/useStorage.ts","../src/storage/hooks/useLocalStorage.ts","../src/storage/hooks/useAsyncStorage.ts","../src/storage/hooks/useTaroStorage.ts","../src/storage/hooks/useElectronStorage.ts"],"names":[],"mappings":"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","file":"chunk-CX2GHCAI.mjs","sourcesContent":["/**\n * 小程序平台存储适配器 (wx.storage / Taro.storage)\n * 仅在小程序环境下加载和使用\n */\n\nimport type { StorageAdapter } from '../types';\n\n// 延迟加载 Taro(仅在小程序环境)\nlet Taro: any = null;\nlet taroLoadPromise: Promise<void> | null = null;\nlet isMiniAppEnvironment: boolean | null = null;\n\n/**\n * 检测是否是小程序环境\n */\nfunction checkIsMiniApp(): boolean {\n if (isMiniAppEnvironment !== null) return isMiniAppEnvironment;\n\n // 服务端环境,不是小程序\n if (typeof window === 'undefined') {\n isMiniAppEnvironment = false;\n return false;\n }\n\n // 检测是否有小程序全局对象\n const globalObj = window as any;\n isMiniAppEnvironment = !!(\n globalObj.wx || // 微信小程序\n globalObj.my || // 支付宝小程序\n globalObj.swan || // 百度小程序\n globalObj.tt || // 抖音小程序\n globalObj.qq || // QQ 小程序\n globalObj.Taro // Taro 环境\n );\n\n return isMiniAppEnvironment;\n}\n\n/**\n * 加载 Taro(仅在小程序环境)\n */\nasync function loadTaro() {\n // 如果不是小程序环境,直接返回\n if (!checkIsMiniApp()) {\n return;\n }\n\n if (Taro) return;\n if (taroLoadPromise) return taroLoadPromise;\n\n taroLoadPromise = (async () => {\n try {\n // 使用动态导入,仅在小程序环境加载\n // 使用 Function 构造器来避免 TypeScript 在编译时解析模块\n const importTaro = new Function('return import(\"@tarojs/taro\")');\n const taroModule = await importTaro();\n Taro = taroModule.default || taroModule;\n } catch (e) {\n // Taro 不可用(非小程序环境或未安装)\n console.warn('[MiniAppStorage] Taro is not available. This is expected in non-MiniApp environments.');\n }\n })();\n\n return taroLoadPromise;\n}\n\nexport class MiniAppStorageAdapter implements StorageAdapter {\n private listeners: Map<string, Set<(key: string, value: string | null) => void>> = new Map();\n\n async getItem(key: string): Promise<string | null> {\n // 非小程序环境,直接返回 null\n if (!checkIsMiniApp()) {\n return null;\n }\n\n await loadTaro();\n if (!Taro) return null;\n\n try {\n const result = await Taro.getStorage({ key });\n return result.data;\n } catch (error: any) {\n // 如果 key 不存在,Taro 会抛出错误\n if (error.errMsg?.includes('data not found')) {\n return null;\n }\n console.error('[MiniAppStorage] Error getting item \"' + (key) + '\":', error);\n return null;\n }\n }\n\n async setItem(key: string, value: string): Promise<void> {\n // 非小程序环境,抛出错误\n if (!checkIsMiniApp()) {\n throw new Error('[MiniAppStorage] This adapter can only be used in MiniApp environment');\n }\n\n await loadTaro();\n if (!Taro) {\n throw new Error('[MiniAppStorage] Taro is not available');\n }\n\n try {\n await Taro.setStorage({ key, data: value });\n this.notifyListeners(key, value);\n } catch (error) {\n console.error('[MiniAppStorage] Error setting item \"' + (key) + '\":', error);\n throw error;\n }\n }\n\n async removeItem(key: string): Promise<void> {\n // 非小程序环境,抛出错误\n if (!checkIsMiniApp()) {\n throw new Error('[MiniAppStorage] This adapter can only be used in MiniApp environment');\n }\n\n await loadTaro();\n if (!Taro) {\n throw new Error('[MiniAppStorage] Taro is not available');\n }\n\n try {\n await Taro.removeStorage({ key });\n this.notifyListeners(key, null);\n } catch (error) {\n console.error('[MiniAppStorage] Error removing item \"' + (key) + '\":', error);\n throw error;\n }\n }\n\n async clear(): Promise<void> {\n // 非小程序环境,抛出错误\n if (!checkIsMiniApp()) {\n throw new Error('[MiniAppStorage] This adapter can only be used in MiniApp environment');\n }\n\n await loadTaro();\n if (!Taro) {\n throw new Error('[MiniAppStorage] Taro is not available');\n }\n\n try {\n await Taro.clearStorage();\n } catch (error) {\n console.error('[MiniAppStorage] Error clearing storage:', error);\n throw error;\n }\n }\n\n addChangeListener(callback: (key: string, value: string | null) => void): () => void {\n // 小程序没有原生的存储监听,我们使用内存中的监听器\n if (!this.listeners.has('*')) {\n this.listeners.set('*', new Set());\n }\n\n this.listeners.get('*')!.add(callback);\n\n // 返回清理函数\n return () => {\n this.listeners.get('*')?.delete(callback);\n };\n }\n\n private notifyListeners(key: string, value: string | null): void {\n const globalListeners = this.listeners.get('*');\n if (globalListeners) {\n globalListeners.forEach((callback) => callback(key, value));\n }\n }\n}\n\n","/**\n * 通用存储 Hook\n * 支持多平台:Web、React Native、小程序\n *\n * 优点:\n * 1. 异步读取,不阻塞渲染\n * 2. 统一的错误处理\n * 3. 类型安全\n * 4. 跨平台支持\n * 5. 自动同步(支持的平台)\n */\n\nimport { useState, useEffect, useCallback } from 'react';\nimport type { StorageAdapter } from '../types';\n\nexport function useStorage<T>(\n storage: StorageAdapter,\n key: string,\n defaultValue: T\n): [T, (value: T) => void, () => void, boolean] {\n const [value, setValue] = useState<T>(defaultValue);\n const [loading, setLoading] = useState(true);\n\n // 初始化时从存储读取\n useEffect(() => {\n const loadValue = async () => {\n try {\n const stored = await storage.getItem(key);\n if (stored !== null) {\n setValue(JSON.parse(stored));\n }\n } catch (error) {\n console.error('Error reading storage key \"' + (key) + '\":', error);\n } finally {\n setLoading(false);\n }\n };\n\n void loadValue();\n }, [storage, key]);\n\n // 更新值并同步到存储\n const updateValue = useCallback(\n async (newValue: T) => {\n try {\n setValue(newValue);\n await storage.setItem(key, JSON.stringify(newValue));\n\n // 如果是 Web 适配器,触发自定义事件\n if ('dispatchChange' in storage && typeof storage.dispatchChange === 'function') {\n (storage as any).dispatchChange(key, JSON.stringify(newValue));\n }\n } catch (error) {\n console.error('Error setting storage key \"' + (key) + '\":', error);\n }\n },\n [storage, key]\n );\n\n // 删除值\n const removeValue = useCallback(async () => {\n try {\n setValue(defaultValue);\n await storage.removeItem(key);\n\n // 如果是 Web 适配器,触发自定义事件\n if ('dispatchChange' in storage && typeof storage.dispatchChange === 'function') {\n (storage as any).dispatchChange(key, null);\n }\n } catch (error) {\n console.error('Error removing storage key \"' + (key) + '\":', error);\n }\n }, [storage, key, defaultValue]);\n\n // 监听存储变化\n useEffect(() => {\n if (!storage.addChangeListener) {\n return;\n }\n\n const cleanup = storage.addChangeListener((changedKey: string, newValue: string | null) => {\n if (changedKey === key) {\n try {\n if (newValue === null) {\n setValue(defaultValue);\n } else {\n setValue(JSON.parse(newValue));\n }\n } catch (error) {\n console.error('Error parsing storage change event:', error);\n }\n }\n });\n\n return cleanup;\n }, [storage, key, defaultValue]);\n\n return [value, updateValue, removeValue, loading];\n}\n\n","/**\n * Web 平台 localStorage Hook\n * 基于通用 useStorage 的便捷封装\n */\n\nimport { useStorage } from './useStorage';\nimport { WebStorageAdapter } from '../adapters/web-adapter';\n\n// 创建单例适配器\nconst webStorage = new WebStorageAdapter();\n\n/**\n * Web 平台的 localStorage Hook\n *\n * @param key - 存储键名\n * @param defaultValue - 默认值\n * @returns [value, setValue, removeValue, isLoading]\n */\nexport function useLocalStorage<T>(\n key: string,\n defaultValue: T\n): [T, (value: T) => void, () => void, boolean] {\n return useStorage(webStorage, key, defaultValue);\n}\n\n","'use client';\n\n/**\n * React Native AsyncStorage Hook\n * 基于通用 useStorage 的便捷封装\n */\n\nimport { useStorage } from './useStorage';\nimport { ReactNativeStorageAdapter } from '../adapters/react-native-adapter';\n\n// 创建单例适配器\nconst asyncStorage = new ReactNativeStorageAdapter();\n\n/**\n * React Native 的 AsyncStorage Hook\n *\n * @param key - 存储键名\n * @param defaultValue - 默认值\n * @returns [value, setValue, removeValue, isLoading]\n */\nexport function useAsyncStorage<T>(\n key: string,\n defaultValue: T\n): [T, (value: T) => void, () => void, boolean] {\n return useStorage(asyncStorage, key, defaultValue);\n}\n\n","'use client';\n\n/**\n * 小程序 Taro Storage Hook\n * 基于通用 useStorage 的便捷封装\n */\n\nimport { useStorage } from './useStorage';\nimport { MiniAppStorageAdapter } from '../adapters/miniapp-adapter';\n\n// 创建单例适配器\nconst taroStorage = new MiniAppStorageAdapter();\n\n/**\n * 小程序的 Taro Storage Hook\n *\n * @param key - 存储键名\n * @param defaultValue - 默认值\n * @returns [value, setValue, removeValue, isLoading]\n */\nexport function useTaroStorage<T>(\n key: string,\n defaultValue: T\n): [T, (value: T) => void, () => void, boolean] {\n return useStorage(taroStorage, key, defaultValue);\n}\n\n","'use client';\n\n/**\n * Electron 桌面端 Storage Hook\n * 基于通用 useStorage 的便捷封装\n */\n\nimport { useStorage } from './useStorage';\nimport { ElectronStorageAdapter } from '../adapters/electron-adapter';\n\n// 创建单例适配器\nconst electronStorage = new ElectronStorageAdapter();\n\n/**\n * Electron 桌面端的 Storage Hook\n *\n * 在 Electron 渲染进程中使用 localStorage\n * 支持跨窗口同步\n *\n * @param key - 存储键名\n * @param defaultValue - 默认值\n * @returns [value, setValue, removeValue, isLoading]\n *\n * @example\n * ```tsx\n * const [token, setToken, removeToken] = useElectronStorage('auth-token', '')\n * ```\n */\nexport function useElectronStorage<T>(\n key: string,\n defaultValue: T\n): [T, (value: T) => void, () => void, boolean] {\n return useStorage(electronStorage, key, defaultValue);\n}\n\n"]}
@@ -0,0 +1,82 @@
1
+ import { pgEnum, pgTable, timestamp, boolean, text } 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("user", {
7
+ id: text("id").primaryKey().notNull(),
8
+ name: text("name").notNull(),
9
+ email: text("email").notNull(),
10
+ emailVerified: boolean("emailVerified").default(false).notNull(),
11
+ image: text("image"),
12
+ phoneNumber: text("phoneNumber"),
13
+ phoneNumberVerified: boolean("phoneNumberVerified").default(false),
14
+ role: userRole("role").default("USER").notNull(),
15
+ createdAt: timestamp("createdAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
16
+ updatedAt: timestamp("updatedAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull()
17
+ });
18
+ var session = pgTable("session", {
19
+ id: text("id").primaryKey().notNull(),
20
+ userId: text("userId").notNull().references(() => user.id, { onDelete: "cascade" }),
21
+ token: text("token").notNull(),
22
+ expiresAt: timestamp("expiresAt", { precision: 3, mode: "date" }).notNull(),
23
+ ipAddress: text("ipAddress"),
24
+ userAgent: text("userAgent"),
25
+ createdAt: timestamp("createdAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
26
+ updatedAt: timestamp("updatedAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull()
27
+ });
28
+ var account = pgTable("account", {
29
+ id: text("id").primaryKey().notNull(),
30
+ accountId: text("accountId").notNull(),
31
+ providerId: text("providerId").notNull(),
32
+ userId: text("userId").notNull().references(() => user.id, { onDelete: "cascade" }),
33
+ accessToken: text("accessToken"),
34
+ refreshToken: text("refreshToken"),
35
+ idToken: text("idToken"),
36
+ accessTokenExpiresAt: timestamp("accessTokenExpiresAt", { precision: 3, mode: "date" }),
37
+ refreshTokenExpiresAt: timestamp("refreshTokenExpiresAt", { precision: 3, mode: "date" }),
38
+ scope: text("scope"),
39
+ password: text("password"),
40
+ createdAt: timestamp("createdAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
41
+ updatedAt: timestamp("updatedAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull()
42
+ });
43
+ var verification = pgTable("verification", {
44
+ id: text("id").primaryKey().notNull(),
45
+ identifier: text("identifier").notNull(),
46
+ value: text("value").notNull(),
47
+ expiresAt: timestamp("expiresAt", { precision: 3, mode: "date" }).notNull(),
48
+ createdAt: timestamp("createdAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull(),
49
+ updatedAt: timestamp("updatedAt", { precision: 3, mode: "date" }).default(sql`CURRENT_TIMESTAMP`).notNull()
50
+ });
51
+ var verifications = verification;
52
+ var userRelations = relations(user, ({ many }) => ({
53
+ sessions: many(session),
54
+ accounts: many(account)
55
+ }));
56
+ var sessionRelations = relations(session, ({ one }) => ({
57
+ user: one(user, {
58
+ fields: [session.userId],
59
+ references: [user.id]
60
+ })
61
+ }));
62
+ var accountRelations = relations(account, ({ one }) => ({
63
+ user: one(user, {
64
+ fields: [account.userId],
65
+ references: [user.id]
66
+ })
67
+ }));
68
+
69
+ // src/common/auth/schema/index.ts
70
+ var authDrizzleSchema = {
71
+ user,
72
+ session,
73
+ account,
74
+ verification,
75
+ userRelations,
76
+ sessionRelations,
77
+ accountRelations
78
+ };
79
+
80
+ export { account, accountRelations, authDrizzleSchema, session, sessionRelations, user, userRelations, userRole, verification, verifications };
81
+ //# sourceMappingURL=chunk-EBHPTFG6.mjs.map
82
+ //# sourceMappingURL=chunk-EBHPTFG6.mjs.map
@@ -0,0 +1 @@
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","../src/common/auth/schema/index.ts"],"names":["pgTable","text","timestamp","sql"],"mappings":"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","file":"chunk-EBHPTFG6.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 * Better Auth — user 表(3.0 SSOT)\n */\nimport { boolean, pgTable, text, timestamp } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { userRole } from './enums';\n\nexport const user = pgTable('user', {\n id: text('id').primaryKey().notNull(),\n name: text('name').notNull(),\n email: text('email').notNull(),\n emailVerified: boolean('emailVerified').default(false).notNull(),\n image: text('image'),\n phoneNumber: text('phoneNumber'),\n phoneNumberVerified: boolean('phoneNumberVerified').default(false),\n role: userRole('role').default('USER').notNull(),\n createdAt: timestamp('createdAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp('updatedAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n});\n\nexport type User = typeof user.$inferSelect;\nexport type NewUser = typeof user.$inferInsert;\n","/**\n * Better Auth — session 表(3.0 SSOT)\n */\nimport { pgTable, text, timestamp } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { user } from './user';\n\nexport const session = pgTable('session', {\n id: text('id').primaryKey().notNull(),\n userId: text('userId')\n .notNull()\n .references(() => user.id, { onDelete: 'cascade' }),\n token: text('token').notNull(),\n expiresAt: timestamp('expiresAt', { precision: 3, mode: 'date' }).notNull(),\n ipAddress: text('ipAddress'),\n userAgent: text('userAgent'),\n createdAt: timestamp('createdAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp('updatedAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n});\n\nexport type Session = typeof session.$inferSelect;\nexport type NewSession = typeof session.$inferInsert;\n","/**\n * Better Auth — account 表(credential / OAuth,3.0 SSOT)\n */\nimport { pgTable, text, timestamp } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\nimport { user } from './user';\n\nexport const account = pgTable('account', {\n id: text('id').primaryKey().notNull(),\n accountId: text('accountId').notNull(),\n providerId: text('providerId').notNull(),\n userId: text('userId')\n .notNull()\n .references(() => user.id, { onDelete: 'cascade' }),\n accessToken: text('accessToken'),\n refreshToken: text('refreshToken'),\n idToken: text('idToken'),\n accessTokenExpiresAt: timestamp('accessTokenExpiresAt', { precision: 3, mode: 'date' }),\n refreshTokenExpiresAt: timestamp('refreshTokenExpiresAt', { precision: 3, mode: 'date' }),\n scope: text('scope'),\n password: text('password'),\n createdAt: timestamp('createdAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp('updatedAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n});\n\nexport type Account = typeof account.$inferSelect;\nexport type NewAccount = typeof account.$inferInsert;\n","/**\n * Better Auth — verification 表(OTP / magic link,3.0 SSOT)\n */\nimport { pgTable, text, timestamp } from 'drizzle-orm/pg-core';\nimport { sql } from 'drizzle-orm';\n\nexport const verification = pgTable('verification', {\n id: text('id').primaryKey().notNull(),\n identifier: text('identifier').notNull(),\n value: text('value').notNull(),\n expiresAt: timestamp('expiresAt', { precision: 3, mode: 'date' }).notNull(),\n createdAt: timestamp('createdAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n updatedAt: timestamp('updatedAt', { precision: 3, mode: 'date' })\n .default(sql`CURRENT_TIMESTAMP`)\n .notNull(),\n});\n\nexport type Verification = typeof verification.$inferSelect;\nexport type NewVerification = typeof verification.$inferInsert;\n\n/** @deprecated 3.0 使用 `verification` */\nexport const verifications = verification;\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","/**\n * Better Auth Drizzle Schema(sa2kit/common/auth/schema)\n */\nexport { userRole, type UserRole } from './enums';\nexport { user, type User, type NewUser } from './user';\nexport { session, type Session, type NewSession } from './session';\nexport { account, type Account, type NewAccount } from './account';\nexport { verification, verifications, type Verification, type NewVerification } from './verification';\nexport { userRelations, sessionRelations, accountRelations } from './relations';\n\nimport { user } from './user';\nimport { session } from './session';\nimport { account } from './account';\nimport { verification } from './verification';\nimport { userRelations, sessionRelations, accountRelations } from './relations';\n\n/** drizzleAdapter 传入的 schema 对象 */\nexport const authDrizzleSchema = {\n user,\n session,\n account,\n verification,\n userRelations,\n sessionRelations,\n accountRelations,\n};\n"]}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunkYTGUIRRH_js = require('./chunk-YTGUIRRH.js');
4
+ var chunkPA4ELVGI_js = require('./chunk-PA4ELVGI.js');
5
+ var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
6
+
7
+ // src/common/auth/index.ts
8
+ var auth_exports = {};
9
+ chunkNSBPE2FW_js.__export(auth_exports, {
10
+ createSa2kitAuthClient: () => chunkPA4ELVGI_js.createSa2kitAuthClient,
11
+ useSession: () => chunkYTGUIRRH_js.useSession
12
+ });
13
+
14
+ exports.auth_exports = auth_exports;
15
+ //# sourceMappingURL=chunk-HQLKOXG7.js.map
16
+ //# sourceMappingURL=chunk-HQLKOXG7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/auth/index.ts"],"names":["__export","createSa2kitAuthClient","useSession"],"mappings":";;;;;;;AAAA,IAAA,YAAA,GAAA;AAAAA,yBAAA,CAAA,YAAA,EAAA;AAAA,EAAA,sBAAA,EAAA,MAAAC,uCAAA;AAAA,EAAA,UAAA,EAAA,MAAAC;AAAA,CAAA,CAAA","file":"chunk-HQLKOXG7.js","sourcesContent":["/**\n * @package sa2kit/common/auth\n *\n * Browser / client 安全入口(Better Auth 3.0)\n */\nexport {\n createSa2kitAuthClient,\n type Sa2kitAuthClient,\n type Sa2kitAuthClientOptions,\n} from './client';\nexport { useSession, type UseSessionReturn } from './hooks/useSession';\n\nexport * from './types';\n"]}
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+
3
+ var chunkMIDXG6LS_js = require('./chunk-MIDXG6LS.js');
4
+ var react = require('react');
5
+
6
+ function clientApi(client) {
7
+ return client;
8
+ }
9
+ function useAuthActions(authClient) {
10
+ const signInWithEmail = react.useCallback(
11
+ async (email, password) => {
12
+ try {
13
+ const result = await clientApi(authClient).signIn.email({ email, password });
14
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u767B\u5F55\u5931\u8D25");
15
+ return err ? { success: false, error: err } : { success: true };
16
+ } catch (e) {
17
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u767B\u5F55\u5931\u8D25") };
18
+ }
19
+ },
20
+ [authClient]
21
+ );
22
+ const signInWithPhonePassword = react.useCallback(
23
+ async (phoneNumber, password) => {
24
+ try {
25
+ const result = await clientApi(authClient).signIn.phoneNumber({ phoneNumber, password });
26
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u767B\u5F55\u5931\u8D25");
27
+ return err ? { success: false, error: err } : { success: true };
28
+ } catch (e) {
29
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u767B\u5F55\u5931\u8D25") };
30
+ }
31
+ },
32
+ [authClient]
33
+ );
34
+ const signUpWithEmail = react.useCallback(
35
+ async (email, password, name) => {
36
+ try {
37
+ const result = await clientApi(authClient).signUp.email({ email, password, name });
38
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u6CE8\u518C\u5931\u8D25");
39
+ return err ? { success: false, error: err } : { success: true };
40
+ } catch (e) {
41
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u6CE8\u518C\u5931\u8D25") };
42
+ }
43
+ },
44
+ [authClient]
45
+ );
46
+ const sendPhoneOtp = react.useCallback(
47
+ async (phoneNumber) => {
48
+ try {
49
+ const result = await clientApi(authClient).phoneNumber.sendOtp({ phoneNumber });
50
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25");
51
+ return err ? { success: false, error: err } : { success: true };
52
+ } catch (e) {
53
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25") };
54
+ }
55
+ },
56
+ [authClient]
57
+ );
58
+ const verifyPhoneOtp = react.useCallback(
59
+ async (phoneNumber, code) => {
60
+ try {
61
+ const result = await clientApi(authClient).phoneNumber.verify({ phoneNumber, code });
62
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u9A8C\u8BC1\u5931\u8D25");
63
+ return err ? { success: false, error: err } : { success: true };
64
+ } catch (e) {
65
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u9A8C\u8BC1\u5931\u8D25") };
66
+ }
67
+ },
68
+ [authClient]
69
+ );
70
+ const sendEmailOtp = react.useCallback(
71
+ async (email, type = "sign-in") => {
72
+ try {
73
+ const result = await clientApi(authClient).emailOtp.sendVerificationOtp({ email, type });
74
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25");
75
+ return err ? { success: false, error: err } : { success: true };
76
+ } catch (e) {
77
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u9A8C\u8BC1\u7801\u53D1\u9001\u5931\u8D25") };
78
+ }
79
+ },
80
+ [authClient]
81
+ );
82
+ const signInWithEmailOtp = react.useCallback(
83
+ async (email, otp) => {
84
+ try {
85
+ const result = await clientApi(authClient).signIn.emailOtp({ email, otp });
86
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u767B\u5F55\u5931\u8D25");
87
+ return err ? { success: false, error: err } : { success: true };
88
+ } catch (e) {
89
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u767B\u5F55\u5931\u8D25") };
90
+ }
91
+ },
92
+ [authClient]
93
+ );
94
+ const requestPhonePasswordReset = react.useCallback(
95
+ async (phoneNumber) => {
96
+ try {
97
+ const result = await clientApi(authClient).phoneNumber.requestPasswordReset({ phoneNumber });
98
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25");
99
+ return err ? { success: false, error: err } : { success: true };
100
+ } catch (e) {
101
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u53D1\u9001\u9A8C\u8BC1\u7801\u5931\u8D25") };
102
+ }
103
+ },
104
+ [authClient]
105
+ );
106
+ const resetPhonePassword = react.useCallback(
107
+ async (phoneNumber, otp, newPassword) => {
108
+ try {
109
+ const result = await clientApi(authClient).phoneNumber.resetPassword({
110
+ phoneNumber,
111
+ otp,
112
+ newPassword
113
+ });
114
+ const err = chunkMIDXG6LS_js.getAuthClientError(result, "\u91CD\u7F6E\u5BC6\u7801\u5931\u8D25");
115
+ return err ? { success: false, error: err } : { success: true };
116
+ } catch (e) {
117
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u91CD\u7F6E\u5BC6\u7801\u5931\u8D25") };
118
+ }
119
+ },
120
+ [authClient]
121
+ );
122
+ const signOut = react.useCallback(async () => {
123
+ try {
124
+ await clientApi(authClient).signOut();
125
+ return { success: true };
126
+ } catch (e) {
127
+ return { success: false, error: chunkMIDXG6LS_js.errorMessage(e, "\u9000\u51FA\u5931\u8D25") };
128
+ }
129
+ }, [authClient]);
130
+ return {
131
+ signInWithEmail,
132
+ signInWithPhonePassword,
133
+ signUpWithEmail,
134
+ sendPhoneOtp,
135
+ verifyPhoneOtp,
136
+ sendEmailOtp,
137
+ signInWithEmailOtp,
138
+ requestPhonePasswordReset,
139
+ resetPhonePassword,
140
+ signOut
141
+ };
142
+ }
143
+
144
+ exports.useAuthActions = useAuthActions;
145
+ //# sourceMappingURL=chunk-IS7O4LPI.js.map
146
+ //# sourceMappingURL=chunk-IS7O4LPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/auth/hooks/useAuthActions.ts"],"names":["useCallback","getAuthClientError","errorMessage"],"mappings":"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","file":"chunk-IS7O4LPI.js","sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\nimport { errorMessage, getAuthClientError } from '../components/utils';\n\n/** Better Auth 客户端(vanilla 或 React 均可) */\nexport type AuthActionsClient = Record<string, unknown>;\n\nfunction clientApi(client: AuthActionsClient) {\n return client as {\n signIn: {\n email: (input: { email: string; password: string }) => Promise<unknown>;\n phoneNumber: (input: { phoneNumber: string; password: string }) => Promise<unknown>;\n emailOtp: (input: { email: string; otp: string }) => Promise<unknown>;\n };\n signUp: { email: (input: { email: string; password: string; name: string }) => Promise<unknown> };\n phoneNumber: {\n sendOtp: (input: { phoneNumber: string }) => Promise<unknown>;\n verify: (input: { phoneNumber: string; code: string }) => Promise<unknown>;\n requestPasswordReset: (input: { phoneNumber: string }) => Promise<unknown>;\n resetPassword: (input: { phoneNumber: string; otp: string; newPassword: string }) => Promise<unknown>;\n };\n emailOtp: {\n sendVerificationOtp: (input: {\n email: string;\n type: 'sign-in' | 'email-verification' | 'forget-password';\n }) => Promise<unknown>;\n };\n signOut: () => Promise<unknown>;\n };\n}\n\nexport function useAuthActions(authClient: AuthActionsClient) {\n const signInWithEmail = useCallback(\n async (email: string, password: string) => {\n try {\n const result = await clientApi(authClient).signIn.email({ email, password });\n const err = getAuthClientError(result, '登录失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '登录失败') };\n }\n },\n [authClient],\n );\n\n const signInWithPhonePassword = useCallback(\n async (phoneNumber: string, password: string) => {\n try {\n const result = await clientApi(authClient).signIn.phoneNumber({ phoneNumber, password });\n const err = getAuthClientError(result, '登录失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '登录失败') };\n }\n },\n [authClient],\n );\n\n const signUpWithEmail = useCallback(\n async (email: string, password: string, name: string) => {\n try {\n const result = await clientApi(authClient).signUp.email({ email, password, name });\n const err = getAuthClientError(result, '注册失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '注册失败') };\n }\n },\n [authClient],\n );\n\n const sendPhoneOtp = useCallback(\n async (phoneNumber: string) => {\n try {\n const result = await clientApi(authClient).phoneNumber.sendOtp({ phoneNumber });\n const err = getAuthClientError(result, '验证码发送失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '验证码发送失败') };\n }\n },\n [authClient],\n );\n\n const verifyPhoneOtp = useCallback(\n async (phoneNumber: string, code: string) => {\n try {\n const result = await clientApi(authClient).phoneNumber.verify({ phoneNumber, code });\n const err = getAuthClientError(result, '验证失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '验证失败') };\n }\n },\n [authClient],\n );\n\n const sendEmailOtp = useCallback(\n async (email: string, type: 'sign-in' | 'email-verification' | 'forget-password' = 'sign-in') => {\n try {\n const result = await clientApi(authClient).emailOtp.sendVerificationOtp({ email, type });\n const err = getAuthClientError(result, '验证码发送失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '验证码发送失败') };\n }\n },\n [authClient],\n );\n\n const signInWithEmailOtp = useCallback(\n async (email: string, otp: string) => {\n try {\n const result = await clientApi(authClient).signIn.emailOtp({ email, otp });\n const err = getAuthClientError(result, '登录失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '登录失败') };\n }\n },\n [authClient],\n );\n\n const requestPhonePasswordReset = useCallback(\n async (phoneNumber: string) => {\n try {\n const result = await clientApi(authClient).phoneNumber.requestPasswordReset({ phoneNumber });\n const err = getAuthClientError(result, '发送验证码失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '发送验证码失败') };\n }\n },\n [authClient],\n );\n\n const resetPhonePassword = useCallback(\n async (phoneNumber: string, otp: string, newPassword: string) => {\n try {\n const result = await clientApi(authClient).phoneNumber.resetPassword({\n phoneNumber,\n otp,\n newPassword,\n });\n const err = getAuthClientError(result, '重置密码失败');\n return err ? { success: false as const, error: err } : { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '重置密码失败') };\n }\n },\n [authClient],\n );\n\n const signOut = useCallback(async () => {\n try {\n await clientApi(authClient).signOut();\n return { success: true as const };\n } catch (e) {\n return { success: false as const, error: errorMessage(e, '退出失败') };\n }\n }, [authClient]);\n\n return {\n signInWithEmail,\n signInWithPhonePassword,\n signUpWithEmail,\n sendPhoneOtp,\n verifyPhoneOtp,\n sendEmailOtp,\n signInWithEmailOtp,\n requestPhonePasswordReset,\n resetPhonePassword,\n signOut,\n };\n}\n\nexport type UseAuthActionsReturn = ReturnType<typeof useAuthActions>;\n"]}
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var pgCore = require('drizzle-orm/pg-core');
4
+ var drizzleOrm = require('drizzle-orm');
5
+
6
+ // src/common/auth/schema/enums.ts
7
+ var userRole = pgCore.pgEnum("UserRole", ["USER", "ADMIN", "SUPER_ADMIN"]);
8
+ var user = pgCore.pgTable("user", {
9
+ id: pgCore.text("id").primaryKey().notNull(),
10
+ name: pgCore.text("name").notNull(),
11
+ email: pgCore.text("email").notNull(),
12
+ emailVerified: pgCore.boolean("emailVerified").default(false).notNull(),
13
+ image: pgCore.text("image"),
14
+ phoneNumber: pgCore.text("phoneNumber"),
15
+ phoneNumberVerified: pgCore.boolean("phoneNumberVerified").default(false),
16
+ role: userRole("role").default("USER").notNull(),
17
+ createdAt: pgCore.timestamp("createdAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull(),
18
+ updatedAt: pgCore.timestamp("updatedAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull()
19
+ });
20
+ var session = pgCore.pgTable("session", {
21
+ id: pgCore.text("id").primaryKey().notNull(),
22
+ userId: pgCore.text("userId").notNull().references(() => user.id, { onDelete: "cascade" }),
23
+ token: pgCore.text("token").notNull(),
24
+ expiresAt: pgCore.timestamp("expiresAt", { precision: 3, mode: "date" }).notNull(),
25
+ ipAddress: pgCore.text("ipAddress"),
26
+ userAgent: pgCore.text("userAgent"),
27
+ createdAt: pgCore.timestamp("createdAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull(),
28
+ updatedAt: pgCore.timestamp("updatedAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull()
29
+ });
30
+ var account = pgCore.pgTable("account", {
31
+ id: pgCore.text("id").primaryKey().notNull(),
32
+ accountId: pgCore.text("accountId").notNull(),
33
+ providerId: pgCore.text("providerId").notNull(),
34
+ userId: pgCore.text("userId").notNull().references(() => user.id, { onDelete: "cascade" }),
35
+ accessToken: pgCore.text("accessToken"),
36
+ refreshToken: pgCore.text("refreshToken"),
37
+ idToken: pgCore.text("idToken"),
38
+ accessTokenExpiresAt: pgCore.timestamp("accessTokenExpiresAt", { precision: 3, mode: "date" }),
39
+ refreshTokenExpiresAt: pgCore.timestamp("refreshTokenExpiresAt", { precision: 3, mode: "date" }),
40
+ scope: pgCore.text("scope"),
41
+ password: pgCore.text("password"),
42
+ createdAt: pgCore.timestamp("createdAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull(),
43
+ updatedAt: pgCore.timestamp("updatedAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull()
44
+ });
45
+ var verification = pgCore.pgTable("verification", {
46
+ id: pgCore.text("id").primaryKey().notNull(),
47
+ identifier: pgCore.text("identifier").notNull(),
48
+ value: pgCore.text("value").notNull(),
49
+ expiresAt: pgCore.timestamp("expiresAt", { precision: 3, mode: "date" }).notNull(),
50
+ createdAt: pgCore.timestamp("createdAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull(),
51
+ updatedAt: pgCore.timestamp("updatedAt", { precision: 3, mode: "date" }).default(drizzleOrm.sql`CURRENT_TIMESTAMP`).notNull()
52
+ });
53
+ var verifications = verification;
54
+ var userRelations = drizzleOrm.relations(user, ({ many }) => ({
55
+ sessions: many(session),
56
+ accounts: many(account)
57
+ }));
58
+ var sessionRelations = drizzleOrm.relations(session, ({ one }) => ({
59
+ user: one(user, {
60
+ fields: [session.userId],
61
+ references: [user.id]
62
+ })
63
+ }));
64
+ var accountRelations = drizzleOrm.relations(account, ({ one }) => ({
65
+ user: one(user, {
66
+ fields: [account.userId],
67
+ references: [user.id]
68
+ })
69
+ }));
70
+
71
+ // src/common/auth/schema/index.ts
72
+ var authDrizzleSchema = {
73
+ user,
74
+ session,
75
+ account,
76
+ verification,
77
+ userRelations,
78
+ sessionRelations,
79
+ accountRelations
80
+ };
81
+
82
+ exports.account = account;
83
+ exports.accountRelations = accountRelations;
84
+ exports.authDrizzleSchema = authDrizzleSchema;
85
+ exports.session = session;
86
+ exports.sessionRelations = sessionRelations;
87
+ exports.user = user;
88
+ exports.userRelations = userRelations;
89
+ exports.userRole = userRole;
90
+ exports.verification = verification;
91
+ exports.verifications = verifications;
92
+ //# sourceMappingURL=chunk-LGHUCQIU.js.map
93
+ //# sourceMappingURL=chunk-LGHUCQIU.js.map