@plyaz/types 1.27.6 → 1.27.8
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.
- package/dist/auth/auth-events.d.ts +107 -0
- package/dist/auth/enums.d.ts +38 -0
- package/dist/auth/index.cjs +134 -0
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.js +125 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/types.d.ts +162 -0
- package/dist/index.cjs +134 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +125 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Authentication event constants for @plyaz/auth
|
|
3
|
+
* @module @plyaz/auth/constants/auth-events
|
|
4
|
+
*
|
|
5
|
+
* @description
|
|
6
|
+
* Defines standardized event names for authentication system events.
|
|
7
|
+
* These events are published via @plyaz/events for audit logging and
|
|
8
|
+
* cross-component communication. Used by repositories, services, and
|
|
9
|
+
* frontend stores for reactive state management.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { AUTH_EVENTS } from '@plyaz/auth';
|
|
14
|
+
*
|
|
15
|
+
* // Publish event
|
|
16
|
+
* eventManager.publish(AUTH_EVENTS.USER_AUTHENTICATED, { userId, provider });
|
|
17
|
+
*
|
|
18
|
+
* // Subscribe to event
|
|
19
|
+
* eventManager.subscribe(AUTH_EVENTS.SESSION_EXPIRED, handleSessionExpiry);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Authentication event type constants
|
|
24
|
+
* Used for event publishing and subscription throughout the auth system
|
|
25
|
+
*/
|
|
26
|
+
export declare const AUTH_EVENTS: {
|
|
27
|
+
/** User successfully authenticated */
|
|
28
|
+
readonly USER_AUTHENTICATED: "auth.user.authenticated";
|
|
29
|
+
/** User signed up (new account created) */
|
|
30
|
+
readonly USER_SIGNED_UP: "auth.user.signed_up";
|
|
31
|
+
/** User logged out */
|
|
32
|
+
readonly USER_LOGGED_OUT: "auth.user.logged_out";
|
|
33
|
+
/** Authentication attempt failed */
|
|
34
|
+
readonly AUTHENTICATION_FAILED: "auth.authentication.failed";
|
|
35
|
+
/** Session created */
|
|
36
|
+
readonly SESSION_CREATED: "auth.session.created";
|
|
37
|
+
/** Session expired */
|
|
38
|
+
readonly SESSION_EXPIRED: "auth.session.expired";
|
|
39
|
+
/** Session refreshed */
|
|
40
|
+
readonly SESSION_REFRESHED: "auth.session.refreshed";
|
|
41
|
+
/** Session invalidated (logout) */
|
|
42
|
+
readonly SESSION_INVALIDATED: "auth.session.invalidated";
|
|
43
|
+
/** Account linked to user */
|
|
44
|
+
readonly ACCOUNT_LINKED: "auth.account.linked";
|
|
45
|
+
/** Account unlinked from user */
|
|
46
|
+
readonly ACCOUNT_UNLINKED: "auth.account.unlinked";
|
|
47
|
+
/** Role assigned to user */
|
|
48
|
+
readonly ROLE_ASSIGNED: "auth.rbac.role_assigned";
|
|
49
|
+
/** Role revoked from user */
|
|
50
|
+
readonly ROLE_REVOKED: "auth.rbac.role_revoked";
|
|
51
|
+
/** Suspicious login attempt detected */
|
|
52
|
+
readonly SUSPICIOUS_LOGIN_ATTEMPT: "auth.security.suspicious_login";
|
|
53
|
+
/** Password changed */
|
|
54
|
+
readonly PASSWORD_CHANGED: "auth.password.changed";
|
|
55
|
+
/** Password reset requested */
|
|
56
|
+
readonly PASSWORD_RESET_REQUESTED: "auth.password.reset_requested";
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Type for authentication event names
|
|
60
|
+
*/
|
|
61
|
+
export type AuthEventTypes = typeof AUTH_EVENTS[keyof typeof AUTH_EVENTS];
|
|
62
|
+
/**
|
|
63
|
+
* Authentication event payload interfaces
|
|
64
|
+
*/
|
|
65
|
+
export interface AuthEventPayload {
|
|
66
|
+
/** Base event data */
|
|
67
|
+
timestamp: Date;
|
|
68
|
+
/** IP address of the request */
|
|
69
|
+
ipAddress?: string;
|
|
70
|
+
/** User agent string */
|
|
71
|
+
userAgent?: string;
|
|
72
|
+
/** Additional metadata */
|
|
73
|
+
metadata?: Record<string, unknown>;
|
|
74
|
+
}
|
|
75
|
+
export interface UserAuthenticatedPayload extends AuthEventPayload {
|
|
76
|
+
userId: string;
|
|
77
|
+
provider: string;
|
|
78
|
+
sessionId: string;
|
|
79
|
+
}
|
|
80
|
+
export interface UserSignedUpPayload extends AuthEventPayload {
|
|
81
|
+
userId: string;
|
|
82
|
+
provider: string;
|
|
83
|
+
email: string;
|
|
84
|
+
}
|
|
85
|
+
export interface UserLoggedOutPayload extends AuthEventPayload {
|
|
86
|
+
userId: string;
|
|
87
|
+
sessionId: string;
|
|
88
|
+
}
|
|
89
|
+
export interface AuthenticationFailedPayload extends AuthEventPayload {
|
|
90
|
+
provider: string;
|
|
91
|
+
reason: string;
|
|
92
|
+
email?: string;
|
|
93
|
+
}
|
|
94
|
+
export interface SessionEventPayload extends AuthEventPayload {
|
|
95
|
+
userId: string;
|
|
96
|
+
sessionId: string;
|
|
97
|
+
}
|
|
98
|
+
export interface AccountLinkedPayload extends AuthEventPayload {
|
|
99
|
+
userId: string;
|
|
100
|
+
provider: string;
|
|
101
|
+
accountId: string;
|
|
102
|
+
}
|
|
103
|
+
export interface RoleEventPayload extends AuthEventPayload {
|
|
104
|
+
userId: string;
|
|
105
|
+
role: string;
|
|
106
|
+
assignedBy?: string;
|
|
107
|
+
}
|
package/dist/auth/enums.d.ts
CHANGED
|
@@ -222,3 +222,41 @@ export declare const AUTH_ERROR_DEFINITIONS: {
|
|
|
222
222
|
readonly retryable: false;
|
|
223
223
|
};
|
|
224
224
|
};
|
|
225
|
+
/**
|
|
226
|
+
* @fileoverview Enums for @plyaz/auth
|
|
227
|
+
* @module @plyaz/auth/enums
|
|
228
|
+
*/
|
|
229
|
+
export declare enum USERROLESTATUS {
|
|
230
|
+
ACTIVE = "ACTIVE",
|
|
231
|
+
INACTIVE = "INACTIVE",
|
|
232
|
+
SUSPENDED = "SUSPENDED"
|
|
233
|
+
}
|
|
234
|
+
export declare enum AUTHPROVIDER {
|
|
235
|
+
EMAIL = "EMAIL",
|
|
236
|
+
CLERK = "CLERK",
|
|
237
|
+
GOOGLE = "GOOGLE",
|
|
238
|
+
FACEBOOK = "FACEBOOK",
|
|
239
|
+
APPLE = "APPLE",
|
|
240
|
+
WEB3 = "WEB3",
|
|
241
|
+
NEXTAUTH = "NEXTAUTH"
|
|
242
|
+
}
|
|
243
|
+
export declare enum TOKENTYPE {
|
|
244
|
+
BEARER = "Bearer",
|
|
245
|
+
JWT = "JWT"
|
|
246
|
+
}
|
|
247
|
+
export declare enum PROVIDERTYPE {
|
|
248
|
+
OAUTH = "OAUTH",
|
|
249
|
+
WEB3 = "WEB3",
|
|
250
|
+
EMAIL = "EMAIL"
|
|
251
|
+
}
|
|
252
|
+
export declare enum SESSIONSTATUS {
|
|
253
|
+
ACTIVE = "ACTIVE",
|
|
254
|
+
EXPIRED = "EXPIRED",
|
|
255
|
+
REVOKED = "REVOKED"
|
|
256
|
+
}
|
|
257
|
+
export declare enum MFATYPE {
|
|
258
|
+
TOTP = "TOTP",
|
|
259
|
+
SMS = "SMS",
|
|
260
|
+
EMAIL = "EMAIL",
|
|
261
|
+
BackupCodes = "BACKUP_CODES"
|
|
262
|
+
}
|
package/dist/auth/index.cjs
CHANGED
|
@@ -220,6 +220,46 @@ var AUTH_ERROR_DEFINITIONS = {
|
|
|
220
220
|
retryable: false
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
|
+
var USERROLESTATUS = /* @__PURE__ */ ((USERROLESTATUS2) => {
|
|
224
|
+
USERROLESTATUS2["ACTIVE"] = "ACTIVE";
|
|
225
|
+
USERROLESTATUS2["INACTIVE"] = "INACTIVE";
|
|
226
|
+
USERROLESTATUS2["SUSPENDED"] = "SUSPENDED";
|
|
227
|
+
return USERROLESTATUS2;
|
|
228
|
+
})(USERROLESTATUS || {});
|
|
229
|
+
var AUTHPROVIDER = /* @__PURE__ */ ((AUTHPROVIDER2) => {
|
|
230
|
+
AUTHPROVIDER2["EMAIL"] = "EMAIL";
|
|
231
|
+
AUTHPROVIDER2["CLERK"] = "CLERK";
|
|
232
|
+
AUTHPROVIDER2["GOOGLE"] = "GOOGLE";
|
|
233
|
+
AUTHPROVIDER2["FACEBOOK"] = "FACEBOOK";
|
|
234
|
+
AUTHPROVIDER2["APPLE"] = "APPLE";
|
|
235
|
+
AUTHPROVIDER2["WEB3"] = "WEB3";
|
|
236
|
+
AUTHPROVIDER2["NEXTAUTH"] = "NEXTAUTH";
|
|
237
|
+
return AUTHPROVIDER2;
|
|
238
|
+
})(AUTHPROVIDER || {});
|
|
239
|
+
var TOKENTYPE = /* @__PURE__ */ ((TOKENTYPE2) => {
|
|
240
|
+
TOKENTYPE2["BEARER"] = "Bearer";
|
|
241
|
+
TOKENTYPE2["JWT"] = "JWT";
|
|
242
|
+
return TOKENTYPE2;
|
|
243
|
+
})(TOKENTYPE || {});
|
|
244
|
+
var PROVIDERTYPE = /* @__PURE__ */ ((PROVIDERTYPE2) => {
|
|
245
|
+
PROVIDERTYPE2["OAUTH"] = "OAUTH";
|
|
246
|
+
PROVIDERTYPE2["WEB3"] = "WEB3";
|
|
247
|
+
PROVIDERTYPE2["EMAIL"] = "EMAIL";
|
|
248
|
+
return PROVIDERTYPE2;
|
|
249
|
+
})(PROVIDERTYPE || {});
|
|
250
|
+
var SESSIONSTATUS = /* @__PURE__ */ ((SESSIONSTATUS2) => {
|
|
251
|
+
SESSIONSTATUS2["ACTIVE"] = "ACTIVE";
|
|
252
|
+
SESSIONSTATUS2["EXPIRED"] = "EXPIRED";
|
|
253
|
+
SESSIONSTATUS2["REVOKED"] = "REVOKED";
|
|
254
|
+
return SESSIONSTATUS2;
|
|
255
|
+
})(SESSIONSTATUS || {});
|
|
256
|
+
var MFATYPE = /* @__PURE__ */ ((MFATYPE2) => {
|
|
257
|
+
MFATYPE2["TOTP"] = "TOTP";
|
|
258
|
+
MFATYPE2["SMS"] = "SMS";
|
|
259
|
+
MFATYPE2["EMAIL"] = "EMAIL";
|
|
260
|
+
MFATYPE2["BackupCodes"] = "BACKUP_CODES";
|
|
261
|
+
return MFATYPE2;
|
|
262
|
+
})(MFATYPE || {});
|
|
223
263
|
var DEFAULT_PASSWORD = 8;
|
|
224
264
|
var ContactUsFormSchema = zod.z.object({
|
|
225
265
|
name: zod.z.string({ error: "errors.form.missingField" }).min(1, "errors.form.nameMissing"),
|
|
@@ -248,14 +288,108 @@ var AUTH_ERROR_CODES = {
|
|
|
248
288
|
ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED",
|
|
249
289
|
ACCOUNT_SUSPENDED: "AUTH_ACCOUNT_SUSPENDED"
|
|
250
290
|
};
|
|
291
|
+
var ERROR_CODE_TO_HTTP_STATUS = {
|
|
292
|
+
[AUTH_ERROR_CODES.INVALID_CREDENTIALS]: 401,
|
|
293
|
+
[AUTH_ERROR_CODES.TOKEN_EXPIRED]: 401,
|
|
294
|
+
[AUTH_ERROR_CODES.TOKEN_INVALID]: 401,
|
|
295
|
+
[AUTH_ERROR_CODES.TOKEN_REVOKED]: 401,
|
|
296
|
+
[AUTH_ERROR_CODES.SESSION_EXPIRED]: 401,
|
|
297
|
+
[AUTH_ERROR_CODES.MFA_REQUIRED]: 401,
|
|
298
|
+
[AUTH_ERROR_CODES.MFA_INVALID]: 401,
|
|
299
|
+
[AUTH_ERROR_CODES.INSUFFICIENT_PERMISSIONS]: 403,
|
|
300
|
+
[AUTH_ERROR_CODES.ROLE_REQUIRED]: 403,
|
|
301
|
+
[AUTH_ERROR_CODES.WALLET_SIGNATURE_INVALID]: 401,
|
|
302
|
+
[AUTH_ERROR_CODES.NONCE_EXPIRED]: 401,
|
|
303
|
+
[AUTH_ERROR_CODES.NONCE_ALREADY_USED]: 401,
|
|
304
|
+
[AUTH_ERROR_CODES.ACCOUNT_LOCKED]: 423,
|
|
305
|
+
[AUTH_ERROR_CODES.ACCOUNT_SUSPENDED]: 423
|
|
306
|
+
};
|
|
307
|
+
var ERROR_CODE_DESCRIPTIONS = {
|
|
308
|
+
[AUTH_ERROR_CODES.INVALID_CREDENTIALS]: "errors.auth.invalid_credentials",
|
|
309
|
+
[AUTH_ERROR_CODES.TOKEN_EXPIRED]: "errors.auth.token_expired",
|
|
310
|
+
[AUTH_ERROR_CODES.TOKEN_INVALID]: "errors.auth.token_invalid",
|
|
311
|
+
[AUTH_ERROR_CODES.TOKEN_REVOKED]: "errors.auth.token_revoked",
|
|
312
|
+
[AUTH_ERROR_CODES.SESSION_EXPIRED]: "errors.auth.session_expired",
|
|
313
|
+
[AUTH_ERROR_CODES.MFA_REQUIRED]: "errors.auth.mfa_required",
|
|
314
|
+
[AUTH_ERROR_CODES.MFA_INVALID]: "errors.auth.mfa_invalid",
|
|
315
|
+
[AUTH_ERROR_CODES.INSUFFICIENT_PERMISSIONS]: "errors.auth.insufficient_permissions",
|
|
316
|
+
[AUTH_ERROR_CODES.ROLE_REQUIRED]: "errors.auth.role_required",
|
|
317
|
+
[AUTH_ERROR_CODES.WALLET_SIGNATURE_INVALID]: "errors.auth.wallet_signature_invalid",
|
|
318
|
+
[AUTH_ERROR_CODES.NONCE_EXPIRED]: "errors.auth.nonce_expired",
|
|
319
|
+
[AUTH_ERROR_CODES.NONCE_ALREADY_USED]: "errors.auth.nonce_already_used",
|
|
320
|
+
[AUTH_ERROR_CODES.ACCOUNT_LOCKED]: "errors.auth.account_locked",
|
|
321
|
+
[AUTH_ERROR_CODES.ACCOUNT_SUSPENDED]: "errors.auth.account_suspended"
|
|
322
|
+
};
|
|
323
|
+
var OAUTH_PROVIDERS = {
|
|
324
|
+
/** Google OAuth 2.0 */
|
|
325
|
+
GOOGLE: "GOOGLE",
|
|
326
|
+
/** Facebook OAuth 2.0 */
|
|
327
|
+
FACEBOOK: "FACEBOOK",
|
|
328
|
+
/** Apple Sign In */
|
|
329
|
+
APPLE: "APPLE",
|
|
330
|
+
/** GitHub OAuth 2.0 */
|
|
331
|
+
GITHUB: "GITHUB",
|
|
332
|
+
/** Twitter OAuth 2.0 */
|
|
333
|
+
TWITTER: "TWITTER",
|
|
334
|
+
/** LinkedIn OAuth 2.0 */
|
|
335
|
+
LINKEDIN: "LINKEDIN",
|
|
336
|
+
/** Discord OAuth 2.0 */
|
|
337
|
+
DISCORD: "DISCORD",
|
|
338
|
+
/** Microsoft OAuth 2.0 */
|
|
339
|
+
MICROSOFT: "MICROSOFT"
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
// src/auth/auth-events.ts
|
|
343
|
+
var AUTH_EVENTS = {
|
|
344
|
+
/** User successfully authenticated */
|
|
345
|
+
USER_AUTHENTICATED: "auth.user.authenticated",
|
|
346
|
+
/** User signed up (new account created) */
|
|
347
|
+
USER_SIGNED_UP: "auth.user.signed_up",
|
|
348
|
+
/** User logged out */
|
|
349
|
+
USER_LOGGED_OUT: "auth.user.logged_out",
|
|
350
|
+
/** Authentication attempt failed */
|
|
351
|
+
AUTHENTICATION_FAILED: "auth.authentication.failed",
|
|
352
|
+
/** Session created */
|
|
353
|
+
SESSION_CREATED: "auth.session.created",
|
|
354
|
+
/** Session expired */
|
|
355
|
+
SESSION_EXPIRED: "auth.session.expired",
|
|
356
|
+
/** Session refreshed */
|
|
357
|
+
SESSION_REFRESHED: "auth.session.refreshed",
|
|
358
|
+
/** Session invalidated (logout) */
|
|
359
|
+
SESSION_INVALIDATED: "auth.session.invalidated",
|
|
360
|
+
/** Account linked to user */
|
|
361
|
+
ACCOUNT_LINKED: "auth.account.linked",
|
|
362
|
+
/** Account unlinked from user */
|
|
363
|
+
ACCOUNT_UNLINKED: "auth.account.unlinked",
|
|
364
|
+
/** Role assigned to user */
|
|
365
|
+
ROLE_ASSIGNED: "auth.rbac.role_assigned",
|
|
366
|
+
/** Role revoked from user */
|
|
367
|
+
ROLE_REVOKED: "auth.rbac.role_revoked",
|
|
368
|
+
/** Suspicious login attempt detected */
|
|
369
|
+
SUSPICIOUS_LOGIN_ATTEMPT: "auth.security.suspicious_login",
|
|
370
|
+
/** Password changed */
|
|
371
|
+
PASSWORD_CHANGED: "auth.password.changed",
|
|
372
|
+
/** Password reset requested */
|
|
373
|
+
PASSWORD_RESET_REQUESTED: "auth.password.reset_requested"
|
|
374
|
+
};
|
|
251
375
|
|
|
376
|
+
exports.AUTHPROVIDER = AUTHPROVIDER;
|
|
252
377
|
exports.AUTH_ERROR_CODES = AUTH_ERROR_CODES;
|
|
253
378
|
exports.AUTH_ERROR_DEFINITIONS = AUTH_ERROR_DEFINITIONS;
|
|
379
|
+
exports.AUTH_EVENTS = AUTH_EVENTS;
|
|
254
380
|
exports.AUTH_PROVIDER = AUTH_PROVIDER;
|
|
255
381
|
exports.AUTH_PROVIDER_TYPE = AUTH_PROVIDER_TYPE;
|
|
256
382
|
exports.ContactUsFormSchema = ContactUsFormSchema;
|
|
383
|
+
exports.ERROR_CODE_DESCRIPTIONS = ERROR_CODE_DESCRIPTIONS;
|
|
384
|
+
exports.ERROR_CODE_TO_HTTP_STATUS = ERROR_CODE_TO_HTTP_STATUS;
|
|
385
|
+
exports.MFATYPE = MFATYPE;
|
|
386
|
+
exports.OAUTH_PROVIDERS = OAUTH_PROVIDERS;
|
|
387
|
+
exports.PROVIDERTYPE = PROVIDERTYPE;
|
|
388
|
+
exports.SESSIONSTATUS = SESSIONSTATUS;
|
|
257
389
|
exports.SignupFormSchema = SignupFormSchema;
|
|
390
|
+
exports.TOKENTYPE = TOKENTYPE;
|
|
258
391
|
exports.TOKEN_TYPE = TOKEN_TYPE;
|
|
392
|
+
exports.USERROLESTATUS = USERROLESTATUS;
|
|
259
393
|
exports.USER_ROLE = USER_ROLE;
|
|
260
394
|
exports.USER_ROLE_STATUS = USER_ROLE_STATUS;
|
|
261
395
|
exports.USER_STATUS = USER_STATUS;
|