@aether-baas/react-native 3.1.3 → 3.1.5
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/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -1
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
package/dist/index.d.ts
CHANGED
|
@@ -38,6 +38,9 @@ export interface AetherProviderProps {
|
|
|
38
38
|
/**
|
|
39
39
|
* Provider do Aether para React Native.
|
|
40
40
|
*
|
|
41
|
+
* [FIX] Aguarda restauração assíncrona do token antes de renderizar.
|
|
42
|
+
* Isso resolve o problema de 401 quando o token está no SecureStore/AsyncStorage.
|
|
43
|
+
*
|
|
41
44
|
* @example
|
|
42
45
|
* ```tsx
|
|
43
46
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
@@ -55,7 +58,7 @@ export interface AetherProviderProps {
|
|
|
55
58
|
* }
|
|
56
59
|
* ```
|
|
57
60
|
*/
|
|
58
|
-
export declare function AetherProvider({ config, storage, secureStorage, children, onAuthStateChange, }: AetherProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare function AetherProvider({ config, storage, secureStorage, children, onAuthStateChange, }: AetherProviderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
59
62
|
export { useAetherContext, useAetherClient, useAuth, useCollection, useDocument, useStorage, useFunctions, useFunction, useAI, useAIAsk, useAISearch, AuthGuard, GuestGuard, RoleGuard, ShowIfAuthenticated, ShowIfGuest, ShowIfRole, } from '@aether-baas/react';
|
|
60
63
|
export type { StorageAdapter } from '@aether-baas/core';
|
|
61
64
|
export declare const VERSION = "3.1.3";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE;IACtD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/C,GAAG,cAAc,CAUjB;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,GAAG,cAAc,CAMjB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CAC7B,GAAG,cAAc,CAQjB;AAMD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/E;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE;IACtD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/C,GAAG,cAAc,CAUjB;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,GAAG,cAAc,CAMjB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CAC7B,GAAG,cAAc,CAQjB;AAMD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,iBAAiB,GAClB,EAAE,mBAAmB,kDAiDrB;AAMD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
// =============================================================================
|
|
5
5
|
// SDK para React Native com adapters específicos para mobile.
|
|
6
6
|
// =============================================================================
|
|
7
|
-
import { useMemo } from 'react';
|
|
7
|
+
import React, { useMemo } from 'react';
|
|
8
8
|
import { PlataformaClient, } from '@aether-baas/core';
|
|
9
9
|
import { AetherProvider as BaseAetherProvider, } from '@aether-baas/react';
|
|
10
10
|
// =============================================================================
|
|
@@ -55,6 +55,9 @@ export function createMMKVAdapter(mmkv) {
|
|
|
55
55
|
/**
|
|
56
56
|
* Provider do Aether para React Native.
|
|
57
57
|
*
|
|
58
|
+
* [FIX] Aguarda restauração assíncrona do token antes de renderizar.
|
|
59
|
+
* Isso resolve o problema de 401 quando o token está no SecureStore/AsyncStorage.
|
|
60
|
+
*
|
|
58
61
|
* @example
|
|
59
62
|
* ```tsx
|
|
60
63
|
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
@@ -73,11 +76,46 @@ export function createMMKVAdapter(mmkv) {
|
|
|
73
76
|
* ```
|
|
74
77
|
*/
|
|
75
78
|
export function AetherProvider({ config, storage, secureStorage, children, onAuthStateChange, }) {
|
|
79
|
+
const [isReady, setIsReady] = React.useState(false);
|
|
76
80
|
const client = useMemo(() => {
|
|
77
81
|
const aether = new PlataformaClient({ ...config, persistSession: true });
|
|
78
82
|
aether.setStorageAdapter(secureStorage ?? storage);
|
|
79
83
|
return aether;
|
|
80
84
|
}, [config, storage, secureStorage]);
|
|
85
|
+
// [FIX] Aguarda restauração assíncrona do token
|
|
86
|
+
React.useEffect(() => {
|
|
87
|
+
const restoreSession = async () => {
|
|
88
|
+
try {
|
|
89
|
+
const storageAdapter = secureStorage ?? storage;
|
|
90
|
+
const token = await storageAdapter.getItem('aether_token');
|
|
91
|
+
if (token) {
|
|
92
|
+
client.setToken(token);
|
|
93
|
+
}
|
|
94
|
+
// Também restaura user data
|
|
95
|
+
const userData = await storageAdapter.getItem('aether_user');
|
|
96
|
+
if (userData) {
|
|
97
|
+
try {
|
|
98
|
+
const user = JSON.parse(userData);
|
|
99
|
+
client.setUser(user);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// JSON inválido, ignora
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Erro ao restaurar sessão, ignora silenciosamente
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
setIsReady(true);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
restoreSession();
|
|
114
|
+
}, [client, storage, secureStorage]);
|
|
115
|
+
// Não renderiza até o token ser restaurado
|
|
116
|
+
if (!isReady) {
|
|
117
|
+
return null; // Ou um loading indicator
|
|
118
|
+
}
|
|
81
119
|
return (_jsx(BaseAetherProvider, { client: client, onAuthStateChange: onAuthStateChange, children: children }));
|
|
82
120
|
}
|
|
83
121
|
// =============================================================================
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AACvD,OAAO,EACL,gBAAgB,GAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,IAAI,kBAAkB,GACrC,MAAM,oBAAoB,CAAC;AAE5B,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAMzC;IACC,OAAO;QACL,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,OAAO,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;QACzE,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;QACzD,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAM,EAAE,CAAC,CAAC,CAAC,SAAS;QACnE,UAAU,EAAE,YAAY,CAAC,UAAU;YACjC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,UAAW,EAAE,CAAC;YACnD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAIxC;IACC,OAAO;QACL,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC;QACvD,OAAO,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7E,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAMjC;IACC,OAAO;QACL,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI;QACrD,OAAO,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7D,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QACzD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC;AACJ,CAAC;AAcD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,iBAAiB,GACG;IACpB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,iBAAiB,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAErC,gDAAgD;IAChD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,aAAa,IAAI,OAAO,CAAC;gBAChD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBAED,4BAA4B;gBAC5B,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;YACrD,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,cAAc,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAErC,2CAA2C;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,CAAC,0BAA0B;IACzC,CAAC;IAED,OAAO,CACL,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,YACrE,QAAQ,GACU,CACtB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aether-baas/react-native",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5",
|
|
4
4
|
"description": "Aether SDK para React Native - Adapters e componentes para mobile",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,9 +16,16 @@
|
|
|
16
16
|
"dist",
|
|
17
17
|
"README.md"
|
|
18
18
|
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"dev": "tsc --watch",
|
|
22
|
+
"clean": "rm -rf dist",
|
|
23
|
+
"typecheck": "tsc --noEmit",
|
|
24
|
+
"prepublishOnly": "pnpm build"
|
|
25
|
+
},
|
|
19
26
|
"dependencies": {
|
|
20
|
-
"@aether-baas/core": "3.1.
|
|
21
|
-
"@aether-baas/react": "3.1.3"
|
|
27
|
+
"@aether-baas/core": "^3.1.4",
|
|
28
|
+
"@aether-baas/react": "^3.1.3"
|
|
22
29
|
},
|
|
23
30
|
"peerDependencies": {
|
|
24
31
|
"react": ">=17.0.0",
|
|
@@ -58,11 +65,5 @@
|
|
|
58
65
|
"type": "git",
|
|
59
66
|
"url": "https://github.com/allanfsouza/aether-sdk",
|
|
60
67
|
"directory": "packages/react-native"
|
|
61
|
-
},
|
|
62
|
-
"scripts": {
|
|
63
|
-
"build": "tsc",
|
|
64
|
-
"dev": "tsc --watch",
|
|
65
|
-
"clean": "rm -rf dist",
|
|
66
|
-
"typecheck": "tsc --noEmit"
|
|
67
68
|
}
|
|
68
69
|
}
|