@aether-baas/core 3.5.1 → 3.6.1
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/aether.d.ts.map +1 -1
- package/dist/aether.js +2 -4
- package/dist/aether.js.map +1 -1
- package/dist/modules/functions.d.ts +42 -7
- package/dist/modules/functions.d.ts.map +1 -1
- package/dist/modules/functions.js +108 -17
- package/dist/modules/functions.js.map +1 -1
- package/dist/modules/storage.d.ts +1 -7
- package/dist/modules/storage.d.ts.map +1 -1
- package/dist/modules/storage.js +22 -41
- package/dist/modules/storage.js.map +1 -1
- package/package.json +9 -9
package/dist/aether.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aether.d.ts","sourceRoot":"","sources":["../src/aether.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"aether.d.ts","sourceRoot":"","sources":["../src/aether.ts"],"names":[],"mappings":"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"}
|
package/dist/aether.js
CHANGED
|
@@ -118,11 +118,9 @@ function createAetherNamespace() {
|
|
|
118
118
|
async upload(fileName, file) {
|
|
119
119
|
// Extract file name and content type
|
|
120
120
|
const contentType = file instanceof File ? file.type : 'application/octet-stream';
|
|
121
|
+
// Now throws on error, returns FileObject on success
|
|
121
122
|
const result = await requireClient().storage.upload(file, fileName, contentType);
|
|
122
|
-
|
|
123
|
-
throw new Error(result.error || 'Upload failed');
|
|
124
|
-
}
|
|
125
|
-
return { url: result.data.downloadUrl || '' };
|
|
123
|
+
return { url: result.downloadUrl || '' };
|
|
126
124
|
},
|
|
127
125
|
async getUrl(path) {
|
|
128
126
|
return requireClient().storage.getPublicUrl(path);
|
package/dist/aether.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aether.js","sourceRoot":"","sources":["../src/aether.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAChF,qDAAqD;AACrD,EAAE;AACF,SAAS;AACT,gDAAgD;AAChD,EAAE;AACF,+CAA+C;AAC/C,iDAAiD;AACjD,kEAAkE;AAClE,iDAAiD;AACjD,gFAAgF;AAEhF,OAAO,EAA+B,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAqNjG,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,SAAS,qBAAqB;IAC1B,4BAA4B;IAC5B,IAAI,OAAO,GAA4B,IAAI,CAAC;IAE5C,mCAAmC;IACnC,MAAM,aAAa,GAAG,GAAqB,EAAE;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACX,+DAA+D,CAClE,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF,4EAA4E;IAC5E,gCAAgC;IAChC,4EAA4E;IAC5E,MAAM,IAAI,GAAwB;QAC9B,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;YACxC,OAAO,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE,IAAa;YACvD,OAAO,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,KAAK,CAAC,OAAO;YACT,MAAM,aAAa,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC;QAED,cAAc;YACV,OAAO,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;QACjD,CAAC;QAED,eAAe;YACX,OAAO,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,QAA6B;YAC3C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAChD,CAAC;QAED,iBAAiB,CAAC,QAAoC;YAClD,OAAO,aAAa,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAChE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IAEF,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IAC5E,MAAM,EAAE,GAAsB;QAC1B,UAAU,CAAU,IAAY;YAC5B,OAAO;gBACH,KAAK,CAAC,MAAM,CAAC,IAAgB;oBACzB,OAAO,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAED,KAAK,CAAC,GAAG,CAAC,EAAU;oBAChB,OAAO,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;gBAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAgB;oBACrC,OAAO,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACzE,CAAC;gBAED,KAAK,CAAC,MAAM,CAAC,EAAU;oBACnB,MAAM,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,OAAqB;oBAC5B,mDAAmD;oBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;wBACxB,GAAG,OAAO;wBACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;4BACjB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAY;4BAChC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;yBAC3D,CAAC,CAAC,CAAC,SAAS;qBAChB,CAAC,CAAC,CAAC,SAAS,CAAC;oBACd,OAAO,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAgB,CAAC,CAAC;gBAC/E,CAAC;gBAED,SAAS,CAAC,QAA6B;oBACnC,OAAO,aAAa,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC,SAAS,CAAC,QAAe,CAAC,CAAC;gBACnF,CAAC;aACJ,CAAC;QACN,CAAC;KACJ,CAAC;IAEF,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAC5E,MAAM,SAAS,GAA6B;QACxC,KAAK,CAAC,MAAM,CAAU,YAAoB,EAAE,OAAiB;YACzD,8DAA8D;YAC9D,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,IAAI,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAU,YAAoB,EAAE,OAAiB;YACrE,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC;YAChF,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;aACtB,CAAC;QACN,CAAC;QAED,KAAK,CAAC,IAAI;YACN,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;KACJ,CAAC;IAEF,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAC5E,MAAM,OAAO,GAA2B;QACpC,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,IAA+B;YAC1D,qCAAqC;YACrC,MAAM,WAAW,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAClF,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC,OAAO,CAAC,MAAM,CAC/C,IAA4B,EAC5B,QAAQ,EACR,WAAW,CACd,CAAC;YACF,
|
|
1
|
+
{"version":3,"file":"aether.js","sourceRoot":"","sources":["../src/aether.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,20 @@ import type { InvokeFunctionOptions } from '../types/index.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* Módulo de functions serverless do Aether.
|
|
6
6
|
*
|
|
7
|
+
* Compatível com Firebase Cloud Functions API.
|
|
8
|
+
*
|
|
7
9
|
* @example
|
|
8
10
|
* ```typescript
|
|
9
|
-
* // Invocar função
|
|
11
|
+
* // Invocar função diretamente
|
|
10
12
|
* const result = await aether.functions.invoke('send-email', {
|
|
11
13
|
* to: 'user@email.com',
|
|
12
14
|
* subject: 'Olá!',
|
|
13
15
|
* body: 'Bem-vindo!'
|
|
14
16
|
* });
|
|
17
|
+
*
|
|
18
|
+
* // Usar httpsCallable (estilo Firebase)
|
|
19
|
+
* const sendEmail = aether.functions.httpsCallable('send-email');
|
|
20
|
+
* const { data } = await sendEmail({ to: 'user@email.com' });
|
|
15
21
|
* ```
|
|
16
22
|
*/
|
|
17
23
|
export declare class FunctionsModule {
|
|
@@ -19,11 +25,22 @@ export declare class FunctionsModule {
|
|
|
19
25
|
private http;
|
|
20
26
|
constructor(client: PlataformaClient, http: AxiosInstance);
|
|
21
27
|
/**
|
|
22
|
-
* Invoca uma function serverless.
|
|
28
|
+
* Invoca uma function serverless HTTP.
|
|
23
29
|
*
|
|
24
|
-
* @param functionName Nome da função
|
|
30
|
+
* @param functionName Nome da função (deve estar deployada como type="http")
|
|
25
31
|
* @param payload Dados a enviar para a função
|
|
26
|
-
* @param options Opções adicionais
|
|
32
|
+
* @param options Opções adicionais (timeout, headers, method)
|
|
33
|
+
* @returns Result pattern com data ou error
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const result = await functions.invoke('calculate-shipping', { weight: 10 });
|
|
38
|
+
* if (result.error) {
|
|
39
|
+
* console.error('Erro:', result.error);
|
|
40
|
+
* } else {
|
|
41
|
+
* console.log('Resultado:', result.data);
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
27
44
|
*/
|
|
28
45
|
invoke<T = unknown>(functionName: string, payload?: unknown, options?: InvokeFunctionOptions): Promise<{
|
|
29
46
|
data: T;
|
|
@@ -34,16 +51,28 @@ export declare class FunctionsModule {
|
|
|
34
51
|
}>;
|
|
35
52
|
/**
|
|
36
53
|
* Atalho para invoke com POST.
|
|
54
|
+
* Lança exceção em caso de erro (para uso com try/catch).
|
|
55
|
+
*
|
|
56
|
+
* @throws Error se a função falhar
|
|
37
57
|
*/
|
|
38
58
|
call<T = unknown>(functionName: string, payload?: unknown): Promise<T>;
|
|
39
59
|
/**
|
|
40
60
|
* Retorna uma referência para uma função "Callable" (estilo Firebase).
|
|
41
61
|
*
|
|
62
|
+
* @param name Nome da função
|
|
63
|
+
* @param options Opções (timeout)
|
|
64
|
+
* @returns Função callable que pode ser invocada com dados tipados
|
|
65
|
+
*
|
|
42
66
|
* @example
|
|
43
67
|
* ```typescript
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
68
|
+
* interface SendEmailRequest { to: string; subject: string }
|
|
69
|
+
* interface SendEmailResponse { messageId: string }
|
|
70
|
+
*
|
|
71
|
+
* const sendEmail = aether.functions
|
|
72
|
+
* .httpsCallable<SendEmailRequest, SendEmailResponse>('send-email');
|
|
73
|
+
*
|
|
74
|
+
* const { data } = await sendEmail({ to: 'user@email.com', subject: 'Olá' });
|
|
75
|
+
* console.log('Message ID:', data.messageId);
|
|
47
76
|
* ```
|
|
48
77
|
*/
|
|
49
78
|
httpsCallable<RequestData = unknown, ResponseData = unknown>(name: string, options?: {
|
|
@@ -53,11 +82,17 @@ export declare class FunctionsModule {
|
|
|
53
82
|
}>;
|
|
54
83
|
/**
|
|
55
84
|
* Lista functions disponíveis no projeto.
|
|
85
|
+
* Requer permissão de admin/owner.
|
|
56
86
|
*/
|
|
57
87
|
list(): Promise<Array<{
|
|
58
88
|
name: string;
|
|
59
89
|
description?: string;
|
|
60
90
|
createdAt: string;
|
|
61
91
|
}>>;
|
|
92
|
+
/**
|
|
93
|
+
* Processa erros de invocação com mensagens detalhadas.
|
|
94
|
+
* [ENTERPRISE] Ajuda desenvolvedores a debugar problemas comuns.
|
|
95
|
+
*/
|
|
96
|
+
private _handleInvokeError;
|
|
62
97
|
}
|
|
63
98
|
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAc/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IASzD;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpE;;;;;OAKG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAU5E;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,WAAW,GAAG,OAAO,EAAE,YAAY,GAAG,OAAO,EACzD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IAmB1D;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAevF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAuE3B"}
|
|
@@ -2,21 +2,36 @@
|
|
|
2
2
|
// @aether/core - Functions Module
|
|
3
3
|
// =============================================================================
|
|
4
4
|
// Módulo para invocar serverless functions.
|
|
5
|
+
//
|
|
6
|
+
// [FIREBASE-LEVEL] Usa rotas compartilhadas do aether-shared para garantir
|
|
7
|
+
// single source of truth entre SDK e Backend.
|
|
5
8
|
// =============================================================================
|
|
9
|
+
import { routes } from '@aether-baas/shared';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// CONSTANTS
|
|
12
|
+
// =============================================================================
|
|
13
|
+
const DEFAULT_TIMEOUT = 30000; // 30 seconds
|
|
14
|
+
const LOG_PREFIX = '[Aether Functions]';
|
|
6
15
|
// =============================================================================
|
|
7
16
|
// FUNCTIONS MODULE
|
|
8
17
|
// =============================================================================
|
|
9
18
|
/**
|
|
10
19
|
* Módulo de functions serverless do Aether.
|
|
11
20
|
*
|
|
21
|
+
* Compatível com Firebase Cloud Functions API.
|
|
22
|
+
*
|
|
12
23
|
* @example
|
|
13
24
|
* ```typescript
|
|
14
|
-
* // Invocar função
|
|
25
|
+
* // Invocar função diretamente
|
|
15
26
|
* const result = await aether.functions.invoke('send-email', {
|
|
16
27
|
* to: 'user@email.com',
|
|
17
28
|
* subject: 'Olá!',
|
|
18
29
|
* body: 'Bem-vindo!'
|
|
19
30
|
* });
|
|
31
|
+
*
|
|
32
|
+
* // Usar httpsCallable (estilo Firebase)
|
|
33
|
+
* const sendEmail = aether.functions.httpsCallable('send-email');
|
|
34
|
+
* const { data } = await sendEmail({ to: 'user@email.com' });
|
|
20
35
|
* ```
|
|
21
36
|
*/
|
|
22
37
|
export class FunctionsModule {
|
|
@@ -26,27 +41,43 @@ export class FunctionsModule {
|
|
|
26
41
|
this.client = client;
|
|
27
42
|
this.http = http;
|
|
28
43
|
}
|
|
44
|
+
// ===========================================================================
|
|
45
|
+
// CORE METHODS
|
|
46
|
+
// ===========================================================================
|
|
29
47
|
/**
|
|
30
|
-
* Invoca uma function serverless.
|
|
48
|
+
* Invoca uma function serverless HTTP.
|
|
31
49
|
*
|
|
32
|
-
* @param functionName Nome da função
|
|
50
|
+
* @param functionName Nome da função (deve estar deployada como type="http")
|
|
33
51
|
* @param payload Dados a enviar para a função
|
|
34
|
-
* @param options Opções adicionais
|
|
52
|
+
* @param options Opções adicionais (timeout, headers, method)
|
|
53
|
+
* @returns Result pattern com data ou error
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const result = await functions.invoke('calculate-shipping', { weight: 10 });
|
|
58
|
+
* if (result.error) {
|
|
59
|
+
* console.error('Erro:', result.error);
|
|
60
|
+
* } else {
|
|
61
|
+
* console.log('Resultado:', result.data);
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
35
64
|
*/
|
|
36
65
|
async invoke(functionName, payload, options) {
|
|
37
66
|
const projectId = this.client.projectId;
|
|
38
67
|
const method = options?.method ?? (payload ? 'POST' : 'GET');
|
|
39
|
-
const timeout = options?.timeout ??
|
|
68
|
+
const timeout = options?.timeout ?? DEFAULT_TIMEOUT;
|
|
69
|
+
// [SINGLE SOURCE OF TRUTH] Usa rota definida em aether-shared
|
|
70
|
+
const url = routes.functions.invoke.build(projectId, functionName);
|
|
40
71
|
try {
|
|
41
72
|
let response;
|
|
42
73
|
if (method === 'GET') {
|
|
43
|
-
response = await this.http.get(
|
|
74
|
+
response = await this.http.get(url, {
|
|
44
75
|
timeout,
|
|
45
76
|
headers: options?.headers,
|
|
46
77
|
});
|
|
47
78
|
}
|
|
48
79
|
else {
|
|
49
|
-
response = await this.http.post(
|
|
80
|
+
response = await this.http.post(url, payload, {
|
|
50
81
|
timeout,
|
|
51
82
|
headers: options?.headers,
|
|
52
83
|
});
|
|
@@ -54,15 +85,14 @@ export class FunctionsModule {
|
|
|
54
85
|
return { data: response.data.data, error: null };
|
|
55
86
|
}
|
|
56
87
|
catch (err) {
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
data: null,
|
|
60
|
-
error: error.response?.data?.message || error.message || 'Erro ao invocar função',
|
|
61
|
-
};
|
|
88
|
+
return this._handleInvokeError(err, functionName);
|
|
62
89
|
}
|
|
63
90
|
}
|
|
64
91
|
/**
|
|
65
92
|
* Atalho para invoke com POST.
|
|
93
|
+
* Lança exceção em caso de erro (para uso com try/catch).
|
|
94
|
+
*
|
|
95
|
+
* @throws Error se a função falhar
|
|
66
96
|
*/
|
|
67
97
|
async call(functionName, payload) {
|
|
68
98
|
const result = await this.invoke(functionName, payload, { method: 'POST' });
|
|
@@ -74,16 +104,25 @@ export class FunctionsModule {
|
|
|
74
104
|
/**
|
|
75
105
|
* Retorna uma referência para uma função "Callable" (estilo Firebase).
|
|
76
106
|
*
|
|
107
|
+
* @param name Nome da função
|
|
108
|
+
* @param options Opções (timeout)
|
|
109
|
+
* @returns Função callable que pode ser invocada com dados tipados
|
|
110
|
+
*
|
|
77
111
|
* @example
|
|
78
112
|
* ```typescript
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
113
|
+
* interface SendEmailRequest { to: string; subject: string }
|
|
114
|
+
* interface SendEmailResponse { messageId: string }
|
|
115
|
+
*
|
|
116
|
+
* const sendEmail = aether.functions
|
|
117
|
+
* .httpsCallable<SendEmailRequest, SendEmailResponse>('send-email');
|
|
118
|
+
*
|
|
119
|
+
* const { data } = await sendEmail({ to: 'user@email.com', subject: 'Olá' });
|
|
120
|
+
* console.log('Message ID:', data.messageId);
|
|
82
121
|
* ```
|
|
83
122
|
*/
|
|
84
123
|
httpsCallable(name, options) {
|
|
85
124
|
return async (data) => {
|
|
86
|
-
const result = await this.invoke(name, data
|
|
125
|
+
const result = await this.invoke(name, data ?? {}, {
|
|
87
126
|
method: 'POST',
|
|
88
127
|
timeout: options?.timeout,
|
|
89
128
|
});
|
|
@@ -93,13 +132,65 @@ export class FunctionsModule {
|
|
|
93
132
|
return { data: result.data };
|
|
94
133
|
};
|
|
95
134
|
}
|
|
135
|
+
// ===========================================================================
|
|
136
|
+
// ADMIN METHODS
|
|
137
|
+
// ===========================================================================
|
|
96
138
|
/**
|
|
97
139
|
* Lista functions disponíveis no projeto.
|
|
140
|
+
* Requer permissão de admin/owner.
|
|
98
141
|
*/
|
|
99
142
|
async list() {
|
|
100
143
|
const projectId = this.client.projectId;
|
|
101
|
-
const
|
|
144
|
+
const url = routes.functions.base.build(projectId);
|
|
145
|
+
const { data } = await this.http.get(url);
|
|
102
146
|
return data.data;
|
|
103
147
|
}
|
|
148
|
+
// ===========================================================================
|
|
149
|
+
// PRIVATE HELPERS
|
|
150
|
+
// ===========================================================================
|
|
151
|
+
/**
|
|
152
|
+
* Processa erros de invocação com mensagens detalhadas.
|
|
153
|
+
* [ENTERPRISE] Ajuda desenvolvedores a debugar problemas comuns.
|
|
154
|
+
*/
|
|
155
|
+
_handleInvokeError(err, functionName) {
|
|
156
|
+
const error = err;
|
|
157
|
+
const status = error.response?.status;
|
|
158
|
+
const serverMessage = error.response?.data?.message ||
|
|
159
|
+
error.response?.data?.error ||
|
|
160
|
+
error.message;
|
|
161
|
+
// [ENTERPRISE] Mensagens de erro específicas para problemas comuns
|
|
162
|
+
let userMessage;
|
|
163
|
+
switch (status) {
|
|
164
|
+
case 404:
|
|
165
|
+
userMessage = `Function "${functionName}" not found. Ensure it's deployed with type="http".`;
|
|
166
|
+
console.error(`${LOG_PREFIX} 404 Error: Function "${functionName}" not found.`, '\n → Verify the function is deployed in the Aether dashboard.', '\n → Ensure the function type is "http" (not "cron" or "db").', '\n → Check the function name matches exactly (case-sensitive).');
|
|
167
|
+
break;
|
|
168
|
+
case 401:
|
|
169
|
+
userMessage = 'Authentication required. Please sign in.';
|
|
170
|
+
console.error(`${LOG_PREFIX} 401 Error: User not authenticated.`);
|
|
171
|
+
break;
|
|
172
|
+
case 403:
|
|
173
|
+
userMessage = 'Access denied. Insufficient permissions.';
|
|
174
|
+
console.error(`${LOG_PREFIX} 403 Error: Permission denied for function "${functionName}".`);
|
|
175
|
+
break;
|
|
176
|
+
case 500:
|
|
177
|
+
userMessage = `Function "${functionName}" threw an error: ${serverMessage}`;
|
|
178
|
+
console.error(`${LOG_PREFIX} 500 Error: Function "${functionName}" failed.`, '\n → Check function logs in the Aether dashboard.', '\n → Server message:', serverMessage);
|
|
179
|
+
break;
|
|
180
|
+
case 504:
|
|
181
|
+
userMessage = `Function "${functionName}" timed out. Consider increasing timeout.`;
|
|
182
|
+
console.warn(`${LOG_PREFIX} 504 Timeout for function "${functionName}".`);
|
|
183
|
+
break;
|
|
184
|
+
default:
|
|
185
|
+
userMessage = serverMessage || 'Function invocation failed';
|
|
186
|
+
if (error.code === 'ECONNABORTED') {
|
|
187
|
+
userMessage = `Request timeout for function "${functionName}"`;
|
|
188
|
+
}
|
|
189
|
+
else if (error.code === 'ERR_NETWORK') {
|
|
190
|
+
userMessage = 'Network error. Check your internet connection.';
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { data: null, error: userMessage };
|
|
194
|
+
}
|
|
104
195
|
}
|
|
105
196
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAChF,4CAA4C;AAC5C,GAAG;AACH,2EAA2E;AAC3E,8CAA8C;AAC9C,gFAAgF;AAKhF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AAC5C,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAmB;IACzB,IAAI,CAAgB;IAE5B,YAAY,MAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,OAAiB,EACjB,OAA+B;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC;QAEpD,8DAA8D;QAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC;YAEb,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,GAAG,EAAE;oBAC/C,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,GAAG,EAAE,OAAO,EAAE;oBACzD,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,kBAAkB,CAAI,GAAG,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAc,YAAoB,EAAE,OAAiB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAI,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAS,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CACX,IAAY,EACZ,OAA8B;QAE9B,OAAO,KAAK,EAAE,IAAkB,EAAE,EAAE;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAe,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAoB,EAAE,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAEjC,GAAG,CAAC,CAAC;QAER,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;;OAGG;IACK,kBAAkB,CACxB,GAAY,EACZ,YAAoB;QAEpB,MAAM,KAAK,GAAG,GAOb,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,MAAM,aAAa,GACjB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;YAC7B,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK;YAC3B,KAAK,CAAC,OAAO,CAAC;QAEhB,mEAAmE;QACnE,IAAI,WAAmB,CAAC;QAExB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG;gBACN,WAAW,GAAG,aAAa,YAAY,qDAAqD,CAAC;gBAC7F,OAAO,CAAC,KAAK,CACX,GAAG,UAAU,yBAAyB,YAAY,cAAc,EAChE,gEAAgE,EAChE,gEAAgE,EAChE,iEAAiE,CAClE,CAAC;gBACF,MAAM;YAER,KAAK,GAAG;gBACN,WAAW,GAAG,0CAA0C,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,qCAAqC,CAAC,CAAC;gBAClE,MAAM;YAER,KAAK,GAAG;gBACN,WAAW,GAAG,0CAA0C,CAAC;gBACzD,OAAO,CAAC,KAAK,CACX,GAAG,UAAU,+CAA+C,YAAY,IAAI,CAC7E,CAAC;gBACF,MAAM;YAER,KAAK,GAAG;gBACN,WAAW,GAAG,aAAa,YAAY,qBAAqB,aAAa,EAAE,CAAC;gBAC5E,OAAO,CAAC,KAAK,CACX,GAAG,UAAU,yBAAyB,YAAY,WAAW,EAC7D,oDAAoD,EACpD,uBAAuB,EACvB,aAAa,CACd,CAAC;gBACF,MAAM;YAER,KAAK,GAAG;gBACN,WAAW,GAAG,aAAa,YAAY,2CAA2C,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,8BAA8B,YAAY,IAAI,CAAC,CAAC;gBAC1E,MAAM;YAER;gBACE,WAAW,GAAG,aAAa,IAAI,4BAA4B,CAAC;gBAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAClC,WAAW,GAAG,iCAAiC,YAAY,GAAG,CAAC;gBACjE,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,WAAW,GAAG,gDAAgD,CAAC;gBACjE,CAAC;QACL,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -36,13 +36,7 @@ export declare class StorageModule {
|
|
|
36
36
|
* if (error) console.error('Falha no upload:', error);
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
upload(file: File | Blob | Buffer, fileName: string, contentType?: string, folder?: string, onProgress?: (progress: UploadProgress) => void): Promise<
|
|
40
|
-
data: FileObject;
|
|
41
|
-
error: null;
|
|
42
|
-
} | {
|
|
43
|
-
data: null;
|
|
44
|
-
error: string;
|
|
45
|
-
}>;
|
|
39
|
+
upload(file: File | Blob | Buffer, fileName: string, contentType?: string, folder?: string, onProgress?: (progress: UploadProgress) => void): Promise<FileObject>;
|
|
46
40
|
/**
|
|
47
41
|
* Lista arquivos de uma pasta.
|
|
48
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMtF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IAKzD;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,GAC9C,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMtF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IAKzD;;;;;;;;;;;;;;OAcG;IACG,MAAM,CACV,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,GAC9C,OAAO,CAAC,UAAU,CAAC;IA2JtB;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgB9E;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAU9C;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO9C;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAWrE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKpC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAWlE;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAUnE"}
|
package/dist/modules/storage.js
CHANGED
|
@@ -50,10 +50,10 @@ export class StorageModule {
|
|
|
50
50
|
const mimeType = contentType || 'application/octet-stream';
|
|
51
51
|
// [SEGURANÇA] Validação básica do arquivo
|
|
52
52
|
if (!file) {
|
|
53
|
-
|
|
53
|
+
throw new Error('Arquivo não fornecido');
|
|
54
54
|
}
|
|
55
55
|
if (!fileName || typeof fileName !== 'string') {
|
|
56
|
-
|
|
56
|
+
throw new Error('Nome do arquivo inválido');
|
|
57
57
|
}
|
|
58
58
|
try {
|
|
59
59
|
// ================================================================
|
|
@@ -68,10 +68,10 @@ export class StorageModule {
|
|
|
68
68
|
const presignedUrl = uploadData.data.uploadUrl || uploadData.data.url;
|
|
69
69
|
const fileId = uploadData.data.fileId;
|
|
70
70
|
if (!presignedUrl) {
|
|
71
|
-
|
|
71
|
+
throw new Error('Servidor não retornou URL de upload válida');
|
|
72
72
|
}
|
|
73
73
|
if (!fileId) {
|
|
74
|
-
|
|
74
|
+
throw new Error('Servidor não retornou ID do arquivo');
|
|
75
75
|
}
|
|
76
76
|
// ================================================================
|
|
77
77
|
// ETAPA 2: Preparar blob para upload
|
|
@@ -89,11 +89,11 @@ export class StorageModule {
|
|
|
89
89
|
fileSize = file.size;
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
|
|
92
|
+
throw new Error('Tipo de arquivo não suportado (apenas Blob, Buffer ou File)');
|
|
93
93
|
}
|
|
94
94
|
// [SEGURANÇA] Validação de tamanho zero (arquivo vazio/corrompido)
|
|
95
95
|
if (fileSize === 0) {
|
|
96
|
-
|
|
96
|
+
throw new Error('Arquivo está vazio (0 bytes)');
|
|
97
97
|
}
|
|
98
98
|
// ================================================================
|
|
99
99
|
// ETAPA 3: Upload para S3 com validação rigorosa
|
|
@@ -102,9 +102,7 @@ export class StorageModule {
|
|
|
102
102
|
const s3Response = await axios.put(presignedUrl, blob, {
|
|
103
103
|
headers: {
|
|
104
104
|
'Content-Type': mimeType,
|
|
105
|
-
// [SEGURANÇA] S3 verifica Content-Length automaticamente
|
|
106
105
|
},
|
|
107
|
-
// [FIX] Validar explicitamente status de sucesso
|
|
108
106
|
validateStatus: (status) => status >= 200 && status < 300,
|
|
109
107
|
onUploadProgress: (event) => {
|
|
110
108
|
if (onProgress && event.total) {
|
|
@@ -115,73 +113,56 @@ export class StorageModule {
|
|
|
115
113
|
});
|
|
116
114
|
}
|
|
117
115
|
},
|
|
118
|
-
// [PERFORMANCE] Timeout de 5 minutos para arquivos grandes
|
|
119
116
|
timeout: 300000,
|
|
120
|
-
// [FIX] Não transformar dados (enviar raw)
|
|
121
117
|
transformRequest: [(data) => data],
|
|
122
118
|
});
|
|
123
|
-
// [SEGURANÇA] Validação explícita do status
|
|
124
|
-
if (s3Response.status < 200 || s3Response.status >= 300) {
|
|
125
|
-
console.error('[Aether SDK] Upload S3 falhou:', s3Response.status, s3Response.statusText);
|
|
126
|
-
return {
|
|
127
|
-
data: null,
|
|
128
|
-
error: `Upload para storage falhou: ${s3Response.status} ${s3Response.statusText}`
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
119
|
}
|
|
132
120
|
catch (s3Error) {
|
|
133
121
|
// [SEGURANÇA] Captura específica de erros do S3
|
|
134
122
|
const axiosError = s3Error;
|
|
135
|
-
// Log para debug (não expõe URL presigned)
|
|
136
123
|
console.error('[Aether SDK] Falha no PUT S3:', {
|
|
137
124
|
status: axiosError.response?.status,
|
|
138
125
|
statusText: axiosError.response?.statusText,
|
|
139
126
|
code: axiosError.code,
|
|
140
127
|
message: axiosError.message,
|
|
141
128
|
});
|
|
142
|
-
// Mensagens de erro amigáveis por código
|
|
143
129
|
if (axiosError.code === 'ERR_NETWORK') {
|
|
144
|
-
|
|
130
|
+
throw new Error('Falha de rede ao enviar arquivo. Verifique sua conexão.');
|
|
145
131
|
}
|
|
146
132
|
if (axiosError.response?.status === 403) {
|
|
147
|
-
|
|
133
|
+
throw new Error('Permissão negada (403): O upload foi rejeitado pelo storage.');
|
|
148
134
|
}
|
|
149
135
|
if (axiosError.response?.status === 400) {
|
|
150
|
-
|
|
136
|
+
throw new Error('Arquivo rejeitado (400): Verifique o tipo e tamanho.');
|
|
151
137
|
}
|
|
152
|
-
|
|
153
|
-
data: null,
|
|
154
|
-
error: axiosError.message || 'Falha ao enviar arquivo para storage'
|
|
155
|
-
};
|
|
138
|
+
throw new Error(axiosError.message || 'Falha ao enviar arquivo para storage');
|
|
156
139
|
}
|
|
157
140
|
// ================================================================
|
|
158
141
|
// ETAPA 4: Confirmar upload no backend
|
|
159
142
|
// ================================================================
|
|
160
143
|
const { data: fileData } = await this.http.post(`/v1/projects/${projectId}/storage/confirm`, { fileId });
|
|
161
|
-
// [SEGURANÇA] Validar resposta do confirm
|
|
162
144
|
if (!fileData?.data?.id) {
|
|
163
|
-
|
|
145
|
+
throw new Error('Confirmação de upload falhou: ID não retornado');
|
|
164
146
|
}
|
|
165
|
-
return
|
|
147
|
+
return fileData.data;
|
|
166
148
|
}
|
|
167
149
|
catch (err) {
|
|
168
|
-
//
|
|
150
|
+
// Propaga o erro para que o frontend possa tratar (ex: mostrar toast vermelho)
|
|
169
151
|
const error = err;
|
|
170
152
|
console.error('[Aether SDK] Erro no upload:', error.message);
|
|
171
|
-
// Mensagem amigável baseada no status
|
|
172
153
|
if (error.response?.status === 429) {
|
|
173
|
-
|
|
154
|
+
throw new Error('Limite de uploads atingido. Tente novamente em alguns minutos.');
|
|
174
155
|
}
|
|
175
156
|
if (error.response?.status === 413) {
|
|
176
|
-
|
|
157
|
+
throw new Error('Arquivo muito grande para upload.');
|
|
177
158
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
159
|
+
// Se já for um erro tratado acima, relança.
|
|
160
|
+
// Se for axios error genérico do http.post (upload-url), extrai mensagem.
|
|
161
|
+
const msg = error.response?.data?.error ||
|
|
162
|
+
error.response?.data?.message ||
|
|
163
|
+
error.message ||
|
|
164
|
+
'Erro desconhecido no upload';
|
|
165
|
+
throw new Error(msg);
|
|
185
166
|
}
|
|
186
167
|
}
|
|
187
168
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAGhF,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAgB;IAE5B,YAAY,MAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CACV,IAA0B,EAC1B,QAAgB,EAChB,WAAoB,EACpB,MAAe,EACf,UAA+C;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,0BAA0B,CAAC;QAE3D,0CAA0C;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/modules/storage.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAChF,sDAAsD;AACtD,gFAAgF;AAGhF,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAmB;IACzB,IAAI,CAAgB;IAE5B,YAAY,MAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CACV,IAA0B,EAC1B,QAAgB,EAChB,WAAoB,EACpB,MAAe,EACf,UAA+C;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,0BAA0B,CAAC;QAE3D,0CAA0C;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,mEAAmE;YACnE,0CAA0C;YAC1C,mEAAmE;YACnE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAO9C,gBAAgB,SAAS,qBAAqB,EAAE;gBACjD,QAAQ;gBACR,WAAW,EAAE,QAAQ;gBACrB,MAAM;gBACN,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAe,CAAC,MAAM;aACjE,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAEtC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YAED,mEAAmE;YACnE,qCAAqC;YACrC,mEAAmE;YACnE,IAAI,IAAU,CAAC;YACf,IAAI,QAAgB,CAAC;YAErB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,iBAAiB;gBACjB,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;gBAChC,oBAAoB;gBACpB,IAAI,GAAG,IAAI,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,mEAAmE;YACnE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YAED,mEAAmE;YACnE,iDAAiD;YACjD,mEAAmE;YACnE,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE;oBACrD,OAAO,EAAE;wBACP,cAAc,EAAE,QAAQ;qBACzB;oBACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;oBACzD,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC1B,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BAC9B,UAAU,CAAC;gCACT,MAAM,EAAE,KAAK,CAAC,MAAM;gCACpB,KAAK,EAAE,KAAK,CAAC,KAAK;gCAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;6BACxD,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,OAAO,EAAE,MAAM;oBACf,gBAAgB,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;iBACnC,CAAC,CAAC;YAEL,CAAC;YAAC,OAAO,OAAgB,EAAE,CAAC;gBAC1B,gDAAgD;gBAChD,MAAM,UAAU,GAAG,OAIlB,CAAC;gBAEF,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE;oBAC7C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM;oBACnC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU;oBAC3C,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC5B,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBACD,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAC;YAChF,CAAC;YAED,mEAAmE;YACnE,uCAAuC;YACvC,mEAAmE;YACnE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7C,gBAAgB,SAAS,kBAAkB,EAC3C,EAAE,MAAM,EAAE,CACX,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC;QAEvB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,+EAA+E;YAC/E,MAAM,KAAK,GAAG,GAGb,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAE7D,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,6CAA6C;YAC7C,0EAA0E;YAC1E,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK;gBACrC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO;gBAC7B,KAAK,CAAC,OAAO;gBACb,6BAA6B,CAAC;YAEhC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,OAA0B;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,MAAM,GAAoC,EAAE,CAAC;QACnD,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,IAAI,OAAO,EAAE,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAEpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,SAAS,UAAU,EACnC,EAAE,MAAM,EAAE,CACX,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,SAAS,YAAY,MAAM,EAAE,CAC9C,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,SAAS,YAAY,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,SAAS,GAAG,IAAI;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,gBAAgB,SAAS,YAAY,MAAM,aAAa,EACxD,EAAE,SAAS,EAAE,CACd,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,gBAAgB,SAAS,mBAAmB,MAAM,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,SAAiB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,SAAS,YAAY,MAAM,OAAO,EAClD,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAe;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,SAAS,YAAY,MAAM,EAAE,EAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aether-baas/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.1",
|
|
4
4
|
"description": "Aether SDK Core - Firebase-like namespace pattern with aether.auth, aether.db, aether.functions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,15 +28,8 @@
|
|
|
28
28
|
"dist",
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
|
-
"scripts": {
|
|
32
|
-
"build": "tsc",
|
|
33
|
-
"dev": "tsc --watch",
|
|
34
|
-
"clean": "rm -rf dist",
|
|
35
|
-
"typecheck": "tsc --noEmit",
|
|
36
|
-
"lint": "eslint src --ext .ts",
|
|
37
|
-
"prepublishOnly": "npm run build"
|
|
38
|
-
},
|
|
39
31
|
"dependencies": {
|
|
32
|
+
"@aether-baas/shared": "^1.0.0",
|
|
40
33
|
"axios": "^1.6.0"
|
|
41
34
|
},
|
|
42
35
|
"devDependencies": {
|
|
@@ -76,5 +69,12 @@
|
|
|
76
69
|
"homepage": "https://aether.dev",
|
|
77
70
|
"bugs": {
|
|
78
71
|
"url": "https://github.com/allanfsouza/aether-sdk/issues"
|
|
72
|
+
},
|
|
73
|
+
"scripts": {
|
|
74
|
+
"build": "tsc",
|
|
75
|
+
"dev": "tsc --watch",
|
|
76
|
+
"clean": "rm -rf dist",
|
|
77
|
+
"typecheck": "tsc --noEmit",
|
|
78
|
+
"lint": "eslint src --ext .ts"
|
|
79
79
|
}
|
|
80
80
|
}
|