alepha 0.11.3 → 0.11.4

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 (52) hide show
  1. package/api/files.d.ts +1 -439
  2. package/api/jobs.d.ts +1 -218
  3. package/api/notifications.d.ts +1 -264
  4. package/api/users.d.ts +1 -924
  5. package/batch.d.ts +1 -585
  6. package/bucket.d.ts +1 -507
  7. package/cache/redis.d.ts +1 -40
  8. package/cache.d.ts +1 -288
  9. package/command.d.ts +1 -238
  10. package/core.d.ts +1 -1564
  11. package/datetime.d.ts +2 -1
  12. package/devtools.d.ts +1 -368
  13. package/email.d.ts +1 -144
  14. package/fake.cjs +8 -0
  15. package/fake.d.ts +1 -0
  16. package/fake.js +1 -0
  17. package/file.d.ts +1 -53
  18. package/lock/redis.d.ts +1 -24
  19. package/lock.d.ts +1 -552
  20. package/logger.d.ts +1 -284
  21. package/package.json +63 -49
  22. package/postgres.d.ts +1 -1931
  23. package/queue/redis.d.ts +1 -29
  24. package/queue.d.ts +1 -760
  25. package/react/auth.d.ts +1 -499
  26. package/react/form.d.ts +1 -188
  27. package/react/head.d.ts +1 -120
  28. package/react/i18n.d.ts +1 -143
  29. package/react.d.ts +1 -929
  30. package/redis.d.ts +1 -82
  31. package/scheduler.d.ts +1 -145
  32. package/security.d.ts +1 -586
  33. package/server/cache.d.ts +1 -163
  34. package/server/compress.d.ts +1 -32
  35. package/server/cookies.d.ts +1 -144
  36. package/server/cors.d.ts +1 -27
  37. package/server/health.d.ts +1 -59
  38. package/server/helmet.d.ts +1 -69
  39. package/server/links.d.ts +1 -316
  40. package/server/metrics.d.ts +1 -35
  41. package/server/multipart.d.ts +1 -42
  42. package/server/proxy.d.ts +1 -234
  43. package/server/security.d.ts +1 -87
  44. package/server/static.d.ts +1 -119
  45. package/server/swagger.d.ts +1 -148
  46. package/server.d.ts +1 -849
  47. package/topic/redis.d.ts +1 -42
  48. package/topic.d.ts +1 -819
  49. package/ui.cjs +8 -0
  50. package/ui.d.ts +1 -0
  51. package/ui.js +1 -0
  52. package/vite.d.ts +1 -197
package/api/users.d.ts CHANGED
@@ -1,924 +1 @@
1
- import * as _alepha_core0 from "alepha";
2
- import { Alepha, Static } from "alepha";
3
- import * as _alepha_postgres21 from "alepha/postgres";
4
- import { Page } from "alepha/postgres";
5
- import * as _alepha_server2 from "alepha/server";
6
- import * as _alepha_security0 from "alepha/security";
7
- import { CryptoProvider, RealmDescriptor, RealmDescriptorOptions, UserAccount } from "alepha/security";
8
- import * as _alepha_server_links0 from "alepha/server/links";
9
- import * as _alepha_api_notifications0 from "alepha/api/notifications";
10
- import { DateTimeProvider } from "alepha/datetime";
11
- import * as _alepha_react_auth1 from "alepha/react/auth";
12
- import { OAuth2Profile } from "alepha/react/auth";
13
- import * as typebox300 from "typebox";
14
- import * as dayjs20 from "dayjs";
15
- import { VerificationController } from "alepha/api/verifications";
16
-
17
- //#region src/entities/identities.d.ts
18
- declare const identities: _alepha_postgres21.EntityDescriptor<typebox300.TObject<{
19
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
20
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
21
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
22
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
23
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
24
- provider: typebox300.TString;
25
- providerUserId: typebox300.TString;
26
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
27
- }>>;
28
- type IdentityEntity = Static<typeof identities.schema>;
29
- //#endregion
30
- //#region src/schemas/identityQuerySchema.d.ts
31
- declare const identityQuerySchema: typebox300.TObject<{
32
- page: typebox300.TOptional<typebox300.TInteger>;
33
- size: typebox300.TOptional<typebox300.TInteger>;
34
- sort: typebox300.TOptional<typebox300.TString>;
35
- userId: typebox300.TOptional<typebox300.TString>;
36
- provider: typebox300.TOptional<typebox300.TString>;
37
- }>;
38
- type IdentityQuery = Static<typeof identityQuerySchema>;
39
- //#endregion
40
- //#region src/services/IdentityService.d.ts
41
- declare class IdentityService {
42
- readonly identities: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
43
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
44
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
45
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
46
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
47
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
48
- provider: typebox300.TString;
49
- providerUserId: typebox300.TString;
50
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
51
- }>>;
52
- /**
53
- * Find identities with pagination and filtering.
54
- */
55
- findIdentities(q?: IdentityQuery): Promise<Page<IdentityEntity>>;
56
- /**
57
- * Get an identity by ID.
58
- */
59
- getIdentityById(id: string): Promise<IdentityEntity>;
60
- /**
61
- * Delete an identity by ID.
62
- */
63
- deleteIdentity(id: string): Promise<void>;
64
- }
65
- //#endregion
66
- //#region src/controllers/IdentityController.d.ts
67
- declare class IdentityController {
68
- protected readonly url = "/identities";
69
- protected readonly group = "identities";
70
- protected readonly identityService: IdentityService;
71
- /**
72
- * Find identities with pagination and filtering.
73
- */
74
- readonly findIdentities: _alepha_server2.ActionDescriptorFn<{
75
- query: typebox300.TObject<{
76
- page: typebox300.TOptional<typebox300.TInteger>;
77
- size: typebox300.TOptional<typebox300.TInteger>;
78
- sort: typebox300.TOptional<typebox300.TString>;
79
- userId: typebox300.TOptional<typebox300.TString>;
80
- provider: typebox300.TOptional<typebox300.TString>;
81
- }>;
82
- response: _alepha_postgres21.TPage<typebox300.TObject<{
83
- id: typebox300.TString;
84
- version: typebox300.TNumber;
85
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
86
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
87
- userId: typebox300.TString;
88
- provider: typebox300.TString;
89
- providerUserId: typebox300.TString;
90
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
91
- }>>;
92
- }>;
93
- /**
94
- * Get an identity by ID.
95
- */
96
- readonly getIdentity: _alepha_server2.ActionDescriptorFn<{
97
- params: typebox300.TObject<{
98
- id: typebox300.TString;
99
- }>;
100
- response: typebox300.TObject<{
101
- id: typebox300.TString;
102
- version: typebox300.TNumber;
103
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
104
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
105
- userId: typebox300.TString;
106
- provider: typebox300.TString;
107
- providerUserId: typebox300.TString;
108
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
109
- }>;
110
- }>;
111
- /**
112
- * Delete an identity.
113
- */
114
- readonly deleteIdentity: _alepha_server2.ActionDescriptorFn<{
115
- params: typebox300.TObject<{
116
- id: typebox300.TString;
117
- }>;
118
- response: typebox300.TObject<{
119
- ok: typebox300.TBoolean;
120
- id: typebox300.TOptional<typebox300.TUnion<[typebox300.TString, typebox300.TInteger]>>;
121
- count: typebox300.TOptional<typebox300.TNumber>;
122
- }>;
123
- }>;
124
- }
125
- //#endregion
126
- //#region src/entities/sessions.d.ts
127
- declare const sessions: _alepha_postgres21.EntityDescriptor<typebox300.TObject<{
128
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
129
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
130
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
131
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
132
- refreshToken: typebox300.TString;
133
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
134
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
135
- ip: typebox300.TOptional<typebox300.TString>;
136
- userAgent: typebox300.TOptional<typebox300.TObject<{
137
- os: typebox300.TString;
138
- browser: typebox300.TString;
139
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
140
- }>>;
141
- }>>;
142
- type SessionEntity = Static<typeof sessions.schema>;
143
- //#endregion
144
- //#region src/schemas/sessionQuerySchema.d.ts
145
- declare const sessionQuerySchema: typebox300.TObject<{
146
- page: typebox300.TOptional<typebox300.TInteger>;
147
- size: typebox300.TOptional<typebox300.TInteger>;
148
- sort: typebox300.TOptional<typebox300.TString>;
149
- userId: typebox300.TOptional<typebox300.TString>;
150
- }>;
151
- type SessionQuery = Static<typeof sessionQuerySchema>;
152
- //#endregion
153
- //#region src/services/SessionCrudService.d.ts
154
- declare class SessionCrudService {
155
- readonly sessions: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
156
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
157
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
158
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
159
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
160
- refreshToken: typebox300.TString;
161
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
162
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
163
- ip: typebox300.TOptional<typebox300.TString>;
164
- userAgent: typebox300.TOptional<typebox300.TObject<{
165
- os: typebox300.TString;
166
- browser: typebox300.TString;
167
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
168
- }>>;
169
- }>>;
170
- /**
171
- * Find sessions with pagination and filtering.
172
- */
173
- findSessions(q?: SessionQuery): Promise<Page<SessionEntity>>;
174
- /**
175
- * Get a session by ID.
176
- */
177
- getSessionById(id: string): Promise<SessionEntity>;
178
- /**
179
- * Delete a session by ID.
180
- */
181
- deleteSession(id: string): Promise<void>;
182
- }
183
- //#endregion
184
- //#region src/controllers/SessionController.d.ts
185
- declare class SessionController {
186
- protected readonly url = "/sessions";
187
- protected readonly group = "sessions";
188
- protected readonly sessionService: SessionCrudService;
189
- /**
190
- * Find sessions with pagination and filtering.
191
- */
192
- readonly findSessions: _alepha_server2.ActionDescriptorFn<{
193
- query: typebox300.TObject<{
194
- page: typebox300.TOptional<typebox300.TInteger>;
195
- size: typebox300.TOptional<typebox300.TInteger>;
196
- sort: typebox300.TOptional<typebox300.TString>;
197
- userId: typebox300.TOptional<typebox300.TString>;
198
- }>;
199
- response: _alepha_postgres21.TPage<typebox300.TObject<{
200
- id: typebox300.TString;
201
- version: typebox300.TNumber;
202
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
203
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
204
- refreshToken: typebox300.TString;
205
- userId: typebox300.TString;
206
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
207
- ip: typebox300.TOptional<typebox300.TString>;
208
- userAgent: typebox300.TOptional<typebox300.TObject<{
209
- os: typebox300.TString;
210
- browser: typebox300.TString;
211
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
212
- }>>;
213
- }>>;
214
- }>;
215
- /**
216
- * Get a session by ID.
217
- */
218
- readonly getSession: _alepha_server2.ActionDescriptorFn<{
219
- params: typebox300.TObject<{
220
- id: typebox300.TString;
221
- }>;
222
- response: typebox300.TObject<{
223
- id: typebox300.TString;
224
- version: typebox300.TNumber;
225
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
226
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
227
- refreshToken: typebox300.TString;
228
- userId: typebox300.TString;
229
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
230
- ip: typebox300.TOptional<typebox300.TString>;
231
- userAgent: typebox300.TOptional<typebox300.TObject<{
232
- os: typebox300.TString;
233
- browser: typebox300.TString;
234
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
235
- }>>;
236
- }>;
237
- }>;
238
- /**
239
- * Delete a session.
240
- */
241
- readonly deleteSession: _alepha_server2.ActionDescriptorFn<{
242
- params: typebox300.TObject<{
243
- id: typebox300.TString;
244
- }>;
245
- response: typebox300.TObject<{
246
- ok: typebox300.TBoolean;
247
- id: typebox300.TOptional<typebox300.TUnion<[typebox300.TString, typebox300.TInteger]>>;
248
- count: typebox300.TOptional<typebox300.TNumber>;
249
- }>;
250
- }>;
251
- }
252
- //#endregion
253
- //#region src/notifications/UserNotifications.d.ts
254
- declare class UserNotifications {
255
- readonly passwordReset: _alepha_api_notifications0.NotificationDescriptor<typebox300.TObject<{
256
- email: typebox300.TString;
257
- resetUrl: typebox300.TString;
258
- expiresInMinutes: typebox300.TNumber;
259
- }>>;
260
- readonly emailVerification: _alepha_api_notifications0.NotificationDescriptor<typebox300.TObject<{
261
- email: typebox300.TString;
262
- verifyUrl: typebox300.TString;
263
- expiresInMinutes: typebox300.TNumber;
264
- }>>;
265
- }
266
- //#endregion
267
- //#region src/services/CredentialService.d.ts
268
- declare class CredentialService {
269
- protected readonly cryptoProvider: CryptoProvider;
270
- protected readonly verificationController: _alepha_server_links0.HttpVirtualClient<VerificationController>;
271
- protected readonly userNotifications: UserNotifications;
272
- readonly users: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
273
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
274
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
275
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
276
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
277
- email: typebox300.TString;
278
- roles: typebox300.TArray<typebox300.TString>;
279
- name: typebox300.TOptional<typebox300.TString>;
280
- firstName: typebox300.TOptional<typebox300.TString>;
281
- lastName: typebox300.TOptional<typebox300.TString>;
282
- picture: typebox300.TOptional<typebox300.TString>;
283
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
284
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
285
- }>>;
286
- readonly sessions: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
287
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
288
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
289
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
290
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
291
- refreshToken: typebox300.TString;
292
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
293
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
294
- ip: typebox300.TOptional<typebox300.TString>;
295
- userAgent: typebox300.TOptional<typebox300.TObject<{
296
- os: typebox300.TString;
297
- browser: typebox300.TString;
298
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
299
- }>>;
300
- }>>;
301
- readonly identities: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
302
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
303
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
304
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
305
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
306
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
307
- provider: typebox300.TString;
308
- providerUserId: typebox300.TString;
309
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
310
- }>>;
311
- /**
312
- * Request a password reset for a user by email.
313
- * Uses the verification service for secure token generation and management.
314
- *
315
- * @param email - User's email address
316
- * @param resetUrl - Base URL for the password reset page
317
- * @returns True if reset was initiated (regardless of whether user exists - for security)
318
- */
319
- requestPasswordReset(email: string, resetUrl: string): Promise<boolean>;
320
- /**
321
- * Validate a password reset token.
322
- * Returns email if valid, throws error if invalid/expired.
323
- */
324
- validateResetToken(email: string, token: string): Promise<string>;
325
- /**
326
- * Reset a user's password using a valid reset token.
327
- * Validates token, updates password, and invalidates all sessions.
328
- */
329
- resetPassword(email: string, token: string, newPassword: string): Promise<void>;
330
- }
331
- //#endregion
332
- //#region src/entities/users.d.ts
333
- declare const users: _alepha_postgres21.EntityDescriptor<typebox300.TObject<{
334
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
335
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
336
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
337
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
338
- email: typebox300.TString;
339
- roles: typebox300.TArray<typebox300.TString>;
340
- name: typebox300.TOptional<typebox300.TString>;
341
- firstName: typebox300.TOptional<typebox300.TString>;
342
- lastName: typebox300.TOptional<typebox300.TString>;
343
- picture: typebox300.TOptional<typebox300.TString>;
344
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
345
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
346
- }>>;
347
- type UserEntity = Static<typeof users.schema>;
348
- //#endregion
349
- //#region src/schemas/createUserSchema.d.ts
350
- declare const createUserSchema: typebox300.TObject<{
351
- email: typebox300.TString;
352
- name: typebox300.TOptional<typebox300.TString>;
353
- firstName: typebox300.TOptional<typebox300.TString>;
354
- lastName: typebox300.TOptional<typebox300.TString>;
355
- picture: typebox300.TOptional<typebox300.TString>;
356
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
357
- enabled: typebox300.TOptional<typebox300.TBoolean>;
358
- emailVerified: typebox300.TOptional<typebox300.TBoolean>;
359
- }>;
360
- type CreateUser = Static<typeof createUserSchema>;
361
- //#endregion
362
- //#region src/schemas/updateUserSchema.d.ts
363
- declare const updateUserSchema: typebox300.TObject<{
364
- name: typebox300.TOptional<typebox300.TString>;
365
- firstName: typebox300.TOptional<typebox300.TString>;
366
- lastName: typebox300.TOptional<typebox300.TString>;
367
- picture: typebox300.TOptional<typebox300.TString>;
368
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
369
- enabled: typebox300.TOptional<typebox300.TBoolean>;
370
- }>;
371
- type UpdateUser = Static<typeof updateUserSchema>;
372
- //#endregion
373
- //#region src/schemas/userQuerySchema.d.ts
374
- declare const userQuerySchema: typebox300.TObject<{
375
- page: typebox300.TOptional<typebox300.TInteger>;
376
- size: typebox300.TOptional<typebox300.TInteger>;
377
- sort: typebox300.TOptional<typebox300.TString>;
378
- email: typebox300.TOptional<typebox300.TString>;
379
- enabled: typebox300.TOptional<typebox300.TBoolean>;
380
- emailVerified: typebox300.TOptional<typebox300.TBoolean>;
381
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
382
- }>;
383
- type UserQuery = Static<typeof userQuerySchema>;
384
- //#endregion
385
- //#region src/services/UserService.d.ts
386
- declare class UserService {
387
- protected readonly verificationController: _alepha_server_links0.HttpVirtualClient<VerificationController>;
388
- protected readonly userNotifications: UserNotifications;
389
- readonly users: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
390
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
391
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
392
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
393
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
394
- email: typebox300.TString;
395
- roles: typebox300.TArray<typebox300.TString>;
396
- name: typebox300.TOptional<typebox300.TString>;
397
- firstName: typebox300.TOptional<typebox300.TString>;
398
- lastName: typebox300.TOptional<typebox300.TString>;
399
- picture: typebox300.TOptional<typebox300.TString>;
400
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
401
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
402
- }>>;
403
- /**
404
- * Request email verification for a user.
405
- * Uses the verification service for secure token generation and management.
406
- *
407
- * @param email - User's email address
408
- * @param verifyUrl - Base URL for the email verification page
409
- * @returns True if verification was initiated
410
- */
411
- requestEmailVerification(email: string, verifyUrl: string): Promise<boolean>;
412
- /**
413
- * Verify a user's email using a valid verification token.
414
- * Validates token and updates the user's emailVerified status.
415
- */
416
- verifyEmail(email: string, token: string): Promise<void>;
417
- /**
418
- * Check if an email is verified.
419
- *
420
- * @param email - User's email address
421
- * @returns True if email is verified, false otherwise
422
- */
423
- isEmailVerified(email: string): Promise<boolean>;
424
- /**
425
- * Find users with pagination and filtering.
426
- */
427
- findUsers(q?: UserQuery): Promise<Page<UserEntity>>;
428
- /**
429
- * Get a user by ID.
430
- */
431
- getUserById(id: string): Promise<UserEntity>;
432
- /**
433
- * Create a new user.
434
- */
435
- createUser(data: CreateUser): Promise<UserEntity>;
436
- /**
437
- * Update an existing user.
438
- */
439
- updateUser(id: string, data: UpdateUser): Promise<UserEntity>;
440
- /**
441
- * Delete a user by ID.
442
- */
443
- deleteUser(id: string): Promise<void>;
444
- }
445
- //#endregion
446
- //#region src/controllers/UserController.d.ts
447
- declare class UserController {
448
- protected readonly url = "/users";
449
- protected readonly group = "users";
450
- protected readonly credentialService: CredentialService;
451
- protected readonly userService: UserService;
452
- /**
453
- * Find users with pagination and filtering.
454
- */
455
- readonly findUsers: _alepha_server2.ActionDescriptorFn<{
456
- query: typebox300.TObject<{
457
- page: typebox300.TOptional<typebox300.TInteger>;
458
- size: typebox300.TOptional<typebox300.TInteger>;
459
- sort: typebox300.TOptional<typebox300.TString>;
460
- email: typebox300.TOptional<typebox300.TString>;
461
- enabled: typebox300.TOptional<typebox300.TBoolean>;
462
- emailVerified: typebox300.TOptional<typebox300.TBoolean>;
463
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
464
- }>;
465
- response: _alepha_postgres21.TPage<typebox300.TObject<{
466
- id: typebox300.TString;
467
- version: typebox300.TNumber;
468
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
469
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
470
- email: typebox300.TString;
471
- roles: typebox300.TArray<typebox300.TString>;
472
- name: typebox300.TOptional<typebox300.TString>;
473
- firstName: typebox300.TOptional<typebox300.TString>;
474
- lastName: typebox300.TOptional<typebox300.TString>;
475
- picture: typebox300.TOptional<typebox300.TString>;
476
- enabled: typebox300.TBoolean;
477
- emailVerified: typebox300.TBoolean;
478
- }>>;
479
- }>;
480
- /**
481
- * Get a user by ID.
482
- */
483
- readonly getUser: _alepha_server2.ActionDescriptorFn<{
484
- params: typebox300.TObject<{
485
- id: typebox300.TString;
486
- }>;
487
- response: typebox300.TObject<{
488
- id: typebox300.TString;
489
- version: typebox300.TNumber;
490
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
491
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
492
- email: typebox300.TString;
493
- roles: typebox300.TArray<typebox300.TString>;
494
- name: typebox300.TOptional<typebox300.TString>;
495
- firstName: typebox300.TOptional<typebox300.TString>;
496
- lastName: typebox300.TOptional<typebox300.TString>;
497
- picture: typebox300.TOptional<typebox300.TString>;
498
- enabled: typebox300.TBoolean;
499
- emailVerified: typebox300.TBoolean;
500
- }>;
501
- }>;
502
- /**
503
- * Create a new user.
504
- */
505
- readonly createUser: _alepha_server2.ActionDescriptorFn<{
506
- body: typebox300.TObject<{
507
- email: typebox300.TString;
508
- name: typebox300.TOptional<typebox300.TString>;
509
- firstName: typebox300.TOptional<typebox300.TString>;
510
- lastName: typebox300.TOptional<typebox300.TString>;
511
- picture: typebox300.TOptional<typebox300.TString>;
512
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
513
- enabled: typebox300.TOptional<typebox300.TBoolean>;
514
- emailVerified: typebox300.TOptional<typebox300.TBoolean>;
515
- }>;
516
- response: typebox300.TObject<{
517
- id: typebox300.TString;
518
- version: typebox300.TNumber;
519
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
520
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
521
- email: typebox300.TString;
522
- roles: typebox300.TArray<typebox300.TString>;
523
- name: typebox300.TOptional<typebox300.TString>;
524
- firstName: typebox300.TOptional<typebox300.TString>;
525
- lastName: typebox300.TOptional<typebox300.TString>;
526
- picture: typebox300.TOptional<typebox300.TString>;
527
- enabled: typebox300.TBoolean;
528
- emailVerified: typebox300.TBoolean;
529
- }>;
530
- }>;
531
- /**
532
- * Update a user.
533
- */
534
- readonly updateUser: _alepha_server2.ActionDescriptorFn<{
535
- params: typebox300.TObject<{
536
- id: typebox300.TString;
537
- }>;
538
- body: typebox300.TObject<{
539
- name: typebox300.TOptional<typebox300.TString>;
540
- firstName: typebox300.TOptional<typebox300.TString>;
541
- lastName: typebox300.TOptional<typebox300.TString>;
542
- picture: typebox300.TOptional<typebox300.TString>;
543
- roles: typebox300.TOptional<typebox300.TArray<typebox300.TString>>;
544
- enabled: typebox300.TOptional<typebox300.TBoolean>;
545
- }>;
546
- response: typebox300.TObject<{
547
- id: typebox300.TString;
548
- version: typebox300.TNumber;
549
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
550
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
551
- email: typebox300.TString;
552
- roles: typebox300.TArray<typebox300.TString>;
553
- name: typebox300.TOptional<typebox300.TString>;
554
- firstName: typebox300.TOptional<typebox300.TString>;
555
- lastName: typebox300.TOptional<typebox300.TString>;
556
- picture: typebox300.TOptional<typebox300.TString>;
557
- enabled: typebox300.TBoolean;
558
- emailVerified: typebox300.TBoolean;
559
- }>;
560
- }>;
561
- /**
562
- * Delete a user.
563
- */
564
- readonly deleteUser: _alepha_server2.ActionDescriptorFn<{
565
- params: typebox300.TObject<{
566
- id: typebox300.TString;
567
- }>;
568
- response: typebox300.TObject<{
569
- ok: typebox300.TBoolean;
570
- id: typebox300.TOptional<typebox300.TUnion<[typebox300.TString, typebox300.TInteger]>>;
571
- count: typebox300.TOptional<typebox300.TNumber>;
572
- }>;
573
- }>;
574
- /**
575
- * Request a password reset.
576
- * Generates a reset token using verification service and sends an email to the user.
577
- */
578
- requestPasswordReset: _alepha_server2.ActionDescriptorFn<{
579
- body: typebox300.TObject<{
580
- email: typebox300.TString;
581
- resetUrl: typebox300.TString;
582
- }>;
583
- response: typebox300.TObject<{
584
- success: typebox300.TBoolean;
585
- message: typebox300.TString;
586
- }>;
587
- }>;
588
- /**
589
- * Validate a password reset token.
590
- * Checks if the token is valid and not expired.
591
- */
592
- validateResetToken: _alepha_server2.ActionDescriptorFn<{
593
- query: typebox300.TObject<{
594
- email: typebox300.TString;
595
- token: typebox300.TString;
596
- }>;
597
- response: typebox300.TObject<{
598
- valid: typebox300.TBoolean;
599
- email: typebox300.TOptional<typebox300.TString>;
600
- }>;
601
- }>;
602
- /**
603
- * Reset password with a valid token.
604
- * Updates the user's password and invalidates all sessions.
605
- */
606
- resetPassword: _alepha_server2.ActionDescriptorFn<{
607
- body: typebox300.TObject<{
608
- email: typebox300.TString;
609
- token: typebox300.TString;
610
- newPassword: typebox300.TString;
611
- }>;
612
- response: typebox300.TObject<{
613
- success: typebox300.TBoolean;
614
- message: typebox300.TString;
615
- }>;
616
- }>;
617
- /**
618
- * Request email verification.
619
- * Generates a verification token using verification service and sends an email to the user.
620
- */
621
- requestEmailVerification: _alepha_server2.ActionDescriptorFn<{
622
- body: typebox300.TObject<{
623
- email: typebox300.TString;
624
- verifyUrl: typebox300.TString;
625
- }>;
626
- response: typebox300.TObject<{
627
- success: typebox300.TBoolean;
628
- message: typebox300.TString;
629
- }>;
630
- }>;
631
- /**
632
- * Verify email with a valid token.
633
- * Updates the user's emailVerified status.
634
- */
635
- verifyEmail: _alepha_server2.ActionDescriptorFn<{
636
- body: typebox300.TObject<{
637
- email: typebox300.TString;
638
- token: typebox300.TString;
639
- }>;
640
- response: typebox300.TObject<{
641
- success: typebox300.TBoolean;
642
- message: typebox300.TString;
643
- }>;
644
- }>;
645
- /**
646
- * Check if an email is verified.
647
- */
648
- checkEmailVerification: _alepha_server2.ActionDescriptorFn<{
649
- query: typebox300.TObject<{
650
- email: typebox300.TString;
651
- }>;
652
- response: typebox300.TObject<{
653
- verified: typebox300.TBoolean;
654
- }>;
655
- }>;
656
- }
657
- //#endregion
658
- //#region src/descriptors/$authApple.d.ts
659
- /**
660
- * TODO: Implement Apple authentication
661
- */
662
- declare const $authApple: () => never;
663
- //#endregion
664
- //#region src/descriptors/$authCredentials.d.ts
665
- declare const $authCredentials: (realm: RealmDescriptor) => _alepha_react_auth1.AuthDescriptor;
666
- //#endregion
667
- //#region src/descriptors/$authGithub.d.ts
668
- /**
669
- * Already configured GitHub authentication descriptor.
670
- *
671
- * Uses OAuth2 to authenticate users via their GitHub accounts.
672
- * Upon successful authentication, it links the GitHub account to a user session.
673
- *
674
- * Environment Variables:
675
- * - `GITHUB_CLIENT_ID`: The client ID obtained from the GitHub Developer Settings.
676
- * - `GITHUB_CLIENT_SECRET`: The client secret obtained from the GitHub Developer Settings.
677
- */
678
- declare const $authGithub: (realm: RealmDescriptor) => _alepha_react_auth1.AuthDescriptor;
679
- //#endregion
680
- //#region src/descriptors/$authGoogle.d.ts
681
- /**
682
- * Already configured Google authentication descriptor.
683
- *
684
- * Uses OpenID Connect (OIDC) to authenticate users via their Google accounts.
685
- * Upon successful authentication, it links the Google account to a user session.
686
- *
687
- * Environment Variables:
688
- * - `GOOGLE_CLIENT_ID`: The client ID obtained from the Google Developer Console.
689
- * - `GOOGLE_CLIENT_SECRET`: The client secret obtained from the Google Developer Console.
690
- */
691
- declare const $authGoogle: (realm: RealmDescriptor) => _alepha_react_auth1.AuthDescriptor;
692
- //#endregion
693
- //#region src/descriptors/$realmUsers.d.ts
694
- /**
695
- * Already configured realm for user management.
696
- *
697
- * Realm contains two roles: `admin` and `user`.
698
- *
699
- * - `admin`: Has full access to all resources and permissions.
700
- * - `user`: Has access to their own resources and permissions, but cannot access admin-level resources.
701
- *
702
- * Realm uses session management for handling user sessions.
703
- *
704
- * Environment Variables:
705
- * - `APP_SECRET`: Secret key for signing tokens (if not provided in options).
706
- */
707
- declare const $realmUsers: (options?: {
708
- secret?: string;
709
- realm?: Partial<RealmDescriptorOptions>;
710
- }) => _alepha_security0.RealmDescriptor;
711
- //#endregion
712
- //#region src/schemas/identityResourceSchema.d.ts
713
- declare const identityResourceSchema: typebox300.TObject<{
714
- id: typebox300.TString;
715
- version: typebox300.TNumber;
716
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
717
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
718
- userId: typebox300.TString;
719
- provider: typebox300.TString;
720
- providerUserId: typebox300.TString;
721
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
722
- }>;
723
- type IdentityResource = Static<typeof identityResourceSchema>;
724
- //#endregion
725
- //#region src/schemas/sessionResourceSchema.d.ts
726
- declare const sessionResourceSchema: typebox300.TObject<{
727
- id: typebox300.TString;
728
- version: typebox300.TNumber;
729
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
730
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
731
- refreshToken: typebox300.TString;
732
- userId: typebox300.TString;
733
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
734
- ip: typebox300.TOptional<typebox300.TString>;
735
- userAgent: typebox300.TOptional<typebox300.TObject<{
736
- os: typebox300.TString;
737
- browser: typebox300.TString;
738
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
739
- }>>;
740
- }>;
741
- type SessionResource = Static<typeof sessionResourceSchema>;
742
- //#endregion
743
- //#region src/schemas/userResourceSchema.d.ts
744
- declare const userResourceSchema: typebox300.TObject<{
745
- id: typebox300.TString;
746
- version: typebox300.TNumber;
747
- createdAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
748
- updatedAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
749
- email: typebox300.TString;
750
- roles: typebox300.TArray<typebox300.TString>;
751
- name: typebox300.TOptional<typebox300.TString>;
752
- firstName: typebox300.TOptional<typebox300.TString>;
753
- lastName: typebox300.TOptional<typebox300.TString>;
754
- picture: typebox300.TOptional<typebox300.TString>;
755
- enabled: typebox300.TBoolean;
756
- emailVerified: typebox300.TBoolean;
757
- }>;
758
- type UserResource = Static<typeof userResourceSchema>;
759
- //#endregion
760
- //#region src/services/SessionService.d.ts
761
- declare class SessionService {
762
- protected readonly alepha: Alepha;
763
- protected readonly dateTimeProvider: DateTimeProvider;
764
- protected readonly cryptoProvider: CryptoProvider;
765
- readonly users: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
766
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
767
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
768
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
769
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
770
- email: typebox300.TString;
771
- roles: typebox300.TArray<typebox300.TString>;
772
- name: typebox300.TOptional<typebox300.TString>;
773
- firstName: typebox300.TOptional<typebox300.TString>;
774
- lastName: typebox300.TOptional<typebox300.TString>;
775
- picture: typebox300.TOptional<typebox300.TString>;
776
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
777
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
778
- }>>;
779
- readonly sessions: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
780
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
781
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
782
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
783
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
784
- refreshToken: typebox300.TString;
785
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
786
- expiresAt: typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>;
787
- ip: typebox300.TOptional<typebox300.TString>;
788
- userAgent: typebox300.TOptional<typebox300.TObject<{
789
- os: typebox300.TString;
790
- browser: typebox300.TString;
791
- device: typebox300.TUnsafe<"MOBILE" | "DESKTOP" | "TABLET">;
792
- }>>;
793
- }>>;
794
- readonly identities: _alepha_postgres21.RepositoryDescriptor<typebox300.TObject<{
795
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
796
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
797
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
798
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
799
- userId: _alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_REF>;
800
- provider: typebox300.TString;
801
- providerUserId: typebox300.TString;
802
- providerData: typebox300.TOptional<typebox300.TRecord<string, typebox300.TAny>>;
803
- }>>;
804
- login(provider: string, username: string, password: string): Promise<_alepha_postgres21.PgStatic<typebox300.TObject<{
805
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
806
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
807
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
808
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
809
- email: typebox300.TString;
810
- roles: typebox300.TArray<typebox300.TString>;
811
- name: typebox300.TOptional<typebox300.TString>;
812
- firstName: typebox300.TOptional<typebox300.TString>;
813
- lastName: typebox300.TOptional<typebox300.TString>;
814
- picture: typebox300.TOptional<typebox300.TString>;
815
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
816
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
817
- }>, _alepha_postgres21.PgRelationMap<typebox300.TObject<{
818
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
819
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
820
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
821
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
822
- email: typebox300.TString;
823
- roles: typebox300.TArray<typebox300.TString>;
824
- name: typebox300.TOptional<typebox300.TString>;
825
- firstName: typebox300.TOptional<typebox300.TString>;
826
- lastName: typebox300.TOptional<typebox300.TString>;
827
- picture: typebox300.TOptional<typebox300.TString>;
828
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
829
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
830
- }>>>>;
831
- createSession(user: UserAccount, expiresIn: number): Promise<{
832
- refreshToken: string;
833
- sessionId: string;
834
- }>;
835
- refreshSession(refreshToken: string): Promise<{
836
- user: _alepha_postgres21.PgStatic<typebox300.TObject<{
837
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
838
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
839
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
840
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
841
- email: typebox300.TString;
842
- roles: typebox300.TArray<typebox300.TString>;
843
- name: typebox300.TOptional<typebox300.TString>;
844
- firstName: typebox300.TOptional<typebox300.TString>;
845
- lastName: typebox300.TOptional<typebox300.TString>;
846
- picture: typebox300.TOptional<typebox300.TString>;
847
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
848
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
849
- }>, _alepha_postgres21.PgRelationMap<typebox300.TObject<{
850
- id: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TString, typeof _alepha_postgres21.PG_PRIMARY_KEY>, typeof _alepha_postgres21.PG_DEFAULT>;
851
- version: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TInteger, typeof _alepha_postgres21.PG_VERSION>, typeof _alepha_postgres21.PG_DEFAULT>;
852
- createdAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_CREATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
853
- updatedAt: _alepha_postgres21.PgAttr<_alepha_postgres21.PgAttr<typebox300.TCodec<typebox300.TString, dayjs20.Dayjs>, typeof _alepha_postgres21.PG_UPDATED_AT>, typeof _alepha_postgres21.PG_DEFAULT>;
854
- email: typebox300.TString;
855
- roles: typebox300.TArray<typebox300.TString>;
856
- name: typebox300.TOptional<typebox300.TString>;
857
- firstName: typebox300.TOptional<typebox300.TString>;
858
- lastName: typebox300.TOptional<typebox300.TString>;
859
- picture: typebox300.TOptional<typebox300.TString>;
860
- enabled: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
861
- emailVerified: _alepha_postgres21.PgAttr<typebox300.TBoolean, typeof _alepha_postgres21.PG_DEFAULT>;
862
- }>>>;
863
- expiresIn: number;
864
- sessionId: string;
865
- }>;
866
- deleteSession(refreshToken: string): Promise<void>;
867
- link(provider: string, profile: OAuth2Profile): Promise<{
868
- name?: string | undefined;
869
- firstName?: string | undefined;
870
- lastName?: string | undefined;
871
- picture?: string | undefined;
872
- id: string;
873
- version: number;
874
- email: string;
875
- createdAt: dayjs20.Dayjs;
876
- updatedAt: dayjs20.Dayjs;
877
- roles: string[];
878
- enabled: boolean;
879
- emailVerified: boolean;
880
- } | {
881
- sub: string;
882
- email?: string;
883
- name?: string;
884
- given_name?: string;
885
- family_name?: string;
886
- middle_name?: string;
887
- nickname?: string;
888
- preferred_username?: string;
889
- profile?: string;
890
- picture?: string;
891
- website?: string;
892
- email_verified?: boolean;
893
- gender?: string;
894
- birthdate?: string;
895
- zoneinfo?: string;
896
- locale?: string;
897
- phone_number?: string;
898
- phone_number_verified?: boolean;
899
- address?: {
900
- formatted?: string;
901
- street_address?: string;
902
- locality?: string;
903
- region?: string;
904
- postal_code?: string;
905
- country?: string;
906
- };
907
- updated_at?: number;
908
- id: string;
909
- }>;
910
- }
911
- //#endregion
912
- //#region src/index.d.ts
913
- /**
914
- * Provides user management API endpoints for Alepha applications.
915
- *
916
- * This module includes user CRUD operations, authentication endpoints,
917
- * password reset functionality, and user profile management capabilities.
918
- *
919
- * @module alepha.api.users
920
- */
921
- declare const AlephaApiUsers: _alepha_core0.Service<_alepha_core0.Module<{}>>;
922
- //#endregion
923
- export { $authApple, $authCredentials, $authGithub, $authGoogle, $realmUsers, AlephaApiUsers, CreateUser, CredentialService, IdentityController, IdentityEntity, IdentityQuery, IdentityResource, IdentityService, SessionController, SessionCrudService, SessionEntity, SessionQuery, SessionResource, SessionService, UpdateUser, UserController, UserEntity, UserQuery, UserResource, UserService, createUserSchema, identities, identityQuerySchema, identityResourceSchema, sessionQuerySchema, sessionResourceSchema, sessions, updateUserSchema, userQuerySchema, userResourceSchema, users };
924
- //# sourceMappingURL=index.d.ts.map
1
+ export * from '@alepha/api-users';