@arch-cadre/core 0.0.56 → 0.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/_virtual/_rolldown/runtime.mjs +1 -0
  3. package/dist/core/auth/augment.cjs +1 -0
  4. package/dist/core/auth/augment.d.cts +20 -0
  5. package/dist/core/auth/augment.d.cts.map +1 -0
  6. package/dist/core/auth/augment.d.mts +20 -0
  7. package/dist/core/auth/augment.d.mts.map +1 -0
  8. package/dist/core/auth/augment.mjs +2 -0
  9. package/dist/core/auth/augment.mjs.map +1 -0
  10. package/dist/core/auth/email-verification.cjs +1 -0
  11. package/dist/core/auth/email-verification.d.cts +62 -0
  12. package/dist/core/auth/email-verification.d.cts.map +1 -0
  13. package/dist/core/auth/email-verification.d.mts +62 -0
  14. package/dist/core/auth/email-verification.d.mts.map +1 -0
  15. package/dist/core/auth/email-verification.mjs +2 -0
  16. package/dist/core/auth/email-verification.mjs.map +1 -0
  17. package/dist/core/auth/logic.cjs +1 -0
  18. package/dist/core/auth/logic.d.cts +110 -0
  19. package/dist/core/auth/logic.d.cts.map +1 -0
  20. package/dist/core/auth/logic.d.mts +110 -0
  21. package/dist/core/auth/logic.d.mts.map +1 -0
  22. package/dist/core/auth/logic.mjs +2 -0
  23. package/dist/core/auth/logic.mjs.map +1 -0
  24. package/dist/core/auth/password-reset.cjs +1 -0
  25. package/dist/core/auth/password-reset.d.cts +39 -0
  26. package/dist/core/auth/password-reset.d.cts.map +1 -0
  27. package/dist/core/auth/password-reset.d.mts +39 -0
  28. package/dist/core/auth/password-reset.d.mts.map +1 -0
  29. package/dist/core/auth/password-reset.mjs +2 -0
  30. package/dist/core/auth/password-reset.mjs.map +1 -0
  31. package/dist/core/auth/rbac.cjs +1 -0
  32. package/dist/core/auth/rbac.d.cts +61 -0
  33. package/dist/core/auth/rbac.d.cts.map +1 -0
  34. package/dist/core/auth/rbac.d.mts +61 -0
  35. package/dist/core/auth/rbac.d.mts.map +1 -0
  36. package/dist/core/auth/rbac.mjs +2 -0
  37. package/dist/core/auth/rbac.mjs.map +1 -0
  38. package/dist/core/auth/session.cjs +1 -0
  39. package/dist/core/auth/session.d.cts +54 -0
  40. package/dist/core/auth/session.d.cts.map +1 -0
  41. package/dist/core/auth/session.d.mts +54 -0
  42. package/dist/core/auth/session.d.mts.map +1 -0
  43. package/dist/core/auth/session.mjs +2 -0
  44. package/dist/core/auth/session.mjs.map +1 -0
  45. package/dist/core/auth/types.d.cts +55 -0
  46. package/dist/core/auth/types.d.cts.map +1 -0
  47. package/dist/core/auth/types.d.mts +55 -0
  48. package/dist/core/auth/types.d.mts.map +1 -0
  49. package/dist/core/auth/utils/encode.cjs +1 -0
  50. package/dist/core/auth/utils/encode.d.cts +15 -0
  51. package/dist/core/auth/utils/encode.d.cts.map +1 -0
  52. package/dist/core/auth/utils/encode.d.mts +15 -0
  53. package/dist/core/auth/utils/encode.d.mts.map +1 -0
  54. package/dist/core/auth/utils/encode.mjs +2 -0
  55. package/dist/core/auth/utils/encode.mjs.map +1 -0
  56. package/dist/core/auth/utils/encryption.cjs +1 -0
  57. package/dist/core/auth/utils/{encryption.d.ts → encryption.d.cts} +8 -5
  58. package/dist/core/auth/utils/encryption.d.cts.map +1 -0
  59. package/dist/core/auth/utils/encryption.d.mts +28 -0
  60. package/dist/core/auth/utils/encryption.d.mts.map +1 -0
  61. package/dist/core/auth/utils/encryption.mjs +2 -0
  62. package/dist/core/auth/utils/encryption.mjs.map +1 -0
  63. package/dist/core/auth/validation.cjs +1 -0
  64. package/dist/core/auth/validation.d.cts +48 -0
  65. package/dist/core/auth/validation.d.cts.map +1 -0
  66. package/dist/core/auth/validation.d.mts +48 -0
  67. package/dist/core/auth/validation.d.mts.map +1 -0
  68. package/dist/core/auth/validation.mjs +2 -0
  69. package/dist/core/auth/validation.mjs.map +1 -0
  70. package/dist/core/bootstrap.cjs +1 -0
  71. package/dist/core/bootstrap.d.cts +5 -0
  72. package/dist/core/bootstrap.d.cts.map +1 -0
  73. package/dist/core/bootstrap.d.mts +5 -0
  74. package/dist/core/bootstrap.d.mts.map +1 -0
  75. package/dist/core/bootstrap.mjs +2 -0
  76. package/dist/core/bootstrap.mjs.map +1 -0
  77. package/dist/core/config.cjs +1 -0
  78. package/dist/core/config.d.cts +11 -0
  79. package/dist/core/config.d.cts.map +1 -0
  80. package/dist/core/config.d.mts +11 -0
  81. package/dist/core/config.d.mts.map +1 -0
  82. package/dist/core/config.mjs +2 -0
  83. package/dist/core/config.mjs.map +1 -0
  84. package/dist/core/config.server.cjs +1 -0
  85. package/dist/core/config.server.d.cts +16 -0
  86. package/dist/core/config.server.d.cts.map +1 -0
  87. package/dist/core/config.server.d.mts +16 -0
  88. package/dist/core/config.server.d.mts.map +1 -0
  89. package/dist/core/config.server.mjs +2 -0
  90. package/dist/core/config.server.mjs.map +1 -0
  91. package/dist/core/event-bus.cjs +1 -0
  92. package/dist/core/event-bus.d.cts +17 -0
  93. package/dist/core/event-bus.d.cts.map +1 -0
  94. package/dist/core/event-bus.d.mts +17 -0
  95. package/dist/core/event-bus.d.mts.map +1 -0
  96. package/dist/core/event-bus.mjs +2 -0
  97. package/dist/core/event-bus.mjs.map +1 -0
  98. package/dist/core/filesystem/index.cjs +1 -0
  99. package/dist/core/filesystem/index.mjs +2 -0
  100. package/dist/core/filesystem/index.mjs.map +1 -0
  101. package/dist/core/filesystem/providers/local.cjs +1 -0
  102. package/dist/core/filesystem/providers/local.mjs +2 -0
  103. package/dist/core/filesystem/providers/local.mjs.map +1 -0
  104. package/dist/core/filesystem/service.cjs +1 -0
  105. package/dist/core/filesystem/service.d.cts +19 -0
  106. package/dist/core/filesystem/service.d.cts.map +1 -0
  107. package/dist/core/filesystem/service.d.mts +19 -0
  108. package/dist/core/filesystem/service.d.mts.map +1 -0
  109. package/dist/core/filesystem/service.mjs +2 -0
  110. package/dist/core/filesystem/service.mjs.map +1 -0
  111. package/dist/core/filesystem/types.d.cts +22 -0
  112. package/dist/core/filesystem/types.d.cts.map +1 -0
  113. package/dist/core/filesystem/types.d.mts +22 -0
  114. package/dist/core/filesystem/types.d.mts.map +1 -0
  115. package/dist/core/notifications/actions.cjs +1 -0
  116. package/dist/core/notifications/actions.d.cts +58 -0
  117. package/dist/core/notifications/actions.d.cts.map +1 -0
  118. package/dist/core/notifications/actions.d.mts +58 -0
  119. package/dist/core/notifications/actions.d.mts.map +1 -0
  120. package/dist/core/notifications/actions.mjs +2 -0
  121. package/dist/core/notifications/actions.mjs.map +1 -0
  122. package/dist/core/notifications/index.cjs +1 -0
  123. package/dist/core/notifications/index.mjs +1 -0
  124. package/dist/core/notifications/service.cjs +1 -0
  125. package/dist/core/notifications/service.d.cts +9 -0
  126. package/dist/core/notifications/service.d.cts.map +1 -0
  127. package/dist/core/notifications/service.d.mts +9 -0
  128. package/dist/core/notifications/service.d.mts.map +1 -0
  129. package/dist/core/notifications/service.mjs +2 -0
  130. package/dist/core/notifications/service.mjs.map +1 -0
  131. package/dist/core/notifications/types.d.cts +21 -0
  132. package/dist/core/notifications/types.d.cts.map +1 -0
  133. package/dist/core/notifications/types.d.mts +21 -0
  134. package/dist/core/notifications/types.d.mts.map +1 -0
  135. package/dist/core/setup.cjs +1 -0
  136. package/dist/core/setup.d.cts +9 -0
  137. package/dist/core/setup.d.cts.map +1 -0
  138. package/dist/core/setup.d.mts +9 -0
  139. package/dist/core/setup.d.mts.map +1 -0
  140. package/dist/core/setup.mjs +2 -0
  141. package/dist/core/setup.mjs.map +1 -0
  142. package/dist/core/types.d.cts +13 -0
  143. package/dist/core/types.d.cts.map +1 -0
  144. package/dist/core/types.d.mts +13 -0
  145. package/dist/core/types.d.mts.map +1 -0
  146. package/dist/index.cjs +1 -0
  147. package/dist/index.d.cts +8 -0
  148. package/dist/index.d.mts +8 -0
  149. package/dist/index.mjs +1 -0
  150. package/dist/server/auth/email.cjs +1 -0
  151. package/dist/server/auth/email.d.cts +13 -0
  152. package/dist/server/auth/email.d.cts.map +1 -0
  153. package/dist/server/auth/email.d.mts +13 -0
  154. package/dist/server/auth/email.d.mts.map +1 -0
  155. package/dist/server/auth/email.mjs +2 -0
  156. package/dist/server/auth/email.mjs.map +1 -0
  157. package/dist/server/auth/password.cjs +1 -0
  158. package/dist/server/auth/{password.d.ts → password.d.cts} +7 -4
  159. package/dist/server/auth/password.d.cts.map +1 -0
  160. package/dist/server/auth/{password.js → password.d.mts} +7 -14
  161. package/dist/server/auth/password.d.mts.map +1 -0
  162. package/dist/server/auth/password.mjs +2 -0
  163. package/dist/server/auth/password.mjs.map +1 -0
  164. package/dist/server/auth/user.cjs +1 -0
  165. package/dist/server/auth/user.d.cts +58 -0
  166. package/dist/server/auth/user.d.cts.map +1 -0
  167. package/dist/server/auth/user.d.mts +58 -0
  168. package/dist/server/auth/user.d.mts.map +1 -0
  169. package/dist/server/auth/user.mjs +2 -0
  170. package/dist/server/auth/user.mjs.map +1 -0
  171. package/dist/server/database/inject.cjs +1 -0
  172. package/dist/server/database/inject.d.cts +15 -0
  173. package/dist/server/database/inject.d.cts.map +1 -0
  174. package/dist/server/database/inject.d.mts +15 -0
  175. package/dist/server/database/inject.d.mts.map +1 -0
  176. package/dist/server/database/inject.mjs +2 -0
  177. package/dist/server/database/inject.mjs.map +1 -0
  178. package/dist/server/database/schema.cjs +1 -0
  179. package/dist/server/database/schema.d.cts +3065 -0
  180. package/dist/server/database/{schema.d.ts.map → schema.d.cts.map} +1 -1
  181. package/dist/server/database/schema.d.mts +3065 -0
  182. package/dist/server/database/schema.d.mts.map +1 -0
  183. package/dist/server/database/schema.mjs +2 -0
  184. package/dist/server/database/schema.mjs.map +1 -0
  185. package/dist/server/emails/index.cjs +1 -0
  186. package/dist/server/emails/index.d.cts +26 -0
  187. package/dist/server/emails/index.d.cts.map +1 -0
  188. package/dist/server/emails/index.d.mts +26 -0
  189. package/dist/server/emails/index.d.mts.map +1 -0
  190. package/dist/server/emails/index.mjs +2 -0
  191. package/dist/server/emails/index.mjs.map +1 -0
  192. package/dist/server.cjs +1 -0
  193. package/dist/server.d.cts +26 -0
  194. package/dist/server.d.mts +26 -0
  195. package/dist/server.mjs +1 -0
  196. package/package.json +15 -7
  197. package/dist/core/auth/augment.d.ts +0 -18
  198. package/dist/core/auth/augment.d.ts.map +0 -1
  199. package/dist/core/auth/augment.js +0 -45
  200. package/dist/core/auth/email-verification.d.ts +0 -58
  201. package/dist/core/auth/email-verification.d.ts.map +0 -1
  202. package/dist/core/auth/email-verification.js +0 -105
  203. package/dist/core/auth/events.d.ts +0 -53
  204. package/dist/core/auth/events.d.ts.map +0 -1
  205. package/dist/core/auth/events.js +0 -1
  206. package/dist/core/auth/logic.d.ts +0 -106
  207. package/dist/core/auth/logic.d.ts.map +0 -1
  208. package/dist/core/auth/logic.js +0 -245
  209. package/dist/core/auth/password-reset.d.ts +0 -35
  210. package/dist/core/auth/password-reset.d.ts.map +0 -1
  211. package/dist/core/auth/password-reset.js +0 -122
  212. package/dist/core/auth/rbac.d.ts +0 -56
  213. package/dist/core/auth/rbac.d.ts.map +0 -1
  214. package/dist/core/auth/rbac.js +0 -134
  215. package/dist/core/auth/session.d.ts +0 -50
  216. package/dist/core/auth/session.d.ts.map +0 -1
  217. package/dist/core/auth/session.js +0 -152
  218. package/dist/core/auth/types.d.ts +0 -52
  219. package/dist/core/auth/types.d.ts.map +0 -1
  220. package/dist/core/auth/types.js +0 -1
  221. package/dist/core/auth/utils/encode.d.ts +0 -12
  222. package/dist/core/auth/utils/encode.d.ts.map +0 -1
  223. package/dist/core/auth/utils/encode.js +0 -20
  224. package/dist/core/auth/utils/encryption.d.ts.map +0 -1
  225. package/dist/core/auth/utils/encryption.js +0 -62
  226. package/dist/core/auth/validation.d.ts +0 -44
  227. package/dist/core/auth/validation.d.ts.map +0 -1
  228. package/dist/core/auth/validation.js +0 -41
  229. package/dist/core/bootstrap.d.ts +0 -2
  230. package/dist/core/bootstrap.d.ts.map +0 -1
  231. package/dist/core/bootstrap.js +0 -51
  232. package/dist/core/config.d.ts +0 -9
  233. package/dist/core/config.d.ts.map +0 -1
  234. package/dist/core/config.js +0 -3
  235. package/dist/core/config.server.d.ts +0 -12
  236. package/dist/core/config.server.d.ts.map +0 -1
  237. package/dist/core/config.server.js +0 -61
  238. package/dist/core/event-bus.d.ts +0 -14
  239. package/dist/core/event-bus.d.ts.map +0 -1
  240. package/dist/core/event-bus.js +0 -51
  241. package/dist/core/filesystem/index.d.ts +0 -4
  242. package/dist/core/filesystem/index.d.ts.map +0 -1
  243. package/dist/core/filesystem/index.js +0 -10
  244. package/dist/core/filesystem/providers/local.d.ts +0 -8
  245. package/dist/core/filesystem/providers/local.d.ts.map +0 -1
  246. package/dist/core/filesystem/providers/local.js +0 -42
  247. package/dist/core/filesystem/service.d.ts +0 -16
  248. package/dist/core/filesystem/service.d.ts.map +0 -1
  249. package/dist/core/filesystem/service.js +0 -51
  250. package/dist/core/filesystem/types.d.ts +0 -19
  251. package/dist/core/filesystem/types.d.ts.map +0 -1
  252. package/dist/core/filesystem/types.js +0 -1
  253. package/dist/core/notifications/actions.d.ts +0 -54
  254. package/dist/core/notifications/actions.d.ts.map +0 -1
  255. package/dist/core/notifications/actions.js +0 -43
  256. package/dist/core/notifications/index.d.ts +0 -4
  257. package/dist/core/notifications/index.d.ts.map +0 -1
  258. package/dist/core/notifications/index.js +0 -3
  259. package/dist/core/notifications/service.d.ts +0 -7
  260. package/dist/core/notifications/service.d.ts.map +0 -1
  261. package/dist/core/notifications/service.js +0 -32
  262. package/dist/core/notifications/types.d.ts +0 -17
  263. package/dist/core/notifications/types.d.ts.map +0 -1
  264. package/dist/core/notifications/types.js +0 -1
  265. package/dist/core/setup.d.ts +0 -6
  266. package/dist/core/setup.d.ts.map +0 -1
  267. package/dist/core/setup.js +0 -25
  268. package/dist/core/types.d.ts +0 -10
  269. package/dist/core/types.d.ts.map +0 -1
  270. package/dist/core/types.js +0 -1
  271. package/dist/index.d.ts +0 -8
  272. package/dist/index.d.ts.map +0 -1
  273. package/dist/index.js +0 -16
  274. package/dist/server/auth/email.d.ts +0 -10
  275. package/dist/server/auth/email.d.ts.map +0 -1
  276. package/dist/server/auth/email.js +0 -20
  277. package/dist/server/auth/password.d.ts.map +0 -1
  278. package/dist/server/auth/types.d.ts +0 -13
  279. package/dist/server/auth/types.d.ts.map +0 -1
  280. package/dist/server/auth/types.js +0 -1
  281. package/dist/server/auth/user.d.ts +0 -54
  282. package/dist/server/auth/user.d.ts.map +0 -1
  283. package/dist/server/auth/user.js +0 -222
  284. package/dist/server/database/inject.d.ts +0 -11
  285. package/dist/server/database/inject.d.ts.map +0 -1
  286. package/dist/server/database/inject.js +0 -29
  287. package/dist/server/database/schema.d.ts +0 -3056
  288. package/dist/server/database/schema.js +0 -205
  289. package/dist/server/database/types.d.ts +0 -12
  290. package/dist/server/database/types.d.ts.map +0 -1
  291. package/dist/server/database/types.js +0 -1
  292. package/dist/server/emails/index.d.ts +0 -23
  293. package/dist/server/emails/index.d.ts.map +0 -1
  294. package/dist/server/emails/index.js +0 -67
  295. package/dist/server.d.ts +0 -25
  296. package/dist/server.d.ts.map +0 -1
  297. package/dist/server.js +0 -32
@@ -1 +0,0 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../src/server/auth/password.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -1,13 +0,0 @@
1
- export * from "../../core/auth/types";
2
- import type { UserSession as CoreUserSession, FullUser } from "../../core/auth/types";
3
- export interface User2FAStatus {
4
- registeredTOTP: boolean;
5
- registeredPasskey: boolean;
6
- registered2FA: boolean;
7
- }
8
- /**
9
- * @deprecated Use FullUser from core/auth/types
10
- */
11
- export type UserWith2FA = FullUser;
12
- export type { CoreUserSession as UserSession };
13
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/auth/types.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEnC,YAAY,EAAE,eAAe,IAAI,WAAW,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export * from "../../core/auth/types";
@@ -1,54 +0,0 @@
1
- import type { User } from "../../core/auth/types";
2
- /**
3
- * Validates the username input.
4
- */
5
- export declare function verifyUsernameInput(username: string): Promise<boolean>;
6
- /**
7
- * Creates a new user with an initial recovery code and default 'user' role.
8
- */
9
- export declare function createUser(email: string, username: string, password: string): Promise<User>;
10
- /**
11
- * Creates a new user from an OAuth provider.
12
- */
13
- export declare function createOAuthUser(email: string, name: string, image?: string): Promise<User>;
14
- /**
15
- * Returns a user by ID.
16
- */
17
- export declare function getUserById(userId: string): Promise<User | null>;
18
- /**
19
- * Decrypts and returns the user's recovery code.
20
- */
21
- export declare function getUserRecoverCode(userId: string): Promise<string>;
22
- /**
23
- * Generates and sets a new recovery code for the user.
24
- */
25
- export declare function resetUserRecoveryCode(userId: string): Promise<string>;
26
- /**
27
- * Updates the user's password.
28
- */
29
- export declare function updateUserPassword(userId: string, password: string): Promise<void>;
30
- /**
31
- * Updates the user's name.
32
- */
33
- export declare function updateUserName(userId: string, name: string): Promise<void>;
34
- /**
35
- * Updates the user's image.
36
- */
37
- export declare function updateUserAwatar(userId: string, image: string): Promise<void>;
38
- /**
39
- * Updates the user's email and marks it as verified.
40
- */
41
- export declare function updateUserEmailAndSetEmailAsVerified(userId: string, email: string): Promise<void>;
42
- /**
43
- * Sets the user as email verified if the provided email matches.
44
- */
45
- export declare function setUserAsEmailVerifiedIfEmailMatches(userId: string, email: string): Promise<boolean>;
46
- /**
47
- * Returns the user's password hash.
48
- */
49
- export declare function getUserPasswordHash(userId: string): Promise<string | null>;
50
- /**
51
- * Returns a user by email.
52
- */
53
- export declare function getUserFromEmail(email: string): Promise<User | null>;
54
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/server/auth/user.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAWlD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI5E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAStE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB3E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AACD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAS1E"}
@@ -1,222 +0,0 @@
1
- "use server";
2
- import { and, eq } from "drizzle-orm";
3
- import { generateRandomRecoveryCode } from "../../core/auth/utils/encode";
4
- import { decryptToString, encryptString, } from "../../core/auth/utils/encryption";
5
- import { db } from "../database/inject";
6
- import { rolesTable, usersToRolesTable, userTable } from "../database/schema";
7
- import { sendRecoveryCode } from "../emails/index";
8
- import { hashPassword } from "./password";
9
- /**
10
- * Validates the username input.
11
- */
12
- export async function verifyUsernameInput(username) {
13
- return (username.length > 3 && username.length < 32 && username.trim() === username);
14
- }
15
- /**
16
- * Creates a new user with an initial recovery code and default 'user' role.
17
- */
18
- export async function createUser(email, username, password) {
19
- const passwordHash = await hashPassword(password);
20
- const recoveryCode = generateRandomRecoveryCode();
21
- const encryptedRecoveryCode = encryptString(recoveryCode);
22
- return await db.transaction(async (tx) => {
23
- const [row] = await tx
24
- .insert(userTable)
25
- .values({
26
- email: email,
27
- name: username,
28
- password: passwordHash,
29
- recovery_code: Buffer.from(encryptedRecoveryCode),
30
- })
31
- .returning();
32
- if (!row) {
33
- throw new Error("Failed to create user");
34
- }
35
- // Assign default 'user' role
36
- let [role] = await tx
37
- .select()
38
- .from(rolesTable)
39
- .where(eq(rolesTable.name, "user"));
40
- if (!role) {
41
- [role] = await tx
42
- .insert(rolesTable)
43
- .values({ name: "user", description: "Default user role" })
44
- .returning();
45
- }
46
- await tx.insert(usersToRolesTable).values({
47
- userId: row.id,
48
- roleId: role.id,
49
- });
50
- await sendRecoveryCode(row.email, recoveryCode);
51
- return row;
52
- });
53
- }
54
- /**
55
- * Creates a new user from an OAuth provider.
56
- */
57
- export async function createOAuthUser(email, name, image) {
58
- const recoveryCode = generateRandomRecoveryCode();
59
- const encryptedRecoveryCode = encryptString(recoveryCode);
60
- return await db.transaction(async (tx) => {
61
- const [row] = await tx
62
- .insert(userTable)
63
- .values({
64
- email: email,
65
- name: name,
66
- image: image,
67
- emailVerifiedAt: new Date(),
68
- recovery_code: Buffer.from(encryptedRecoveryCode),
69
- })
70
- .returning();
71
- // Assign default 'user' role
72
- let [role] = await tx
73
- .select()
74
- .from(rolesTable)
75
- .where(eq(rolesTable.name, "user"));
76
- if (!role) {
77
- [role] = await tx
78
- .insert(rolesTable)
79
- .values({ name: "user", description: "Default user role" })
80
- .returning();
81
- }
82
- await tx.insert(usersToRolesTable).values({
83
- userId: row.id,
84
- roleId: role.id,
85
- });
86
- return row;
87
- });
88
- }
89
- /**
90
- * Returns a user by ID.
91
- */
92
- export async function getUserById(userId) {
93
- const [user] = await db
94
- .select()
95
- .from(userTable)
96
- .where(eq(userTable.id, userId));
97
- if (!user)
98
- return null;
99
- const { password, recovery_code, ...safeUser } = user;
100
- return safeUser;
101
- }
102
- /**
103
- * Decrypts and returns the user's recovery code.
104
- */
105
- export async function getUserRecoverCode(userId) {
106
- const [user] = await db
107
- .select({
108
- recovery_code: userTable.recovery_code,
109
- })
110
- .from(userTable)
111
- .where(eq(userTable.id, userId));
112
- if (!user || !user.recovery_code) {
113
- throw new Error("Recovery code not found for user");
114
- }
115
- return decryptToString(user.recovery_code);
116
- }
117
- /**
118
- * Generates and sets a new recovery code for the user.
119
- */
120
- export async function resetUserRecoveryCode(userId) {
121
- const recoveryCode = generateRandomRecoveryCode();
122
- const encrypted = encryptString(recoveryCode);
123
- const [currentUser] = await db
124
- .update(userTable)
125
- .set({
126
- recovery_code: Buffer.from(encrypted),
127
- })
128
- .where(eq(userTable.id, userId))
129
- .returning();
130
- if (!currentUser) {
131
- throw new Error("User not found");
132
- }
133
- await sendRecoveryCode(currentUser.email, recoveryCode);
134
- return recoveryCode;
135
- }
136
- /**
137
- * Updates the user's password.
138
- */
139
- export async function updateUserPassword(userId, password) {
140
- const passwordHash = await hashPassword(password);
141
- await db
142
- .update(userTable)
143
- .set({
144
- password: passwordHash,
145
- })
146
- .where(eq(userTable.id, userId));
147
- }
148
- /**
149
- * Updates the user's name.
150
- */
151
- export async function updateUserName(userId, name) {
152
- await db
153
- .update(userTable)
154
- .set({
155
- name: name,
156
- })
157
- .where(eq(userTable.id, userId));
158
- }
159
- /**
160
- * Updates the user's image.
161
- */
162
- export async function updateUserAwatar(userId, image) {
163
- await db
164
- .update(userTable)
165
- .set({
166
- image,
167
- })
168
- .where(eq(userTable.id, userId));
169
- }
170
- /**
171
- * Updates the user's email and marks it as verified.
172
- */
173
- export async function updateUserEmailAndSetEmailAsVerified(userId, email) {
174
- await db
175
- .update(userTable)
176
- .set({
177
- email: email,
178
- emailVerifiedAt: new Date(),
179
- })
180
- .where(eq(userTable.id, userId));
181
- }
182
- /**
183
- * Sets the user as email verified if the provided email matches.
184
- */
185
- export async function setUserAsEmailVerifiedIfEmailMatches(userId, email) {
186
- const result = await db
187
- .update(userTable)
188
- .set({
189
- emailVerifiedAt: new Date(),
190
- })
191
- .where(and(eq(userTable.id, userId), eq(userTable.email, email)))
192
- .returning({ id: userTable.id });
193
- return result.length > 0;
194
- }
195
- /**
196
- * Returns the user's password hash.
197
- */
198
- export async function getUserPasswordHash(userId) {
199
- const [user] = await db
200
- .select({
201
- password: userTable.password,
202
- })
203
- .from(userTable)
204
- .where(eq(userTable.id, userId));
205
- if (!user) {
206
- throw new Error("User not found");
207
- }
208
- return user.password;
209
- }
210
- /**
211
- * Returns a user by email.
212
- */
213
- export async function getUserFromEmail(email) {
214
- const [user] = await db
215
- .select()
216
- .from(userTable)
217
- .where(eq(userTable.email, email));
218
- if (!user)
219
- return null;
220
- const { password, recovery_code, ...safeUser } = user;
221
- return safeUser;
222
- }
@@ -1,11 +0,0 @@
1
- import type { NodePgDatabase } from "drizzle-orm/node-postgres";
2
- import type * as schema from "./schema";
3
- export type KryoDatabase = NodePgDatabase<typeof schema>;
4
- export declare function injectDb(db: KryoDatabase): void;
5
- /**
6
- * Shared 'db' proxy.
7
- * Resolves to globalThis.__KRYO_DB__ on every property access.
8
- * Safe to import statically at top-level.
9
- */
10
- export declare const db: KryoDatabase;
11
- //# sourceMappingURL=inject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../src/server/database/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAKzD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,YAAY,QAIxC;AAED;;;;GAIG;AACH,eAAO,MAAM,EAAE,cAmBb,CAAC"}
@@ -1,29 +0,0 @@
1
- // Use globalThis to persist the DB across multiple bundles/instances
2
- const globalForDb = globalThis;
3
- export function injectDb(db) {
4
- if (globalForDb.__KRYO_DB__)
5
- return;
6
- console.log("[Kryo:Core] >>> DATABASE INJECTED <<<");
7
- globalForDb.__KRYO_DB__ = db;
8
- }
9
- /**
10
- * Shared 'db' proxy.
11
- * Resolves to globalThis.__KRYO_DB__ on every property access.
12
- * Safe to import statically at top-level.
13
- */
14
- export const db = new Proxy({}, {
15
- get(_, prop) {
16
- var _a;
17
- if (prop === "then")
18
- return undefined;
19
- // Internal Drizzle/Node/Debug checks
20
- if (typeof prop === "symbol" || prop === "inspect" || prop === "toString") {
21
- return (_a = globalForDb.__KRYO_DB__) === null || _a === void 0 ? void 0 : _a[prop];
22
- }
23
- const database = globalForDb.__KRYO_DB__;
24
- if (!database) {
25
- throw new Error(`[Kryo:Core] Database access error: tried to use "db.${String(prop)}" but database is not injected yet. Ensure you call "ensureSystemInitialized()" before using the database.`);
26
- }
27
- return database[prop];
28
- },
29
- });