@thetechfossil/auth2 1.2.19 → 1.2.21

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 (38) hide show
  1. package/README.md +1 -1
  2. package/dist/index.components.d.mts +1 -0
  3. package/dist/index.components.d.ts +1 -0
  4. package/dist/index.components.js +275 -11
  5. package/dist/index.components.js.map +1 -1
  6. package/dist/index.components.mjs +275 -11
  7. package/dist/index.components.mjs.map +1 -1
  8. package/dist/index.d.mts +111 -3
  9. package/dist/index.d.ts +111 -3
  10. package/dist/index.js +470 -30
  11. package/dist/index.js.map +1 -1
  12. package/dist/index.mjs +471 -32
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/index.next.d.mts +54 -1
  15. package/dist/index.next.d.ts +54 -1
  16. package/dist/index.next.js +332 -26
  17. package/dist/index.next.js.map +1 -1
  18. package/dist/index.next.mjs +332 -26
  19. package/dist/index.next.mjs.map +1 -1
  20. package/dist/index.next.server.d.mts +81 -2
  21. package/dist/index.next.server.d.ts +81 -2
  22. package/dist/index.next.server.js +406 -9
  23. package/dist/index.next.server.js.map +1 -1
  24. package/dist/index.next.server.mjs +403 -10
  25. package/dist/index.next.server.mjs.map +1 -1
  26. package/dist/index.node.d.mts +81 -2
  27. package/dist/index.node.d.ts +81 -2
  28. package/dist/index.node.js +406 -9
  29. package/dist/index.node.js.map +1 -1
  30. package/dist/index.node.mjs +403 -10
  31. package/dist/index.node.mjs.map +1 -1
  32. package/dist/index.react-native.d.mts +227 -0
  33. package/dist/index.react-native.d.ts +227 -0
  34. package/dist/index.react-native.js +1684 -0
  35. package/dist/index.react-native.js.map +1 -0
  36. package/dist/index.react-native.mjs +1648 -0
  37. package/dist/index.react-native.mjs.map +1 -0
  38. package/package.json +119 -102
@@ -16,6 +16,8 @@ interface User {
16
16
  phoneNumber?: string;
17
17
  avatar?: string;
18
18
  role: string;
19
+ emailVerified?: boolean;
20
+ twoFactorEnabled?: boolean;
19
21
  linkedAccounts?: LinkedAccount[];
20
22
  createdAt: string;
21
23
  updatedAt: string;
@@ -65,6 +67,7 @@ interface AuthConfig {
65
67
  localStorageKey?: string;
66
68
  token?: string;
67
69
  csrfEnabled?: boolean;
70
+ enableSocket?: boolean;
68
71
  upfilesConfig?: UpfilesConfig;
69
72
  }
70
73
  interface UpfilesConfig {
@@ -132,17 +135,57 @@ interface UseAuthReturn {
132
135
  }>;
133
136
  revokeSession: (sessionId: string) => Promise<AuthResponse>;
134
137
  revokeAllSessions: () => Promise<AuthResponse>;
138
+ adminCreateUser: (data: {
139
+ email: string;
140
+ name: string;
141
+ phoneNumber?: string;
142
+ password?: string;
143
+ }) => Promise<AuthResponse & {
144
+ user?: User;
145
+ }>;
146
+ adminVerifyUser: (userId: string) => Promise<AuthResponse>;
147
+ adminSuspendUser: (userId: string) => Promise<AuthResponse>;
148
+ adminActivateUser: (userId: string) => Promise<AuthResponse>;
135
149
  }
136
150
 
151
+ type SocketEventHandler<T = any> = (data: T) => void;
152
+
137
153
  declare class AuthService {
138
154
  private httpClient;
155
+ private socketService;
139
156
  private config;
140
157
  private token;
141
158
  private upfilesClient;
159
+ private cachedUser;
160
+ private userCacheTimestamp;
161
+ private readonly USER_CACHE_TTL;
142
162
  constructor(config: AuthConfig);
143
163
  private loadTokenFromStorage;
144
164
  private saveTokenToStorage;
145
165
  private removeTokenFromStorage;
166
+ private connectSocket;
167
+ private disconnectSocket;
168
+ onUserUpdated(handler: SocketEventHandler<{
169
+ user: User;
170
+ }>): () => void;
171
+ onSessionRevoked(handler: SocketEventHandler<{
172
+ sessionId?: string;
173
+ }>): () => void;
174
+ onAllSessionsRevoked(handler: SocketEventHandler<{}>): () => void;
175
+ onPasswordChanged(handler: SocketEventHandler<{}>): () => void;
176
+ on2FAChanged(handler: SocketEventHandler<{
177
+ enabled: boolean;
178
+ }>): () => void;
179
+ onSocketConnected(handler: SocketEventHandler<{}>): () => void;
180
+ onSocketDisconnected(handler: SocketEventHandler<{
181
+ reason: string;
182
+ }>): () => void;
183
+ onSocketError(handler: SocketEventHandler<{
184
+ error: string;
185
+ }>): () => void;
186
+ isSocketConnected(): boolean;
187
+ clearUserCache(): void;
188
+ private isCacheValid;
146
189
  isAuthenticated(): boolean;
147
190
  getToken(): string | null;
148
191
  getCurrentUser(): User | null;
@@ -156,7 +199,7 @@ declare class AuthService {
156
199
  verify(data: VerifyData): Promise<AuthResponse>;
157
200
  verifyEmailToken(token: string): Promise<AuthResponse>;
158
201
  logout(): Promise<void>;
159
- getProfile(): Promise<User>;
202
+ getProfile(forceRefresh?: boolean): Promise<User>;
160
203
  updateProfile(data: UpdateUserData): Promise<AuthResponse>;
161
204
  getAllUsers(): Promise<User[]>;
162
205
  getUserById(id: string): Promise<User>;
@@ -187,6 +230,14 @@ declare class AuthService {
187
230
  success: boolean;
188
231
  logs: any[];
189
232
  }>;
233
+ adminCreateUser(data: {
234
+ email: string;
235
+ name: string;
236
+ phoneNumber?: string;
237
+ password?: string;
238
+ }): Promise<AuthResponse & {
239
+ user?: User;
240
+ }>;
190
241
  adminVerifyUser(userId: string): Promise<AuthResponse>;
191
242
  adminForcePasswordReset(userId: string): Promise<AuthResponse>;
192
243
  adminSuspendUser(userId: string): Promise<AuthResponse>;
@@ -199,6 +250,7 @@ declare class HttpClient {
199
250
  private frontendBaseUrl;
200
251
  private baseUrl;
201
252
  constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
253
+ private createUserFriendlyError;
202
254
  get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
203
255
  post<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
204
256
  put<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
@@ -236,6 +288,7 @@ interface AuthContextValue {
236
288
  isLoaded: boolean;
237
289
  isSignedIn: boolean;
238
290
  loading: boolean;
291
+ isSocketConnected: boolean;
239
292
  signIn: (data: LoginData) => Promise<AuthResponse>;
240
293
  signUp: (data: RegisterData) => Promise<AuthResponse>;
241
294
  signOut: () => Promise<void>;
@@ -16,6 +16,8 @@ interface User {
16
16
  phoneNumber?: string;
17
17
  avatar?: string;
18
18
  role: string;
19
+ emailVerified?: boolean;
20
+ twoFactorEnabled?: boolean;
19
21
  linkedAccounts?: LinkedAccount[];
20
22
  createdAt: string;
21
23
  updatedAt: string;
@@ -65,6 +67,7 @@ interface AuthConfig {
65
67
  localStorageKey?: string;
66
68
  token?: string;
67
69
  csrfEnabled?: boolean;
70
+ enableSocket?: boolean;
68
71
  upfilesConfig?: UpfilesConfig;
69
72
  }
70
73
  interface UpfilesConfig {
@@ -132,17 +135,57 @@ interface UseAuthReturn {
132
135
  }>;
133
136
  revokeSession: (sessionId: string) => Promise<AuthResponse>;
134
137
  revokeAllSessions: () => Promise<AuthResponse>;
138
+ adminCreateUser: (data: {
139
+ email: string;
140
+ name: string;
141
+ phoneNumber?: string;
142
+ password?: string;
143
+ }) => Promise<AuthResponse & {
144
+ user?: User;
145
+ }>;
146
+ adminVerifyUser: (userId: string) => Promise<AuthResponse>;
147
+ adminSuspendUser: (userId: string) => Promise<AuthResponse>;
148
+ adminActivateUser: (userId: string) => Promise<AuthResponse>;
135
149
  }
136
150
 
151
+ type SocketEventHandler<T = any> = (data: T) => void;
152
+
137
153
  declare class AuthService {
138
154
  private httpClient;
155
+ private socketService;
139
156
  private config;
140
157
  private token;
141
158
  private upfilesClient;
159
+ private cachedUser;
160
+ private userCacheTimestamp;
161
+ private readonly USER_CACHE_TTL;
142
162
  constructor(config: AuthConfig);
143
163
  private loadTokenFromStorage;
144
164
  private saveTokenToStorage;
145
165
  private removeTokenFromStorage;
166
+ private connectSocket;
167
+ private disconnectSocket;
168
+ onUserUpdated(handler: SocketEventHandler<{
169
+ user: User;
170
+ }>): () => void;
171
+ onSessionRevoked(handler: SocketEventHandler<{
172
+ sessionId?: string;
173
+ }>): () => void;
174
+ onAllSessionsRevoked(handler: SocketEventHandler<{}>): () => void;
175
+ onPasswordChanged(handler: SocketEventHandler<{}>): () => void;
176
+ on2FAChanged(handler: SocketEventHandler<{
177
+ enabled: boolean;
178
+ }>): () => void;
179
+ onSocketConnected(handler: SocketEventHandler<{}>): () => void;
180
+ onSocketDisconnected(handler: SocketEventHandler<{
181
+ reason: string;
182
+ }>): () => void;
183
+ onSocketError(handler: SocketEventHandler<{
184
+ error: string;
185
+ }>): () => void;
186
+ isSocketConnected(): boolean;
187
+ clearUserCache(): void;
188
+ private isCacheValid;
146
189
  isAuthenticated(): boolean;
147
190
  getToken(): string | null;
148
191
  getCurrentUser(): User | null;
@@ -156,7 +199,7 @@ declare class AuthService {
156
199
  verify(data: VerifyData): Promise<AuthResponse>;
157
200
  verifyEmailToken(token: string): Promise<AuthResponse>;
158
201
  logout(): Promise<void>;
159
- getProfile(): Promise<User>;
202
+ getProfile(forceRefresh?: boolean): Promise<User>;
160
203
  updateProfile(data: UpdateUserData): Promise<AuthResponse>;
161
204
  getAllUsers(): Promise<User[]>;
162
205
  getUserById(id: string): Promise<User>;
@@ -187,6 +230,14 @@ declare class AuthService {
187
230
  success: boolean;
188
231
  logs: any[];
189
232
  }>;
233
+ adminCreateUser(data: {
234
+ email: string;
235
+ name: string;
236
+ phoneNumber?: string;
237
+ password?: string;
238
+ }): Promise<AuthResponse & {
239
+ user?: User;
240
+ }>;
190
241
  adminVerifyUser(userId: string): Promise<AuthResponse>;
191
242
  adminForcePasswordReset(userId: string): Promise<AuthResponse>;
192
243
  adminSuspendUser(userId: string): Promise<AuthResponse>;
@@ -199,6 +250,7 @@ declare class HttpClient {
199
250
  private frontendBaseUrl;
200
251
  private baseUrl;
201
252
  constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
253
+ private createUserFriendlyError;
202
254
  get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
203
255
  post<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
204
256
  put<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
@@ -236,6 +288,7 @@ interface AuthContextValue {
236
288
  isLoaded: boolean;
237
289
  isSignedIn: boolean;
238
290
  loading: boolean;
291
+ isSocketConnected: boolean;
239
292
  signIn: (data: LoginData) => Promise<AuthResponse>;
240
293
  signUp: (data: RegisterData) => Promise<AuthResponse>;
241
294
  signOut: () => Promise<void>;