@allanfsouza/aether-sdk 2.5.1 → 2.5.2
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/ai.d.ts +1 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +1 -0
- package/dist/ai.js.map +1 -0
- package/dist/auth.d.ts +30 -15
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +156 -55
- package/dist/auth.js.map +1 -0
- package/dist/database.d.ts +1 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/database.js +1 -0
- package/dist/database.js.map +1 -0
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -0
- package/dist/functions.d.ts +1 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +1 -0
- package/dist/functions.js.map +1 -0
- package/dist/http-client.d.ts +1 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +1 -0
- package/dist/http-client.js.map +1 -0
- package/dist/index.d.ts +8 -9
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -20
- package/dist/index.js.map +1 -0
- package/dist/push.d.ts +1 -0
- package/dist/push.d.ts.map +1 -0
- package/dist/push.js +1 -0
- package/dist/push.js.map +1 -0
- package/dist/storage.d.ts +1 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +1 -0
- package/dist/storage.js.map +1 -0
- package/dist/tenant-auth.d.ts +1 -0
- package/dist/tenant-auth.d.ts.map +1 -0
- package/dist/tenant-auth.js +1 -0
- package/dist/tenant-auth.js.map +1 -0
- package/package.json +1 -1
- package/src/auth.ts +192 -61
- package/src/index.ts +53 -23
- package/tsconfig.json +16 -8
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { AxiosInstance } from "axios";
|
|
2
|
-
import { AuthModule, User } from "./auth.js";
|
|
3
2
|
import { DatabaseModule } from "./database.js";
|
|
4
3
|
import { StorageModule } from "./storage.js";
|
|
5
4
|
import { FunctionsModule } from "./functions.js";
|
|
6
5
|
import { PushModule } from "./push.js";
|
|
7
|
-
import { TenantAuthModule } from "./tenant-auth.js";
|
|
6
|
+
import { TenantAuthModule, TenantUser } from "./tenant-auth.js";
|
|
8
7
|
import { AIModule } from "./ai.js";
|
|
9
8
|
/**
|
|
10
9
|
* Configuração usada para criar o cliente principal da plataforma.
|
|
@@ -26,7 +25,6 @@ export type ClientConfig = {
|
|
|
26
25
|
persistSession?: boolean;
|
|
27
26
|
};
|
|
28
27
|
export declare class PlataformaClient {
|
|
29
|
-
auth: AuthModule;
|
|
30
28
|
db: DatabaseModule;
|
|
31
29
|
storage: StorageModule;
|
|
32
30
|
functions: FunctionsModule;
|
|
@@ -52,7 +50,7 @@ export declare class PlataformaClient {
|
|
|
52
50
|
getToken(): string | null;
|
|
53
51
|
/**
|
|
54
52
|
* Salva o refresh token.
|
|
55
|
-
* Usado internamente pelo
|
|
53
|
+
* Usado internamente pelo TenantAuthModule após login.
|
|
56
54
|
*/
|
|
57
55
|
setRefreshToken(token: string | null): void;
|
|
58
56
|
/**
|
|
@@ -60,13 +58,14 @@ export declare class PlataformaClient {
|
|
|
60
58
|
*/
|
|
61
59
|
getRefreshToken(): string | null;
|
|
62
60
|
/**
|
|
63
|
-
* Salva dados do usuário
|
|
61
|
+
* Salva dados do usuário tenant no localStorage.
|
|
62
|
+
* Usado internamente pelo TenantAuthModule após login.
|
|
64
63
|
*/
|
|
65
|
-
setUser(user:
|
|
64
|
+
setUser(user: TenantUser | null): void;
|
|
66
65
|
/**
|
|
67
|
-
* Retorna dados do usuário
|
|
66
|
+
* Retorna dados do usuário tenant salvos no localStorage.
|
|
68
67
|
*/
|
|
69
|
-
getUser():
|
|
68
|
+
getUser(): TenantUser | null;
|
|
70
69
|
/**
|
|
71
70
|
* Limpa toda a sessão (token, refresh, user).
|
|
72
71
|
* Chamado automaticamente no logout.
|
|
@@ -83,8 +82,8 @@ export declare class PlataformaClient {
|
|
|
83
82
|
private _restoreSession;
|
|
84
83
|
}
|
|
85
84
|
export { AetherError } from "./errors.js";
|
|
86
|
-
export type { LoginResponse, Session, User } from "./auth.js";
|
|
87
85
|
export type { ListOptions } from "./database.js";
|
|
88
86
|
export type { PushPlatform, PushEnvironment, PushDevice, RegisterDeviceParams, SendPushResponse, PushStatus, PushLogEntry, ListPushLogsOptions, PushStats, } from "./push.js";
|
|
89
87
|
export type { TenantUser, TenantLoginResponse, TenantRegisterCredentials, TenantLoginCredentials, } from "./tenant-auth.js";
|
|
90
88
|
export type { ChatOptions, ChatMetadata, AskResponse, Conversation, Message, FeedbackType, SemanticSearchOptions, SemanticSearchResult, GenerateOptions, RetrievedSource, UsageInfo, PersonaConfig, } from "./ai.js";
|
|
89
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,UAAU,EAIX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAYnC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAaF,qBAAa,gBAAgB;IAUpB,EAAE,EAAE,cAAc,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,EAAE,EAAE,QAAQ,CAAC;IAGb,QAAQ,EAAE,cAAc,CAAC;IAEzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC,IAAI,EAAE,aAAa,CAAC;IAE3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,YAAY;IA2ChC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAYpC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAQzB;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAU3C;;OAEG;IACH,eAAe,IAAI,MAAM,GAAG,IAAI;IAWhC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAUtC;;OAEG;IACH,OAAO,IAAI,UAAU,GAAG,IAAI;IAmB5B;;;OAGG;IACH,YAAY,IAAI,IAAI;IAUpB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAUxB;AASD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,GACd,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// AETHER SDK - Cliente Principal
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// SEGURANÇA: AuthModule foi REMOVIDO do SDK público.
|
|
6
|
+
// O módulo auth é exclusivo para o painel administrativo do Aether (web-admin).
|
|
7
|
+
// Apps client-side devem usar APENAS tenantAuth para autenticar seus usuários.
|
|
8
|
+
// =============================================================================
|
|
1
9
|
import { createHttpClient } from "./http-client.js";
|
|
2
|
-
import { AuthModule } from "./auth.js";
|
|
3
10
|
import { DatabaseModule } from "./database.js";
|
|
4
11
|
import { StorageModule } from "./storage.js";
|
|
5
12
|
import { FunctionsModule } from "./functions.js";
|
|
6
13
|
import { PushModule } from "./push.js";
|
|
7
|
-
import { TenantAuthModule } from "./tenant-auth.js";
|
|
14
|
+
import { TenantAuthModule, } from "./tenant-auth.js";
|
|
8
15
|
import { AIModule } from "./ai.js";
|
|
9
16
|
// =============================================================================
|
|
10
17
|
// CONSTANTES DE STORAGE
|
|
@@ -42,8 +49,12 @@ export class PlataformaClient {
|
|
|
42
49
|
// Isso garante que requisições iniciais já tenham o token
|
|
43
50
|
this._restoreSession();
|
|
44
51
|
this.http = createHttpClient(this);
|
|
45
|
-
//
|
|
46
|
-
|
|
52
|
+
// =========================================================================
|
|
53
|
+
// INICIALIZAÇÃO DOS MÓDULOS
|
|
54
|
+
// =========================================================================
|
|
55
|
+
// SEGURANÇA: AuthModule NÃO é inicializado aqui.
|
|
56
|
+
// Apenas módulos seguros para client-side são expostos.
|
|
57
|
+
// =========================================================================
|
|
47
58
|
this.db = new DatabaseModule(this, this.http);
|
|
48
59
|
this.storage = new StorageModule(this, this.http);
|
|
49
60
|
this.functions = new FunctionsModule(this, this.http);
|
|
@@ -82,7 +93,7 @@ export class PlataformaClient {
|
|
|
82
93
|
// ===========================================================================
|
|
83
94
|
/**
|
|
84
95
|
* Salva o refresh token.
|
|
85
|
-
* Usado internamente pelo
|
|
96
|
+
* Usado internamente pelo TenantAuthModule após login.
|
|
86
97
|
*/
|
|
87
98
|
setRefreshToken(token) {
|
|
88
99
|
if (this._persistSession && isBrowser()) {
|
|
@@ -98,16 +109,17 @@ export class PlataformaClient {
|
|
|
98
109
|
* Retorna o refresh token salvo no localStorage.
|
|
99
110
|
*/
|
|
100
111
|
getRefreshToken() {
|
|
101
|
-
if (
|
|
112
|
+
if (isBrowser()) {
|
|
102
113
|
return localStorage.getItem(STORAGE_KEYS.REFRESH_TOKEN);
|
|
103
114
|
}
|
|
104
115
|
return null;
|
|
105
116
|
}
|
|
106
117
|
// ===========================================================================
|
|
107
|
-
//
|
|
118
|
+
// USER DATA (TENANT USER)
|
|
108
119
|
// ===========================================================================
|
|
109
120
|
/**
|
|
110
|
-
* Salva dados do usuário
|
|
121
|
+
* Salva dados do usuário tenant no localStorage.
|
|
122
|
+
* Usado internamente pelo TenantAuthModule após login.
|
|
111
123
|
*/
|
|
112
124
|
setUser(user) {
|
|
113
125
|
if (this._persistSession && isBrowser()) {
|
|
@@ -120,21 +132,20 @@ export class PlataformaClient {
|
|
|
120
132
|
}
|
|
121
133
|
}
|
|
122
134
|
/**
|
|
123
|
-
* Retorna dados do usuário
|
|
135
|
+
* Retorna dados do usuário tenant salvos no localStorage.
|
|
124
136
|
*/
|
|
125
137
|
getUser() {
|
|
126
|
-
if (
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return JSON.parse(
|
|
131
|
-
}
|
|
132
|
-
catch {
|
|
133
|
-
// JSON corrompido - limpa
|
|
134
|
-
localStorage.removeItem(STORAGE_KEYS.USER);
|
|
135
|
-
return null;
|
|
138
|
+
if (isBrowser()) {
|
|
139
|
+
try {
|
|
140
|
+
const raw = localStorage.getItem(STORAGE_KEYS.USER);
|
|
141
|
+
if (raw) {
|
|
142
|
+
return JSON.parse(raw);
|
|
136
143
|
}
|
|
137
144
|
}
|
|
145
|
+
catch {
|
|
146
|
+
// JSON inválido - limpa o dado corrompido
|
|
147
|
+
localStorage.removeItem(STORAGE_KEYS.USER);
|
|
148
|
+
}
|
|
138
149
|
}
|
|
139
150
|
return null;
|
|
140
151
|
}
|
|
@@ -173,5 +184,11 @@ export class PlataformaClient {
|
|
|
173
184
|
}
|
|
174
185
|
}
|
|
175
186
|
}
|
|
176
|
-
//
|
|
187
|
+
// =============================================================================
|
|
188
|
+
// EXPORTS PÚBLICOS
|
|
189
|
+
// =============================================================================
|
|
190
|
+
// NOTA: Tipos do auth.ts (User, LoginResponse, Session) foram REMOVIDOS
|
|
191
|
+
// pois pertencem ao módulo administrativo, não ao SDK público.
|
|
192
|
+
// =============================================================================
|
|
177
193
|
export { AetherError } from "./errors.js";
|
|
194
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/push.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
package/dist/push.js
CHANGED
package/dist/push.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IASzD;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM;uBAEI,MAAM,QAAQ,IAAI,GAAG,IAAI,GAAG,MAAM;;;;;;;;;;;;IAwB3D;;OAEG;IACG,MAAM,CACV,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;IAwCX,IAAI,CAAC,MAAM,SAAK;IAOhB,MAAM,CAAC,MAAM,EAAE,MAAM;CAI5B"}
|
package/dist/storage.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/tenant-auth.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-auth.d.ts","sourceRoot":"","sources":["../src/tenant-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/tenant-auth.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-auth.js","sourceRoot":"","sources":["../src/tenant-auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/auth.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
// src/auth.ts
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// MÓDULO DE AUTENTICAÇÃO ADMINISTRATIVA
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// ⚠️ USO EXCLUSIVO DO WEB-ADMIN - NÃO EXPOSTO NO SDK PÚBLICO
|
|
6
|
+
// Este módulo gerencia autenticação contra a tabela GLOBAL 'users' do Aether.
|
|
7
|
+
// Apps client-side devem usar TenantAuthModule (tenant-auth.ts).
|
|
8
|
+
// =============================================================================
|
|
9
|
+
|
|
10
|
+
import axios from "axios";
|
|
2
11
|
import type { AxiosInstance } from "axios";
|
|
3
|
-
import type { PlataformaClient } from "./index.js";
|
|
4
12
|
|
|
5
|
-
//
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// INTERFACES
|
|
15
|
+
// =============================================================================
|
|
16
|
+
|
|
6
17
|
export interface User {
|
|
7
18
|
id: string;
|
|
8
19
|
name: string;
|
|
@@ -28,20 +39,64 @@ export interface Session {
|
|
|
28
39
|
expiresAt: string;
|
|
29
40
|
}
|
|
30
41
|
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// CONSTANTES DE STORAGE (separadas do SDK público para evitar conflito)
|
|
44
|
+
// =============================================================================
|
|
45
|
+
const ADMIN_STORAGE_KEYS = {
|
|
46
|
+
TOKEN: "aether_admin_token",
|
|
47
|
+
REFRESH_TOKEN: "aether_admin_refresh",
|
|
48
|
+
USER: "aether_admin_user",
|
|
49
|
+
} as const;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Verifica se estamos em ambiente browser com localStorage disponível.
|
|
53
|
+
*/
|
|
54
|
+
function isBrowser(): boolean {
|
|
55
|
+
return (
|
|
56
|
+
typeof window !== "undefined" &&
|
|
57
|
+
typeof window.localStorage !== "undefined"
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// =============================================================================
|
|
62
|
+
// CLASSE PRINCIPAL
|
|
63
|
+
// =============================================================================
|
|
64
|
+
|
|
31
65
|
export class AuthModule {
|
|
32
|
-
private client: PlataformaClient;
|
|
33
66
|
private http: AxiosInstance;
|
|
67
|
+
private apiUrl: string;
|
|
34
68
|
|
|
35
|
-
// Armazena
|
|
36
|
-
// Persistência fica no PlataformaClient (localStorage)
|
|
69
|
+
// Armazena dados em memória para acesso rápido
|
|
37
70
|
private currentUser: User | null = null;
|
|
71
|
+
private accessToken: string | null = null;
|
|
72
|
+
private refreshToken: string | null = null;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Cria uma instância do módulo de autenticação administrativa.
|
|
76
|
+
* @param apiUrl URL base da API do Aether (ex: https://api.aether.dev)
|
|
77
|
+
*/
|
|
78
|
+
constructor(apiUrl: string) {
|
|
79
|
+
this.apiUrl = apiUrl.replace(/\/+$/, "");
|
|
80
|
+
|
|
81
|
+
// Cria instância HTTP dedicada para auth admin
|
|
82
|
+
this.http = axios.create({
|
|
83
|
+
baseURL: `${this.apiUrl}/v1`,
|
|
84
|
+
headers: {
|
|
85
|
+
"Content-Type": "application/json",
|
|
86
|
+
},
|
|
87
|
+
});
|
|
38
88
|
|
|
39
|
-
|
|
40
|
-
this.
|
|
41
|
-
|
|
89
|
+
// Interceptor para adicionar token em todas as requisições
|
|
90
|
+
this.http.interceptors.request.use((config) => {
|
|
91
|
+
const token = this.getToken();
|
|
92
|
+
if (token) {
|
|
93
|
+
config.headers.Authorization = `Bearer ${token}`;
|
|
94
|
+
}
|
|
95
|
+
return config;
|
|
96
|
+
});
|
|
42
97
|
|
|
43
|
-
// Restaura
|
|
44
|
-
this.
|
|
98
|
+
// Restaura sessão do localStorage se existir
|
|
99
|
+
this._restoreSession();
|
|
45
100
|
}
|
|
46
101
|
|
|
47
102
|
// ==========================================================================
|
|
@@ -56,18 +111,13 @@ export class AuthModule {
|
|
|
56
111
|
});
|
|
57
112
|
|
|
58
113
|
if (data.accessToken) {
|
|
59
|
-
|
|
60
|
-
this.client.setToken(data.accessToken);
|
|
61
|
-
this.client.setRefreshToken(data.refreshToken);
|
|
62
|
-
this.client.setUser(data.user);
|
|
63
|
-
this.currentUser = data.user;
|
|
114
|
+
this._setSession(data.accessToken, data.refreshToken, data.user);
|
|
64
115
|
}
|
|
65
116
|
|
|
66
117
|
return data;
|
|
67
118
|
} catch (e) {
|
|
68
119
|
// Limpa tudo em caso de erro
|
|
69
|
-
this.
|
|
70
|
-
this.currentUser = null;
|
|
120
|
+
this.clearSession();
|
|
71
121
|
throw e;
|
|
72
122
|
}
|
|
73
123
|
}
|
|
@@ -76,16 +126,16 @@ export class AuthModule {
|
|
|
76
126
|
name: string;
|
|
77
127
|
email: string;
|
|
78
128
|
password: string;
|
|
79
|
-
}) {
|
|
129
|
+
}): Promise<LoginResponse> {
|
|
80
130
|
try {
|
|
81
|
-
const { data } = await this.http.post(
|
|
131
|
+
const { data } = await this.http.post<LoginResponse>(
|
|
132
|
+
"/auth/register",
|
|
133
|
+
credentials
|
|
134
|
+
);
|
|
82
135
|
|
|
83
136
|
// Se o register retornar token (auto-login), configura sessão
|
|
84
137
|
if (data.accessToken) {
|
|
85
|
-
this.
|
|
86
|
-
this.client.setRefreshToken(data.refreshToken);
|
|
87
|
-
this.client.setUser(data.user);
|
|
88
|
-
this.currentUser = data.user;
|
|
138
|
+
this._setSession(data.accessToken, data.refreshToken, data.user);
|
|
89
139
|
}
|
|
90
140
|
|
|
91
141
|
return data;
|
|
@@ -95,8 +145,7 @@ export class AuthModule {
|
|
|
95
145
|
}
|
|
96
146
|
|
|
97
147
|
async refresh(): Promise<{ accessToken: string }> {
|
|
98
|
-
|
|
99
|
-
const refreshToken = this.client.getRefreshToken() || this.getRefreshToken();
|
|
148
|
+
const refreshToken = this.getRefreshToken();
|
|
100
149
|
|
|
101
150
|
if (!refreshToken) {
|
|
102
151
|
throw new Error("Nenhum refresh token disponível");
|
|
@@ -108,29 +157,30 @@ export class AuthModule {
|
|
|
108
157
|
});
|
|
109
158
|
|
|
110
159
|
if (data.accessToken) {
|
|
111
|
-
this.
|
|
160
|
+
this.accessToken = data.accessToken;
|
|
161
|
+
this._persistToken();
|
|
112
162
|
|
|
113
163
|
// Se vier novo refresh token, atualiza
|
|
114
164
|
if (data.refreshToken) {
|
|
115
|
-
this.
|
|
165
|
+
this.refreshToken = data.refreshToken;
|
|
166
|
+
this._persistRefreshToken();
|
|
116
167
|
}
|
|
117
168
|
}
|
|
118
169
|
|
|
119
170
|
return data;
|
|
120
171
|
} catch (e) {
|
|
121
172
|
// Token expirado - limpa sessão
|
|
122
|
-
this.
|
|
123
|
-
this.currentUser = null;
|
|
173
|
+
this.clearSession();
|
|
124
174
|
throw e;
|
|
125
175
|
}
|
|
126
176
|
}
|
|
127
177
|
|
|
128
178
|
getGoogleAuthUrl(): string {
|
|
129
|
-
return `${this.
|
|
179
|
+
return `${this.apiUrl}/v1/auth/google`;
|
|
130
180
|
}
|
|
131
181
|
|
|
132
182
|
async logout(): Promise<void> {
|
|
133
|
-
const refreshToken = this.
|
|
183
|
+
const refreshToken = this.getRefreshToken();
|
|
134
184
|
|
|
135
185
|
if (refreshToken) {
|
|
136
186
|
try {
|
|
@@ -141,16 +191,14 @@ export class AuthModule {
|
|
|
141
191
|
}
|
|
142
192
|
|
|
143
193
|
// Limpa tudo (memória + localStorage)
|
|
144
|
-
this.
|
|
145
|
-
this.currentUser = null;
|
|
194
|
+
this.clearSession();
|
|
146
195
|
}
|
|
147
196
|
|
|
148
197
|
async logoutAll(): Promise<void> {
|
|
149
198
|
try {
|
|
150
199
|
await this.http.post("/auth/logout-all");
|
|
151
200
|
} finally {
|
|
152
|
-
this.
|
|
153
|
-
this.currentUser = null;
|
|
201
|
+
this.clearSession();
|
|
154
202
|
}
|
|
155
203
|
}
|
|
156
204
|
|
|
@@ -174,18 +222,34 @@ export class AuthModule {
|
|
|
174
222
|
return data;
|
|
175
223
|
}
|
|
176
224
|
|
|
225
|
+
// ==========================================================================
|
|
226
|
+
// GETTERS DE SESSÃO
|
|
227
|
+
// ==========================================================================
|
|
228
|
+
|
|
229
|
+
getToken(): string | null {
|
|
230
|
+
return this.accessToken;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
getRefreshToken(): string | null {
|
|
234
|
+
return this.refreshToken;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
getUser(): User | null {
|
|
238
|
+
return this.currentUser;
|
|
239
|
+
}
|
|
240
|
+
|
|
177
241
|
/**
|
|
178
|
-
*
|
|
242
|
+
* Alias para getUser() - compatibilidade com código existente.
|
|
179
243
|
*/
|
|
180
|
-
|
|
181
|
-
return this.
|
|
244
|
+
getCurrentUser(): User | null {
|
|
245
|
+
return this.currentUser;
|
|
182
246
|
}
|
|
183
247
|
|
|
184
248
|
/**
|
|
185
|
-
*
|
|
249
|
+
* Verifica se existe uma sessão ativa.
|
|
186
250
|
*/
|
|
187
|
-
|
|
188
|
-
this.
|
|
251
|
+
isAuthenticated(): boolean {
|
|
252
|
+
return this.accessToken !== null && this.currentUser !== null;
|
|
189
253
|
}
|
|
190
254
|
|
|
191
255
|
// ==========================================================================
|
|
@@ -238,7 +302,7 @@ export class AuthModule {
|
|
|
238
302
|
* Se não encontrar, retorna null.
|
|
239
303
|
*/
|
|
240
304
|
async getSession() {
|
|
241
|
-
const token = this.
|
|
305
|
+
const token = this.getToken();
|
|
242
306
|
if (!token) return null;
|
|
243
307
|
|
|
244
308
|
// Tenta memória primeiro
|
|
@@ -249,38 +313,105 @@ export class AuthModule {
|
|
|
249
313
|
};
|
|
250
314
|
}
|
|
251
315
|
|
|
252
|
-
// Tenta localStorage
|
|
253
|
-
const savedUser = this.client.getUser();
|
|
254
|
-
if (savedUser) {
|
|
255
|
-
this.currentUser = savedUser;
|
|
256
|
-
return {
|
|
257
|
-
user: savedUser,
|
|
258
|
-
access_token: token,
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
|
|
262
316
|
// Última opção: valida token no backend
|
|
263
317
|
try {
|
|
264
318
|
const { data } = await this.http.get<{ user: User }>("/auth/me");
|
|
265
319
|
this.currentUser = data.user;
|
|
266
|
-
this.
|
|
320
|
+
this._persistUser();
|
|
267
321
|
return {
|
|
268
322
|
user: data.user,
|
|
269
323
|
access_token: token,
|
|
270
324
|
};
|
|
271
325
|
} catch {
|
|
272
326
|
// Token inválido/expirado - limpa sessão
|
|
273
|
-
this.
|
|
274
|
-
this.currentUser = null;
|
|
327
|
+
this.clearSession();
|
|
275
328
|
return null;
|
|
276
329
|
}
|
|
277
330
|
}
|
|
278
331
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
332
|
+
// ==========================================================================
|
|
333
|
+
// GERENCIAMENTO DE SESSÃO (INTERNO)
|
|
334
|
+
// ==========================================================================
|
|
335
|
+
|
|
336
|
+
clearSession(): void {
|
|
337
|
+
this.accessToken = null;
|
|
338
|
+
this.refreshToken = null;
|
|
339
|
+
this.currentUser = null;
|
|
340
|
+
|
|
341
|
+
if (isBrowser()) {
|
|
342
|
+
localStorage.removeItem(ADMIN_STORAGE_KEYS.TOKEN);
|
|
343
|
+
localStorage.removeItem(ADMIN_STORAGE_KEYS.REFRESH_TOKEN);
|
|
344
|
+
localStorage.removeItem(ADMIN_STORAGE_KEYS.USER);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
private _setSession(
|
|
349
|
+
token: string,
|
|
350
|
+
refresh: string,
|
|
351
|
+
user: User
|
|
352
|
+
): void {
|
|
353
|
+
this.accessToken = token;
|
|
354
|
+
this.refreshToken = refresh;
|
|
355
|
+
this.currentUser = user;
|
|
356
|
+
this._persistAll();
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
private _persistAll(): void {
|
|
360
|
+
this._persistToken();
|
|
361
|
+
this._persistRefreshToken();
|
|
362
|
+
this._persistUser();
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
private _persistToken(): void {
|
|
366
|
+
if (isBrowser() && this.accessToken) {
|
|
367
|
+
localStorage.setItem(ADMIN_STORAGE_KEYS.TOKEN, this.accessToken);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
private _persistRefreshToken(): void {
|
|
372
|
+
if (isBrowser() && this.refreshToken) {
|
|
373
|
+
localStorage.setItem(ADMIN_STORAGE_KEYS.REFRESH_TOKEN, this.refreshToken);
|
|
374
|
+
}
|
|
285
375
|
}
|
|
376
|
+
|
|
377
|
+
private _persistUser(): void {
|
|
378
|
+
if (isBrowser() && this.currentUser) {
|
|
379
|
+
localStorage.setItem(
|
|
380
|
+
ADMIN_STORAGE_KEYS.USER,
|
|
381
|
+
JSON.stringify(this.currentUser)
|
|
382
|
+
);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
private _restoreSession(): void {
|
|
387
|
+
if (!isBrowser()) return;
|
|
388
|
+
|
|
389
|
+
const token = localStorage.getItem(ADMIN_STORAGE_KEYS.TOKEN);
|
|
390
|
+
const refresh = localStorage.getItem(ADMIN_STORAGE_KEYS.REFRESH_TOKEN);
|
|
391
|
+
const userJson = localStorage.getItem(ADMIN_STORAGE_KEYS.USER);
|
|
392
|
+
|
|
393
|
+
if (token) this.accessToken = token;
|
|
394
|
+
if (refresh) this.refreshToken = refresh;
|
|
395
|
+
|
|
396
|
+
if (userJson) {
|
|
397
|
+
try {
|
|
398
|
+
this.currentUser = JSON.parse(userJson);
|
|
399
|
+
} catch {
|
|
400
|
+
// JSON inválido - limpa o dado corrompido
|
|
401
|
+
localStorage.removeItem(ADMIN_STORAGE_KEYS.USER);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// =============================================================================
|
|
408
|
+
// FACTORY FUNCTION (Alternativa ao construtor)
|
|
409
|
+
// =============================================================================
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Cria uma instância do módulo de autenticação administrativa.
|
|
413
|
+
* Uso: const auth = createAdminAuth("https://api.aether.dev");
|
|
414
|
+
*/
|
|
415
|
+
export function createAdminAuth(apiUrl: string): AuthModule {
|
|
416
|
+
return new AuthModule(apiUrl);
|
|
286
417
|
}
|