@arch-cadre/core 0.0.42 → 0.0.44

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 (213) hide show
  1. package/dist/core/auth/augment.d.ts +18 -0
  2. package/dist/core/auth/augment.d.ts.map +1 -0
  3. package/dist/core/auth/augment.js +45 -0
  4. package/dist/core/auth/email-verification.d.ts +58 -0
  5. package/dist/core/auth/email-verification.d.ts.map +1 -0
  6. package/dist/core/auth/email-verification.js +105 -0
  7. package/dist/core/auth/events.d.ts +53 -0
  8. package/dist/core/auth/events.d.ts.map +1 -0
  9. package/dist/core/auth/events.js +1 -0
  10. package/dist/core/auth/logic.d.ts +106 -0
  11. package/dist/core/auth/logic.d.ts.map +1 -0
  12. package/dist/core/auth/logic.js +245 -0
  13. package/dist/core/auth/password-reset.d.ts +35 -0
  14. package/dist/core/auth/password-reset.d.ts.map +1 -0
  15. package/dist/core/auth/password-reset.js +122 -0
  16. package/dist/core/auth/rbac.d.ts +56 -0
  17. package/dist/core/auth/rbac.d.ts.map +1 -0
  18. package/dist/core/auth/rbac.js +134 -0
  19. package/dist/core/auth/session.d.ts +50 -0
  20. package/dist/core/auth/session.d.ts.map +1 -0
  21. package/dist/core/auth/session.js +152 -0
  22. package/dist/core/auth/types.d.ts +52 -0
  23. package/dist/core/auth/types.d.ts.map +1 -0
  24. package/dist/core/auth/types.js +1 -0
  25. package/dist/core/auth/utils/encode.d.ts +12 -0
  26. package/dist/core/auth/utils/encode.d.ts.map +1 -0
  27. package/dist/core/auth/utils/encode.js +20 -0
  28. package/dist/core/auth/utils/{encryption.d.mts → encryption.d.ts} +5 -8
  29. package/dist/core/auth/utils/encryption.d.ts.map +1 -0
  30. package/dist/core/auth/utils/encryption.js +62 -0
  31. package/dist/core/auth/validation.d.ts +44 -0
  32. package/dist/core/auth/validation.d.ts.map +1 -0
  33. package/dist/core/auth/validation.js +41 -0
  34. package/dist/core/bootstrap.d.ts +2 -0
  35. package/dist/core/bootstrap.d.ts.map +1 -0
  36. package/dist/core/bootstrap.js +51 -0
  37. package/dist/core/config.d.ts +9 -0
  38. package/dist/core/config.d.ts.map +1 -0
  39. package/dist/core/config.js +3 -0
  40. package/dist/core/config.server.d.ts +12 -0
  41. package/dist/core/config.server.d.ts.map +1 -0
  42. package/dist/core/config.server.js +61 -0
  43. package/dist/core/event-bus.d.ts +14 -0
  44. package/dist/core/event-bus.d.ts.map +1 -0
  45. package/dist/core/event-bus.js +51 -0
  46. package/dist/core/filesystem/index.d.ts +4 -0
  47. package/dist/core/filesystem/index.d.ts.map +1 -0
  48. package/dist/core/filesystem/index.js +10 -0
  49. package/dist/core/filesystem/providers/local.d.ts +8 -0
  50. package/dist/core/filesystem/providers/local.d.ts.map +1 -0
  51. package/dist/core/filesystem/providers/local.js +42 -0
  52. package/dist/core/filesystem/service.d.ts +16 -0
  53. package/dist/core/filesystem/service.d.ts.map +1 -0
  54. package/dist/core/filesystem/service.js +51 -0
  55. package/dist/core/filesystem/types.d.ts +19 -0
  56. package/dist/core/filesystem/types.d.ts.map +1 -0
  57. package/dist/core/filesystem/types.js +1 -0
  58. package/dist/core/notifications/actions.d.ts +54 -0
  59. package/dist/core/notifications/actions.d.ts.map +1 -0
  60. package/dist/core/notifications/actions.js +43 -0
  61. package/dist/core/notifications/index.d.ts +4 -0
  62. package/dist/core/notifications/index.d.ts.map +1 -0
  63. package/dist/core/notifications/index.js +3 -0
  64. package/dist/core/notifications/service.d.ts +7 -0
  65. package/dist/core/notifications/service.d.ts.map +1 -0
  66. package/dist/core/notifications/service.js +32 -0
  67. package/dist/core/notifications/types.d.ts +17 -0
  68. package/dist/core/notifications/types.d.ts.map +1 -0
  69. package/dist/core/notifications/types.js +1 -0
  70. package/dist/core/setup.d.ts +6 -0
  71. package/dist/core/setup.d.ts.map +1 -0
  72. package/dist/core/setup.js +25 -0
  73. package/dist/core/types.d.ts +10 -0
  74. package/dist/core/types.d.ts.map +1 -0
  75. package/dist/core/types.js +1 -0
  76. package/dist/index.d.ts +8 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +16 -0
  79. package/dist/server/auth/email.d.ts +10 -0
  80. package/dist/server/auth/email.d.ts.map +1 -0
  81. package/dist/server/auth/email.js +20 -0
  82. package/dist/server/auth/{password.d.mts → password.d.ts} +4 -7
  83. package/dist/server/auth/password.d.ts.map +1 -0
  84. package/dist/server/auth/password.js +30 -0
  85. package/dist/server/auth/types.d.ts +13 -0
  86. package/dist/server/auth/types.d.ts.map +1 -0
  87. package/dist/server/auth/types.js +1 -0
  88. package/dist/server/auth/user.d.ts +54 -0
  89. package/dist/server/auth/user.d.ts.map +1 -0
  90. package/dist/server/auth/user.js +222 -0
  91. package/dist/server/database/inject.d.ts +11 -0
  92. package/dist/server/database/inject.d.ts.map +1 -0
  93. package/dist/server/database/inject.js +29 -0
  94. package/dist/server/database/schema.d.ts +2953 -0
  95. package/dist/server/database/{schema.d.mts.map → schema.d.ts.map} +1 -1
  96. package/dist/server/database/schema.js +192 -0
  97. package/dist/server/database/types.d.ts +12 -0
  98. package/dist/server/database/types.d.ts.map +1 -0
  99. package/dist/server/database/types.js +1 -0
  100. package/dist/server/emails/index.d.ts +23 -0
  101. package/dist/server/emails/index.d.ts.map +1 -0
  102. package/dist/server/emails/index.js +67 -0
  103. package/dist/server.d.ts +25 -0
  104. package/dist/server.d.ts.map +1 -0
  105. package/dist/server.js +32 -0
  106. package/package.json +5 -6
  107. package/dist/_virtual/_rolldown/runtime.mjs +0 -1
  108. package/dist/core/auth/augment.d.mts +0 -20
  109. package/dist/core/auth/augment.d.mts.map +0 -1
  110. package/dist/core/auth/augment.mjs +0 -2
  111. package/dist/core/auth/augment.mjs.map +0 -1
  112. package/dist/core/auth/email-verification.d.mts +0 -62
  113. package/dist/core/auth/email-verification.d.mts.map +0 -1
  114. package/dist/core/auth/email-verification.mjs +0 -2
  115. package/dist/core/auth/email-verification.mjs.map +0 -1
  116. package/dist/core/auth/logic.d.mts +0 -110
  117. package/dist/core/auth/logic.d.mts.map +0 -1
  118. package/dist/core/auth/logic.mjs +0 -2
  119. package/dist/core/auth/logic.mjs.map +0 -1
  120. package/dist/core/auth/password-reset.d.mts +0 -39
  121. package/dist/core/auth/password-reset.d.mts.map +0 -1
  122. package/dist/core/auth/password-reset.mjs +0 -2
  123. package/dist/core/auth/password-reset.mjs.map +0 -1
  124. package/dist/core/auth/rbac.d.mts +0 -61
  125. package/dist/core/auth/rbac.d.mts.map +0 -1
  126. package/dist/core/auth/rbac.mjs +0 -2
  127. package/dist/core/auth/rbac.mjs.map +0 -1
  128. package/dist/core/auth/session.d.mts +0 -54
  129. package/dist/core/auth/session.d.mts.map +0 -1
  130. package/dist/core/auth/session.mjs +0 -2
  131. package/dist/core/auth/session.mjs.map +0 -1
  132. package/dist/core/auth/types.d.mts +0 -55
  133. package/dist/core/auth/types.d.mts.map +0 -1
  134. package/dist/core/auth/utils/encode.d.mts +0 -15
  135. package/dist/core/auth/utils/encode.d.mts.map +0 -1
  136. package/dist/core/auth/utils/encode.mjs +0 -2
  137. package/dist/core/auth/utils/encode.mjs.map +0 -1
  138. package/dist/core/auth/utils/encryption.d.mts.map +0 -1
  139. package/dist/core/auth/utils/encryption.mjs +0 -2
  140. package/dist/core/auth/utils/encryption.mjs.map +0 -1
  141. package/dist/core/auth/validation.d.mts +0 -48
  142. package/dist/core/auth/validation.d.mts.map +0 -1
  143. package/dist/core/auth/validation.mjs +0 -2
  144. package/dist/core/auth/validation.mjs.map +0 -1
  145. package/dist/core/bootstrap.d.mts +0 -5
  146. package/dist/core/bootstrap.d.mts.map +0 -1
  147. package/dist/core/bootstrap.mjs +0 -2
  148. package/dist/core/bootstrap.mjs.map +0 -1
  149. package/dist/core/config.d.mts +0 -11
  150. package/dist/core/config.d.mts.map +0 -1
  151. package/dist/core/config.mjs +0 -2
  152. package/dist/core/config.mjs.map +0 -1
  153. package/dist/core/config.server.d.mts +0 -16
  154. package/dist/core/config.server.d.mts.map +0 -1
  155. package/dist/core/config.server.mjs +0 -2
  156. package/dist/core/config.server.mjs.map +0 -1
  157. package/dist/core/event-bus.d.mts +0 -17
  158. package/dist/core/event-bus.d.mts.map +0 -1
  159. package/dist/core/event-bus.mjs +0 -2
  160. package/dist/core/event-bus.mjs.map +0 -1
  161. package/dist/core/filesystem/index.mjs +0 -2
  162. package/dist/core/filesystem/index.mjs.map +0 -1
  163. package/dist/core/filesystem/providers/local.mjs +0 -2
  164. package/dist/core/filesystem/providers/local.mjs.map +0 -1
  165. package/dist/core/filesystem/service.d.mts +0 -19
  166. package/dist/core/filesystem/service.d.mts.map +0 -1
  167. package/dist/core/filesystem/service.mjs +0 -2
  168. package/dist/core/filesystem/service.mjs.map +0 -1
  169. package/dist/core/filesystem/types.d.mts +0 -22
  170. package/dist/core/filesystem/types.d.mts.map +0 -1
  171. package/dist/core/notifications/actions.d.mts +0 -58
  172. package/dist/core/notifications/actions.d.mts.map +0 -1
  173. package/dist/core/notifications/actions.mjs +0 -2
  174. package/dist/core/notifications/actions.mjs.map +0 -1
  175. package/dist/core/notifications/index.mjs +0 -1
  176. package/dist/core/notifications/service.d.mts +0 -9
  177. package/dist/core/notifications/service.d.mts.map +0 -1
  178. package/dist/core/notifications/service.mjs +0 -2
  179. package/dist/core/notifications/service.mjs.map +0 -1
  180. package/dist/core/notifications/types.d.mts +0 -21
  181. package/dist/core/notifications/types.d.mts.map +0 -1
  182. package/dist/core/setup.d.mts +0 -9
  183. package/dist/core/setup.d.mts.map +0 -1
  184. package/dist/core/setup.mjs +0 -2
  185. package/dist/core/setup.mjs.map +0 -1
  186. package/dist/core/types.d.mts +0 -13
  187. package/dist/core/types.d.mts.map +0 -1
  188. package/dist/index.d.mts +0 -8
  189. package/dist/index.mjs +0 -1
  190. package/dist/server/auth/email.d.mts +0 -13
  191. package/dist/server/auth/email.d.mts.map +0 -1
  192. package/dist/server/auth/email.mjs +0 -2
  193. package/dist/server/auth/email.mjs.map +0 -1
  194. package/dist/server/auth/password.d.mts.map +0 -1
  195. package/dist/server/auth/password.mjs +0 -2
  196. package/dist/server/auth/password.mjs.map +0 -1
  197. package/dist/server/auth/user.d.mts +0 -58
  198. package/dist/server/auth/user.d.mts.map +0 -1
  199. package/dist/server/auth/user.mjs +0 -2
  200. package/dist/server/auth/user.mjs.map +0 -1
  201. package/dist/server/database/inject.d.mts +0 -15
  202. package/dist/server/database/inject.d.mts.map +0 -1
  203. package/dist/server/database/inject.mjs +0 -2
  204. package/dist/server/database/inject.mjs.map +0 -1
  205. package/dist/server/database/schema.d.mts +0 -2962
  206. package/dist/server/database/schema.mjs +0 -2
  207. package/dist/server/database/schema.mjs.map +0 -1
  208. package/dist/server/emails/index.d.mts +0 -26
  209. package/dist/server/emails/index.d.mts.map +0 -1
  210. package/dist/server/emails/index.mjs +0 -2
  211. package/dist/server/emails/index.mjs.map +0 -1
  212. package/dist/server.d.mts +0 -26
  213. package/dist/server.mjs +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.mts","names":[],"sources":["../../../src/server/database/schema.ts"],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/server/database/schema.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC"}
@@ -0,0 +1,192 @@
1
+ import { defineRelations, sql } from "drizzle-orm";
2
+ import { boolean, bytea, pgTable, text, timestamp } from "drizzle-orm/pg-core";
3
+ export const userTable = pgTable("users", {
4
+ id: text("id")
5
+ .$defaultFn(() => crypto.randomUUID())
6
+ .notNull()
7
+ .primaryKey(),
8
+ email: text("email").notNull().unique(),
9
+ name: text("name").notNull(),
10
+ password: text("password"),
11
+ image: text("image"),
12
+ recovery_code: bytea("recovery_code").notNull(),
13
+ emailVerifiedAt: timestamp("email_verified_at", { precision: 3 }),
14
+ createdAt: timestamp("created_at", { precision: 3 }).notNull().defaultNow(),
15
+ updatedAt: timestamp("updated_at", { precision: 3 }),
16
+ });
17
+ export const rolesTable = pgTable("roles", {
18
+ id: text("id")
19
+ .$defaultFn(() => crypto.randomUUID())
20
+ .notNull()
21
+ .primaryKey(),
22
+ name: text("name").notNull().unique(), // np. "admin", "user"
23
+ description: text("description"),
24
+ });
25
+ export const permissionsTable = pgTable("permissions", {
26
+ id: text("id")
27
+ .$defaultFn(() => crypto.randomUUID())
28
+ .notNull()
29
+ .primaryKey(),
30
+ name: text("name").notNull().unique(), // np. "blog:write"
31
+ description: text("description"),
32
+ });
33
+ export const usersToRolesTable = pgTable("users_to_roles", {
34
+ userId: text("user_id")
35
+ .notNull()
36
+ .references(() => userTable.id, { onDelete: "cascade" }),
37
+ roleId: text("role_id")
38
+ .notNull()
39
+ .references(() => rolesTable.id, { onDelete: "cascade" }),
40
+ }, (t) => [{ pk: sql `PRIMARY KEY (${t.userId}, ${t.roleId})` }]);
41
+ export const usersToPermissionsTable = pgTable("users_to_permissions", {
42
+ userId: text("user_id")
43
+ .notNull()
44
+ .references(() => userTable.id, { onDelete: "cascade" }),
45
+ permissionId: text("permission_id")
46
+ .notNull()
47
+ .references(() => permissionsTable.id, { onDelete: "cascade" }),
48
+ }, (t) => [{ pk: sql `PRIMARY KEY (${t.userId}, ${t.permissionId})` }]);
49
+ export const rolesToPermissionsTable = pgTable("roles_to_permissions", {
50
+ roleId: text("role_id")
51
+ .notNull()
52
+ .references(() => rolesTable.id, { onDelete: "cascade" }),
53
+ permissionId: text("permission_id")
54
+ .notNull()
55
+ .references(() => permissionsTable.id, { onDelete: "cascade" }),
56
+ }, (t) => [{ pk: sql `PRIMARY KEY (${t.roleId}, ${t.permissionId})` }]);
57
+ export const sessionTable = pgTable("sessions", {
58
+ id: text("id")
59
+ .$defaultFn(() => crypto.randomUUID())
60
+ .notNull()
61
+ .primaryKey(),
62
+ active_organization_id: text("active_organization_id"),
63
+ userId: text("user_id")
64
+ .notNull()
65
+ .references(() => userTable.id, {
66
+ onDelete: "cascade",
67
+ onUpdate: "cascade",
68
+ }),
69
+ expiresAt: timestamp("expires_at", { precision: 3 }).notNull(),
70
+ createdAt: timestamp("created_at", { precision: 3 }).notNull().defaultNow(),
71
+ updatedAt: timestamp("updated_at", { precision: 3 }),
72
+ });
73
+ export const emailVerificationTable = pgTable("email_verification_requests", {
74
+ id: text("id")
75
+ .$defaultFn(() => crypto.randomUUID())
76
+ .notNull()
77
+ .primaryKey(),
78
+ email: text("email").notNull(),
79
+ code: text("code").notNull(),
80
+ userId: text("user_id")
81
+ .notNull()
82
+ .references(() => userTable.id, {
83
+ onDelete: "cascade",
84
+ onUpdate: "cascade",
85
+ }),
86
+ expiresAt: timestamp("expires_at", { precision: 3 }).notNull(),
87
+ createdAt: timestamp("created_at", { precision: 3 }).notNull().defaultNow(),
88
+ updatedAt: timestamp("updated_at", { precision: 3 }),
89
+ });
90
+ export const passwordResetSessionTable = pgTable("password_reset_sessions", {
91
+ id: text("id")
92
+ .$defaultFn(() => crypto.randomUUID())
93
+ .notNull()
94
+ .primaryKey(),
95
+ email: text("email").notNull(),
96
+ code: text("code").notNull(),
97
+ emailVerified: boolean("emailVerified").default(false),
98
+ userId: text("user_id")
99
+ .notNull()
100
+ .references(() => userTable.id, {
101
+ onDelete: "cascade",
102
+ onUpdate: "cascade",
103
+ }),
104
+ expiresAt: timestamp("expires_at", { precision: 3 }).notNull(),
105
+ createdAt: timestamp("created_at", { precision: 3 }).notNull().defaultNow(),
106
+ updatedAt: timestamp("updated_at", { precision: 3 }),
107
+ });
108
+ export const notificationTable = pgTable("notification", {
109
+ id: text("id")
110
+ .$defaultFn(() => crypto.randomUUID())
111
+ .notNull()
112
+ .primaryKey(),
113
+ title: text("title").notNull(),
114
+ content: text("content"),
115
+ target: text("target"),
116
+ type: text("type"),
117
+ isRead: boolean("isRead").notNull(),
118
+ resourceId: text("resource_id"),
119
+ resourceType: text("resource_type"),
120
+ userId: text("user_id")
121
+ .notNull()
122
+ .references(() => userTable.id, {
123
+ onDelete: "cascade",
124
+ onUpdate: "cascade",
125
+ }),
126
+ createdAt: timestamp("created_at", { precision: 3 }).notNull().defaultNow(),
127
+ updatedAt: timestamp("updated_at", { precision: 3 }),
128
+ });
129
+ export const systemModulesTable = pgTable("system_modules", {
130
+ id: text("id").notNull().primaryKey(),
131
+ enabled: boolean("enabled").notNull().default(false),
132
+ installed: boolean("installed").notNull().default(false),
133
+ deleted: boolean("deleted").notNull().default(false),
134
+ system: boolean("system").notNull().default(false),
135
+ config: text("config"),
136
+ lastStep: text("last_step"), // Przechowuje aktualny etap (np. "Syncing DB")
137
+ updatedAt: timestamp("updated_at", { precision: 3 }).defaultNow(),
138
+ });
139
+ export const relations = defineRelations({
140
+ user: userTable,
141
+ emailVerification: emailVerificationTable,
142
+ passwordResetSession: passwordResetSessionTable,
143
+ session: sessionTable,
144
+ notification: notificationTable,
145
+ systemModulesTable: systemModulesTable,
146
+ }, (r) => ({
147
+ user: {
148
+ sessions: r.many.session({
149
+ from: r.user.id,
150
+ to: r.session.userId,
151
+ }),
152
+ emailVerification: r.many.emailVerification({
153
+ from: r.user.id,
154
+ to: r.emailVerification.userId,
155
+ }),
156
+ passwordResetSession: r.many.passwordResetSession({
157
+ from: r.user.id,
158
+ to: r.passwordResetSession.userId,
159
+ }),
160
+ },
161
+ session: {
162
+ user: r.one.user({
163
+ from: r.session.userId,
164
+ to: r.user.id,
165
+ }),
166
+ },
167
+ emailVerification: {
168
+ user: r.one.user({
169
+ from: r.emailVerification.userId,
170
+ to: r.user.id,
171
+ }),
172
+ },
173
+ passwordResetSession: {
174
+ user: r.one.user({
175
+ from: r.passwordResetSession.userId,
176
+ to: r.user.id,
177
+ }),
178
+ },
179
+ }));
180
+ export const coreSchema = {
181
+ userTable,
182
+ rolesTable,
183
+ permissionsTable,
184
+ usersToRolesTable,
185
+ usersToPermissionsTable,
186
+ rolesToPermissionsTable,
187
+ sessionTable,
188
+ emailVerificationTable,
189
+ passwordResetSessionTable,
190
+ notificationTable,
191
+ systemModulesTable,
192
+ };
@@ -0,0 +1,12 @@
1
+ import type { emailVerificationTable, notificationTable, passwordResetSessionTable, sessionTable, userTable } from "./schema";
2
+ export type User = typeof userTable.$inferSelect;
3
+ export type AddUser = typeof userTable.$inferInsert;
4
+ export type Session = typeof sessionTable.$inferSelect;
5
+ export type AddSession = typeof sessionTable.$inferInsert;
6
+ export type Notification = typeof notificationTable.$inferSelect;
7
+ export type AddNotification = typeof notificationTable.$inferInsert;
8
+ export type EmailVerificationRequest = typeof emailVerificationTable.$inferSelect;
9
+ export type AddEmailVerificationRequest = typeof emailVerificationTable.$inferInsert;
10
+ export type PasswordResetSession = typeof passwordResetSessionTable.$inferSelect;
11
+ export type AddPasswordResetSession = typeof passwordResetSessionTable.$inferInsert;
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACV,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,IAAI,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AAEpE,MAAM,MAAM,wBAAwB,GAClC,OAAO,sBAAsB,CAAC,YAAY,CAAC;AAC7C,MAAM,MAAM,2BAA2B,GACrC,OAAO,sBAAsB,CAAC,YAAY,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAC9B,OAAO,yBAAyB,CAAC,YAAY,CAAC;AAChD,MAAM,MAAM,uBAAuB,GACjC,OAAO,yBAAyB,CAAC,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Sends an email with a verification link.
3
+ * @param email Recipient's email address.
4
+ * @param code Verification code.
5
+ */
6
+ export declare function sendVerifyEmail(email: string, code: string): Promise<void>;
7
+ /**
8
+ * Sends an email with a password reset link.
9
+ * @param email Recipient's email address.
10
+ * @param code Password reset code.
11
+ */
12
+ export declare function sendResetPassword(email: string, code: string): Promise<void>;
13
+ /**
14
+ * Sends an email with a recovery code.
15
+ * @param email Recipient's email address.
16
+ * @param recoveryCode Recovery code
17
+ */
18
+ export declare function sendRecoveryCode(email: string, recoveryCode: string): Promise<void>;
19
+ /**
20
+ * Sends a 2FA code via email.
21
+ */
22
+ export declare function send2FACode(email: string, code: string): Promise<void>;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/emails/index.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAQhE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAQlE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAQzE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAW5D"}
@@ -0,0 +1,67 @@
1
+ "use server";
2
+ // import nodemailer from "nodemailer";
3
+ // Konfiguracja transportera SMTP
4
+ // const transporter = nodemailer.createTransport({
5
+ // service: "gmail",
6
+ // auth: {
7
+ // user: process.env.GOOGLE_SMTP_APP_USERNAME,
8
+ // pass: process.env.GOOGLE_SMTP_APP_PASSWORD,
9
+ // },
10
+ // });
11
+ /**
12
+ * Sends an email with a verification link.
13
+ * @param email Recipient's email address.
14
+ * @param code Verification code.
15
+ */
16
+ export async function sendVerifyEmail(email, code) {
17
+ // const { t } = await getTranslation();
18
+ // await transporter.sendMail({
19
+ // from: `Winkly <${process.env.GOOGLE_SMTP_APP_USERNAME}>`,
20
+ // to: email,
21
+ // subject: t("Verify Email"),
22
+ // text: t("Verify your email address with your code: {{ code }}", { code }),
23
+ // });
24
+ }
25
+ /**
26
+ * Sends an email with a password reset link.
27
+ * @param email Recipient's email address.
28
+ * @param code Password reset code.
29
+ */
30
+ export async function sendResetPassword(email, code) {
31
+ // const { t } = await getTranslation();
32
+ // await transporter.sendMail({
33
+ // from: `Winkly <${process.env.GOOGLE_SMTP_APP_USERNAME}>`,
34
+ // to: email,
35
+ // subject: t("Password Reset"),
36
+ // text: t("Verify password reset with code: {{ code }}", { code }),
37
+ // });
38
+ }
39
+ /**
40
+ * Sends an email with a recovery code.
41
+ * @param email Recipient's email address.
42
+ * @param recoveryCode Recovery code
43
+ */
44
+ export async function sendRecoveryCode(email, recoveryCode) {
45
+ // const { t } = await getTranslation();
46
+ // await transporter.sendMail({
47
+ // from: `Winkly <${process.env.GOOGLE_SMTP_APP_USERNAME}>`,
48
+ // to: email,
49
+ // subject: t("Recovery Code"),
50
+ // text: t("Your recovery code is: {{ recoveryCode }}", { recoveryCode }),
51
+ // });
52
+ }
53
+ /**
54
+ * Sends a 2FA code via email.
55
+ */
56
+ export async function send2FACode(email, code) {
57
+ // const { t } = await getTranslation();
58
+ // await transporter.sendMail({
59
+ // from: `Winkly <${process.env.GOOGLE_SMTP_APP_USERNAME}>`,
60
+ // to: email,
61
+ // subject: t("Your 2FA Code"),
62
+ // text: t(
63
+ // "Your verification code is: {{ code }}. It will expire in 10 minutes.",
64
+ // { code },
65
+ // ),
66
+ // });
67
+ }
@@ -0,0 +1,25 @@
1
+ export * from "./core/auth/email-verification";
2
+ export * from "./core/auth/logic";
3
+ export * from "./core/auth/password-reset";
4
+ export * from "./core/auth/rbac";
5
+ export * from "./core/auth/session";
6
+ export * from "./core/auth/types";
7
+ export * from "./core/auth/utils/encode";
8
+ export * from "./core/auth/utils/encryption";
9
+ export * from "./core/auth/validation";
10
+ export * from "./core/bootstrap";
11
+ export * from "./core/config.server";
12
+ export * from "./core/event-bus";
13
+ export * from "./core/filesystem/service";
14
+ export * from "./core/filesystem/types";
15
+ export * from "./core/notifications/actions";
16
+ export * from "./core/notifications/types";
17
+ export * from "./core/setup";
18
+ export * from "./core/types";
19
+ export * from "./server/auth/email";
20
+ export * from "./server/auth/password";
21
+ export * from "./server/auth/user";
22
+ export * from "./server/database/inject";
23
+ export * from "./server/database/schema";
24
+ export * from "./server/emails/index";
25
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AAKxC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
package/dist/server.js ADDED
@@ -0,0 +1,32 @@
1
+ // Server-side Logic (DB, Filesystem, Auth)
2
+ export * from "./core/auth/email-verification";
3
+ export * from "./core/auth/logic";
4
+ export * from "./core/auth/password-reset";
5
+ export * from "./core/auth/rbac";
6
+ export * from "./core/auth/session";
7
+ // Shared exports (from types/common logic)
8
+ export * from "./core/auth/types";
9
+ export * from "./core/auth/utils/encode";
10
+ export * from "./core/auth/utils/encryption";
11
+ export * from "./core/auth/validation";
12
+ export * from "./core/bootstrap";
13
+ export * from "./core/config.server";
14
+ export * from "./core/event-bus";
15
+ export * from "./core/filesystem/service";
16
+ export * from "./core/filesystem/types";
17
+ // export * from "./core/modules/lifecycle";
18
+ // export * from "./core/modules/manage";
19
+ // export * from "./core/modules/registry";
20
+ // export * from "./core/modules/ui";
21
+ export * from "./core/notifications/actions";
22
+ // export * from "./core/modules/types";
23
+ export * from "./core/notifications/types";
24
+ export * from "./core/setup";
25
+ export * from "./core/types";
26
+ // Server specific database exports
27
+ export * from "./server/auth/email";
28
+ export * from "./server/auth/password";
29
+ export * from "./server/auth/user";
30
+ export * from "./server/database/inject";
31
+ export * from "./server/database/schema";
32
+ export * from "./server/emails/index";
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@arch-cadre/core",
3
- "version": "0.0.42",
3
+ "version": "0.0.44",
4
4
  "type": "module",
5
5
  "description": "Core logic for Kryo framework",
6
6
  "types": "./dist/index.d.ts",
7
+ "module": "./dist/index.js",
7
8
  "exports": {
8
- ".": "./dist/index.mjs",
9
- "./server": "./dist/server.mjs",
9
+ ".": "./dist/index.js",
10
+ "./server": "./dist/server.js",
10
11
  "./package.json": "./package.json"
11
12
  },
12
13
  "files": [
@@ -17,10 +18,8 @@
17
18
  "switch:dev": "node scripts/switchToSrc.js",
18
19
  "switch:prod": "node scripts/switchToDist.js",
19
20
  "release": "npm publish --access public --no-git-checks",
20
- "dev:unbuild": "unbuild --stub",
21
- "build:unbuild": "unbuild",
22
21
  "dev": "tsdown --watch",
23
- "build": "tsdown"
22
+ "build": "pnpm clean && tsc --module esnext"
24
23
  },
25
24
  "dependencies": {
26
25
  "@oslojs/binary": "^1.0.0",
@@ -1 +0,0 @@
1
- var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{t as __exportAll};
@@ -1,20 +0,0 @@
1
- import { FullUser, PasswordResetSession, Session, User } from "./types.mjs";
2
-
3
- //#region src/core/auth/augment.d.ts
4
- /**
5
- * REGISTRIES FOR MODULAR EXTENSIONS
6
- */
7
- type IdentityAugmenter = (user: User) => Promise<Partial<FullUser>>;
8
- type SessionAugmenter = (session: Session) => Promise<Partial<Session>>;
9
- type PasswordResetSessionAugmenter = (session: PasswordResetSession) => Promise<Partial<PasswordResetSession>>;
10
- declare function registerIdentityAugmenter(augmenter: IdentityAugmenter): void;
11
- declare function registerSessionAugmenter(augmenter: SessionAugmenter): void;
12
- declare function registerPasswordResetSessionAugmenter(augmenter: PasswordResetSessionAugmenter): void;
13
- /**
14
- * EXECUTION FUNCTIONS
15
- */
16
- declare function augmentUser(user: User, coreRbacData?: Record<string, any>): Promise<FullUser>;
17
- declare function augmentSession(session: Session): Promise<Session>;
18
- //#endregion
19
- export { augmentSession, augmentUser, registerIdentityAugmenter, registerPasswordResetSessionAugmenter, registerSessionAugmenter };
20
- //# sourceMappingURL=augment.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"augment.d.mts","names":[],"sources":["../../../src/core/auth/augment.ts"],"mappings":";;;;;AAA6E;KAMxE,iBAAA,IAAqB,IAAA,EAAM,IAAA,KAAS,OAAA,CAAQ,OAAA,CAAQ,QAAA;AAAA,KACpD,gBAAA,IAAoB,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,OAAA,CAAQ,OAAA;AAAA,KACzD,6BAAA,IACH,OAAA,EAAS,oBAAA,KACN,OAAA,CAAQ,OAAA,CAAQ,oBAAA;AAAA,iBAuBL,yBAAA,CAA0B,SAAA,EAAW,iBAAA;AAAA,iBAIrC,wBAAA,CAAyB,SAAA,EAAW,gBAAA;AAAA,iBAIpC,qCAAA,CACd,SAAA,EAAW,6BAAA;;;;iBAQS,WAAA,CACpB,IAAA,EAAM,IAAA,EACN,YAAA,GAAe,MAAA,gBACd,OAAA,CAAQ,QAAA;AAAA,iBASW,cAAA,CAAe,OAAA,EAAS,OAAA,GAAU,OAAA,CAAQ,OAAA"}
@@ -1,2 +0,0 @@
1
- const e=globalThis,t=e.__KRYO_IDENTITY_AUGMENTERS__??new Set,n=e.__KRYO_SESSION_AUGMENTERS__??new Set,r=e.__KRYO_PASSWORD_RESET_SESSION_AUGMENTERS__??new Set;e.__KRYO_IDENTITY_AUGMENTERS__=t,e.__KRYO_SESSION_AUGMENTERS__=n,e.__KRYO_PASSWORD_RESET_SESSION_AUGMENTERS__=r;function i(e){t.add(e)}function a(e){n.add(e)}function o(e){r.add(e)}async function s(e,n){let r=n||{};for(let n of t){let t=await n(e);r={...r,...t}}return{...e,...r}}async function c(e){let t={};for(let r of n){let n=await r(e);t={...t,...n}}return{...e,...t}}async function l(e){let t={};for(let n of r){let r=await n(e);t={...t,...r}}return{...e,...t}}export{l as augmentPasswordResetSession,c as augmentSession,s as augmentUser,i as registerIdentityAugmenter,o as registerPasswordResetSessionAugmenter,a as registerSessionAugmenter};
2
- //# sourceMappingURL=augment.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"augment.mjs","names":[],"sources":["../../../src/core/auth/augment.ts"],"sourcesContent":["import type { FullUser, PasswordResetSession, Session, User } from \"./types\";\n\n/**\n * REGISTRIES FOR MODULAR EXTENSIONS\n */\n\ntype IdentityAugmenter = (user: User) => Promise<Partial<FullUser>>;\ntype SessionAugmenter = (session: Session) => Promise<Partial<Session>>;\ntype PasswordResetSessionAugmenter = (\n session: PasswordResetSession,\n) => Promise<Partial<PasswordResetSession>>;\n\nconst globalForAugment = globalThis as unknown as {\n __KRYO_IDENTITY_AUGMENTERS__: Set<IdentityAugmenter> | undefined;\n __KRYO_SESSION_AUGMENTERS__: Set<SessionAugmenter> | undefined;\n __KRYO_PASSWORD_RESET_SESSION_AUGMENTERS__:\n | Set<PasswordResetSessionAugmenter>\n | undefined;\n};\n\nconst identityAugmenters =\n globalForAugment.__KRYO_IDENTITY_AUGMENTERS__ ?? new Set<IdentityAugmenter>();\nconst sessionAugmenters =\n globalForAugment.__KRYO_SESSION_AUGMENTERS__ ?? new Set<SessionAugmenter>();\nconst passwordResetSessionAugmenters =\n globalForAugment.__KRYO_PASSWORD_RESET_SESSION_AUGMENTERS__ ??\n new Set<PasswordResetSessionAugmenter>();\n\nglobalForAugment.__KRYO_IDENTITY_AUGMENTERS__ = identityAugmenters;\nglobalForAugment.__KRYO_SESSION_AUGMENTERS__ = sessionAugmenters;\nglobalForAugment.__KRYO_PASSWORD_RESET_SESSION_AUGMENTERS__ =\n passwordResetSessionAugmenters;\n\nexport function registerIdentityAugmenter(augmenter: IdentityAugmenter) {\n identityAugmenters.add(augmenter);\n}\n\nexport function registerSessionAugmenter(augmenter: SessionAugmenter) {\n sessionAugmenters.add(augmenter);\n}\n\nexport function registerPasswordResetSessionAugmenter(\n augmenter: PasswordResetSessionAugmenter,\n) {\n passwordResetSessionAugmenters.add(augmenter);\n}\n\n/**\n * EXECUTION FUNCTIONS\n */\nexport async function augmentUser(\n user: User,\n coreRbacData?: Record<string, any>,\n): Promise<FullUser> {\n let augmentedData = coreRbacData || {};\n for (const augmenter of identityAugmenters) {\n const data = await augmenter(user);\n augmentedData = { ...augmentedData, ...data };\n }\n return { ...user, ...augmentedData } as FullUser;\n}\n\nexport async function augmentSession(session: Session): Promise<Session> {\n let augmentedData = {};\n for (const augmenter of sessionAugmenters) {\n const data = await augmenter(session);\n augmentedData = { ...augmentedData, ...data };\n }\n return { ...session, ...augmentedData } as Session;\n}\n\nexport async function augmentPasswordResetSession(\n session: PasswordResetSession,\n): Promise<PasswordResetSession> {\n let augmentedData = {};\n for (const augmenter of passwordResetSessionAugmenters) {\n const data = await augmenter(session);\n augmentedData = { ...augmentedData, ...data };\n }\n return { ...session, ...augmentedData } as PasswordResetSession;\n}\n"],"mappings":"AAYA,MAAM,EAAmB,WAQnB,EACJ,EAAiB,8BAAgC,IAAI,IACjD,EACJ,EAAiB,6BAA+B,IAAI,IAChD,EACJ,EAAiB,4CACjB,IAAI,IAEN,EAAiB,6BAA+B,EAChD,EAAiB,4BAA8B,EAC/C,EAAiB,2CACf,EAEF,SAAgB,EAA0B,EAA8B,CACtE,EAAmB,IAAI,EAAU,CAGnC,SAAgB,EAAyB,EAA6B,CACpE,EAAkB,IAAI,EAAU,CAGlC,SAAgB,EACd,EACA,CACA,EAA+B,IAAI,EAAU,CAM/C,eAAsB,EACpB,EACA,EACmB,CACnB,IAAI,EAAgB,GAAgB,EAAE,CACtC,IAAK,IAAM,KAAa,EAAoB,CAC1C,IAAM,EAAO,MAAM,EAAU,EAAK,CAClC,EAAgB,CAAE,GAAG,EAAe,GAAG,EAAM,CAE/C,MAAO,CAAE,GAAG,EAAM,GAAG,EAAe,CAGtC,eAAsB,EAAe,EAAoC,CACvE,IAAI,EAAgB,EAAE,CACtB,IAAK,IAAM,KAAa,EAAmB,CACzC,IAAM,EAAO,MAAM,EAAU,EAAQ,CACrC,EAAgB,CAAE,GAAG,EAAe,GAAG,EAAM,CAE/C,MAAO,CAAE,GAAG,EAAS,GAAG,EAAe,CAGzC,eAAsB,EACpB,EAC+B,CAC/B,IAAI,EAAgB,EAAE,CACtB,IAAK,IAAM,KAAa,EAAgC,CACtD,IAAM,EAAO,MAAM,EAAU,EAAQ,CACrC,EAAgB,CAAE,GAAG,EAAe,GAAG,EAAM,CAE/C,MAAO,CAAE,GAAG,EAAS,GAAG,EAAe"}
@@ -1,62 +0,0 @@
1
- import { emailVerificationTable } from "../../server/database/schema.mjs";
2
-
3
- //#region src/core/auth/email-verification.d.ts
4
- /**
5
- * Register Email Verification as a Core Security Requirement.
6
- */
7
- declare function initEmailVerification(): Promise<void>;
8
- /**
9
- * Retrieves a specific email verification request for a user.
10
- */
11
- declare function getUserEmailVerificationRequest(userId: string, id: string): Promise<{
12
- id: string;
13
- email: string;
14
- code: string;
15
- userId: string;
16
- expiresAt: Date;
17
- createdAt: Date;
18
- updatedAt: Date | null;
19
- }>;
20
- /**
21
- * Creates a new email verification request, deleting any existing one for the user.
22
- */
23
- declare function createEmailVerificationRequest(userId: string, email: string): Promise<{
24
- email: string;
25
- code: string;
26
- id: string;
27
- createdAt: Date;
28
- updatedAt: Date | null;
29
- userId: string;
30
- expiresAt: Date;
31
- }>;
32
- /**
33
- * Deletes all email verification requests for a user.
34
- */
35
- declare function deleteUserEmailVerificationRequest(userId: string): Promise<void>;
36
- /**
37
- * Sends a verification email with the OTP code.
38
- */
39
- declare function sendVerificationEmail(email: string, code: string): Promise<void>;
40
- /**
41
- * Sets the email verification request ID in a cookie.
42
- */
43
- declare function setEmailVerificationRequestCookie(request: typeof emailVerificationTable.$inferSelect): Promise<void>;
44
- /**
45
- * Removes the email verification request cookie.
46
- */
47
- declare function deleteEmailVerificationRequestCookie(): Promise<void>;
48
- /**
49
- * Retrieves the current email verification request based on session and cookie.
50
- */
51
- declare function getUserEmailVerificationRequestFromRequest(): Promise<{
52
- id: string;
53
- email: string;
54
- code: string;
55
- userId: string;
56
- expiresAt: Date;
57
- createdAt: Date;
58
- updatedAt: Date | null;
59
- } | null>;
60
- //#endregion
61
- export { createEmailVerificationRequest, deleteEmailVerificationRequestCookie, deleteUserEmailVerificationRequest, getUserEmailVerificationRequest, getUserEmailVerificationRequestFromRequest, initEmailVerification, sendVerificationEmail, setEmailVerificationRequestCookie };
62
- //# sourceMappingURL=email-verification.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-verification.d.mts","names":[],"sources":["../../../src/core/auth/email-verification.ts"],"mappings":";;;;;AAeA;iBAAsB,qBAAA,CAAA,GAAqB,OAAA;;;;iBAerB,+BAAA,CACpB,MAAA,UACA,EAAA,WAAU,OAAA;;;;;;;;;;;;iBAkBU,8BAAA,CACpB,MAAA,UACA,KAAA,WAAa,OAAA;;;;;;;;;;;;iBAsBO,kCAAA,CACpB,MAAA,WACC,OAAA;;;;iBASmB,qBAAA,CACpB,KAAA,UACA,IAAA,WACC,OAAA;;;;iBAOmB,iCAAA,CACpB,OAAA,SAAgB,sBAAA,CAAuB,YAAA,GACtC,OAAA;;;;iBAemB,oCAAA,CAAA,GAAwC,OAAA;;;;iBAQxC,0CAAA,CAAA,GAA0C,OAAA"}
@@ -1,2 +0,0 @@
1
- "use server";import{db as e}from"../../server/database/inject.mjs";import{emailVerificationTable as t}from"../../server/database/schema.mjs";import{generateRandomOTP as n}from"./utils/encode.mjs";import{sendVerifyEmail as r}from"../../server/emails/index.mjs";import{registerSecurityRequirement as i}from"./logic.mjs";import{getCurrentSession as a}from"./session.mjs";import{and as o,eq as s}from"drizzle-orm";import{addHours as c}from"date-fns";import{cookies as l}from"next/headers";async function u(){i(async(e,t)=>t.emailVerifiedAt?{satisfied:!0}:{satisfied:!1,redirect:`/verify-email?unverified`})}async function d(n,r){let[i]=await e.select().from(t).where(o(s(t.id,r),s(t.userId,n)));return i}async function f(r,i){await p(r);let a=n(),[o]=await e.insert(t).values({userId:r,code:a,email:i,expiresAt:new Date(c(new Date,1))}).returning();return o}async function p(n){await e.delete(t).where(s(t.userId,n))}async function m(e,t){await r(e,t)}async function h(e){(await l()).set(`email_verification`,e.id,{httpOnly:!0,path:`/`,secure:process.env.NODE_ENV===`production`,sameSite:`lax`,expires:e.expiresAt})}async function g(){(await l()).delete(`email_verification`)}async function _(){let{user:e}=await a();if(!e)return null;let t=(await l()).get(`email_verification`)?.value??null;if(!t)return null;let n=await d(e.id,t);return n||await g(),n}export{f as createEmailVerificationRequest,g as deleteEmailVerificationRequestCookie,p as deleteUserEmailVerificationRequest,d as getUserEmailVerificationRequest,_ as getUserEmailVerificationRequestFromRequest,u as initEmailVerification,m as sendVerificationEmail,h as setEmailVerificationRequestCookie};
2
- //# sourceMappingURL=email-verification.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-verification.mjs","names":[],"sources":["../../../src/core/auth/email-verification.ts"],"sourcesContent":["\"use server\";\n\nimport { addHours } from \"date-fns\";\nimport { and, eq } from \"drizzle-orm\";\nimport { cookies } from \"next/headers\";\nimport { db } from \"../../server/database/inject\";\nimport { emailVerificationTable } from \"../../server/database/schema\";\nimport { sendVerifyEmail } from \"../../server/emails/index\";\nimport { registerSecurityRequirement } from \"./logic\";\nimport { getCurrentSession } from \"./session\";\nimport { generateRandomOTP } from \"./utils/encode\";\n\n/**\n * Register Email Verification as a Core Security Requirement.\n */\nexport async function initEmailVerification() {\n registerSecurityRequirement(async (_session, user) => {\n if (!user.emailVerifiedAt) {\n return {\n satisfied: false,\n redirect: \"/verify-email?unverified\",\n };\n }\n return { satisfied: true };\n });\n}\n\n/**\n * Retrieves a specific email verification request for a user.\n */\nexport async function getUserEmailVerificationRequest(\n userId: string,\n id: string,\n) {\n const [session] = await db\n .select()\n .from(emailVerificationTable)\n .where(\n and(\n eq(emailVerificationTable.id, id),\n eq(emailVerificationTable.userId, userId),\n ),\n );\n\n return session;\n}\n\n/**\n * Creates a new email verification request, deleting any existing one for the user.\n */\nexport async function createEmailVerificationRequest(\n userId: string,\n email: string,\n) {\n await deleteUserEmailVerificationRequest(userId);\n\n const code = generateRandomOTP();\n\n const [verificationRequest] = await db\n .insert(emailVerificationTable)\n .values({\n userId,\n code,\n email,\n expiresAt: new Date(addHours(new Date(), 1)),\n })\n .returning();\n\n return verificationRequest;\n}\n\n/**\n * Deletes all email verification requests for a user.\n */\nexport async function deleteUserEmailVerificationRequest(\n userId: string,\n): Promise<void> {\n await db\n .delete(emailVerificationTable)\n .where(eq(emailVerificationTable.userId, userId));\n}\n\n/**\n * Sends a verification email with the OTP code.\n */\nexport async function sendVerificationEmail(\n email: string,\n code: string,\n): Promise<void> {\n await sendVerifyEmail(email, code);\n}\n\n/**\n * Sets the email verification request ID in a cookie.\n */\nexport async function setEmailVerificationRequestCookie(\n request: typeof emailVerificationTable.$inferSelect,\n): Promise<void> {\n const cookieStore = await cookies();\n\n cookieStore.set(\"email_verification\", request.id, {\n httpOnly: true,\n path: \"/\",\n secure: process.env.NODE_ENV === \"production\",\n sameSite: \"lax\",\n expires: request.expiresAt,\n });\n}\n\n/**\n * Removes the email verification request cookie.\n */\nexport async function deleteEmailVerificationRequestCookie(): Promise<void> {\n const cookieStore = await cookies();\n cookieStore.delete(\"email_verification\");\n}\n\n/**\n * Retrieves the current email verification request based on session and cookie.\n */\nexport async function getUserEmailVerificationRequestFromRequest() {\n const { user } = await getCurrentSession();\n\n if (!user) {\n return null;\n }\n\n const cookieStore = await cookies();\n const id = cookieStore.get(\"email_verification\")?.value ?? null;\n\n if (!id) {\n return null;\n }\n\n const request = await getUserEmailVerificationRequest(user.id, id);\n\n if (!request) {\n await deleteEmailVerificationRequestCookie();\n }\n\n return request;\n}\n"],"mappings":"qeAeA,eAAsB,GAAwB,CAC5C,EAA4B,MAAO,EAAU,IACtC,EAAK,gBAMH,CAAE,UAAW,GAAM,CALjB,CACL,UAAW,GACX,SAAU,2BACX,CAGH,CAMJ,eAAsB,EACpB,EACA,EACA,CACA,GAAM,CAAC,GAAW,MAAM,EACrB,QAAQ,CACR,KAAK,EAAuB,CAC5B,MACC,EACE,EAAG,EAAuB,GAAI,EAAG,CACjC,EAAG,EAAuB,OAAQ,EAAO,CAC1C,CACF,CAEH,OAAO,EAMT,eAAsB,EACpB,EACA,EACA,CACA,MAAM,EAAmC,EAAO,CAEhD,IAAM,EAAO,GAAmB,CAE1B,CAAC,GAAuB,MAAM,EACjC,OAAO,EAAuB,CAC9B,OAAO,CACN,SACA,OACA,QACA,UAAW,IAAI,KAAK,EAAS,IAAI,KAAQ,EAAE,CAAC,CAC7C,CAAC,CACD,WAAW,CAEd,OAAO,EAMT,eAAsB,EACpB,EACe,CACf,MAAM,EACH,OAAO,EAAuB,CAC9B,MAAM,EAAG,EAAuB,OAAQ,EAAO,CAAC,CAMrD,eAAsB,EACpB,EACA,EACe,CACf,MAAM,EAAgB,EAAO,EAAK,CAMpC,eAAsB,EACpB,EACe,EACK,MAAM,GAAS,EAEvB,IAAI,qBAAsB,EAAQ,GAAI,CAChD,SAAU,GACV,KAAM,IACN,OAAQ,QAAQ,IAAI,WAAa,aACjC,SAAU,MACV,QAAS,EAAQ,UAClB,CAAC,CAMJ,eAAsB,GAAsD,EACtD,MAAM,GAAS,EACvB,OAAO,qBAAqB,CAM1C,eAAsB,GAA6C,CACjE,GAAM,CAAE,QAAS,MAAM,GAAmB,CAE1C,GAAI,CAAC,EACH,OAAO,KAIT,IAAM,GADc,MAAM,GAAS,EACZ,IAAI,qBAAqB,EAAE,OAAS,KAE3D,GAAI,CAAC,EACH,OAAO,KAGT,IAAM,EAAU,MAAM,EAAgC,EAAK,GAAI,EAAG,CAMlE,OAJK,GACH,MAAM,GAAsC,CAGvC"}