@dyrected/admin 2.5.43 → 2.5.44
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.mjs
CHANGED
|
@@ -76,6 +76,7 @@ function DyrectedProvider({ children, apiKey: initialApiKey, baseUrl: initialBas
|
|
|
76
76
|
const [siteId, setSiteId] = useState(() => initialSiteId || (typeof window !== "undefined" ? localStorage.getItem("dyrected_site_id") : null) || void 0);
|
|
77
77
|
const [schemas, setSchemas] = useState(null);
|
|
78
78
|
const [user, setUser] = useState(null);
|
|
79
|
+
const [authCollectionSlug, setAuthCollectionSlug] = useState(() => (typeof window !== "undefined" ? localStorage.getItem("dyrected_admin_auth_collection") : null) || null);
|
|
79
80
|
const client = useMemo(() => {
|
|
80
81
|
if (!baseUrl) return null;
|
|
81
82
|
return createClient({
|
|
@@ -117,28 +118,39 @@ function DyrectedProvider({ children, apiKey: initialApiKey, baseUrl: initialBas
|
|
|
117
118
|
setApiKey(newKey);
|
|
118
119
|
setSiteId(newSiteId);
|
|
119
120
|
}, []);
|
|
120
|
-
const setToken = useCallback((token) => {
|
|
121
|
+
const setToken = useCallback((token, collectionSlug) => {
|
|
121
122
|
if (!token) {
|
|
122
123
|
localStorage.removeItem("dyrected_token");
|
|
124
|
+
localStorage.removeItem("dyrected_admin_auth_collection");
|
|
123
125
|
if (client) client.clearToken();
|
|
126
|
+
setAuthCollectionSlug(null);
|
|
124
127
|
setUser(null);
|
|
125
128
|
return;
|
|
126
129
|
}
|
|
130
|
+
const resolvedCollectionSlug = collectionSlug || authCollectionSlug || getAdminCollectionSlug(schemas);
|
|
127
131
|
localStorage.setItem("dyrected_token", token);
|
|
132
|
+
if (resolvedCollectionSlug) {
|
|
133
|
+
localStorage.setItem("dyrected_admin_auth_collection", resolvedCollectionSlug);
|
|
134
|
+
setAuthCollectionSlug((prev) => prev === resolvedCollectionSlug ? prev : resolvedCollectionSlug);
|
|
135
|
+
}
|
|
128
136
|
if (client) {
|
|
129
137
|
client.setToken(token);
|
|
130
|
-
|
|
131
|
-
if (authCollection) client.collection(authCollection).me().then((nextUser) => setUser(nextUser), () => setUser(null));
|
|
138
|
+
if (resolvedCollectionSlug) client.collection(resolvedCollectionSlug).me().then((nextUser) => setUser(nextUser), () => setUser(null));
|
|
132
139
|
}
|
|
133
|
-
}, [
|
|
140
|
+
}, [
|
|
141
|
+
authCollectionSlug,
|
|
142
|
+
client,
|
|
143
|
+
schemas
|
|
144
|
+
]);
|
|
134
145
|
useEffect(() => {
|
|
135
146
|
if (initialToken || !client || !schemas || user) return;
|
|
136
147
|
const token = localStorage.getItem("dyrected_token");
|
|
137
|
-
const
|
|
138
|
-
if (!token || !
|
|
148
|
+
const resolvedCollectionSlug = authCollectionSlug || getAdminCollectionSlug(schemas);
|
|
149
|
+
if (!token || !resolvedCollectionSlug) return;
|
|
139
150
|
client.setToken(token);
|
|
140
|
-
client.collection(
|
|
151
|
+
client.collection(resolvedCollectionSlug).me().then((nextUser) => setUser(nextUser), () => setUser(null));
|
|
141
152
|
}, [
|
|
153
|
+
authCollectionSlug,
|
|
142
154
|
client,
|
|
143
155
|
initialToken,
|
|
144
156
|
schemas,
|
|
@@ -149,9 +161,11 @@ function DyrectedProvider({ children, apiKey: initialApiKey, baseUrl: initialBas
|
|
|
149
161
|
localStorage.removeItem("dyrected_key");
|
|
150
162
|
localStorage.removeItem("dyrected_site_id");
|
|
151
163
|
localStorage.removeItem("dyrected_token");
|
|
164
|
+
localStorage.removeItem("dyrected_admin_auth_collection");
|
|
152
165
|
setBaseUrl("");
|
|
153
166
|
setApiKey(void 0);
|
|
154
167
|
setSiteId(void 0);
|
|
168
|
+
setAuthCollectionSlug(null);
|
|
155
169
|
setUser(null);
|
|
156
170
|
setSchemas(null);
|
|
157
171
|
}, []);
|
|
@@ -13139,6 +13153,7 @@ function AuthGate({ children }) {
|
|
|
13139
13153
|
return {
|
|
13140
13154
|
token: params.get("dyrectedExternalToken"),
|
|
13141
13155
|
provider: params.get("dyrectedExternalProvider"),
|
|
13156
|
+
collection: params.get("dyrectedAdminCollection"),
|
|
13142
13157
|
error: params.get("dyrectedExternalError")
|
|
13143
13158
|
};
|
|
13144
13159
|
}, []);
|
|
@@ -13156,10 +13171,10 @@ function AuthGate({ children }) {
|
|
|
13156
13171
|
const exchanged = await client.exchangeAdminAuth(externalParams.provider, { token: externalParams.token });
|
|
13157
13172
|
if (cancelled) return;
|
|
13158
13173
|
setExternalExchangeError(null);
|
|
13159
|
-
setToken(exchanged.token);
|
|
13174
|
+
setToken(exchanged.token, exchanged.collectionSlug);
|
|
13160
13175
|
} else {
|
|
13161
13176
|
setExternalExchangeError(null);
|
|
13162
|
-
setToken(externalParams.token);
|
|
13177
|
+
setToken(externalParams.token, externalParams.collection);
|
|
13163
13178
|
}
|
|
13164
13179
|
} catch (error) {
|
|
13165
13180
|
if (cancelled) return;
|
|
@@ -13182,6 +13197,7 @@ function AuthGate({ children }) {
|
|
|
13182
13197
|
};
|
|
13183
13198
|
}, [
|
|
13184
13199
|
client,
|
|
13200
|
+
externalParams.collection,
|
|
13185
13201
|
externalParams.provider,
|
|
13186
13202
|
externalParams.token,
|
|
13187
13203
|
isExternalAdminAuth,
|
|
@@ -14,7 +14,7 @@ export interface DyrectedContextType {
|
|
|
14
14
|
isAuthenticated: boolean;
|
|
15
15
|
schemas: AdminSchemas | null;
|
|
16
16
|
user: AdminUser | null;
|
|
17
|
-
setToken: (token: string) => void;
|
|
17
|
+
setToken: (token: string, collectionSlug?: string | null) => void;
|
|
18
18
|
initialToken?: string;
|
|
19
19
|
components?: AdminComponents;
|
|
20
20
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dyrected/admin",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.44",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"tailwind-merge": "^3.5.0",
|
|
65
65
|
"tailwindcss-animate": "^1.0.7",
|
|
66
66
|
"zod": "^3.25.76",
|
|
67
|
-
"@dyrected/core": "^2.5.
|
|
68
|
-
"@dyrected/sdk": "^2.5.
|
|
67
|
+
"@dyrected/core": "^2.5.44",
|
|
68
|
+
"@dyrected/sdk": "^2.5.44"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"@tanstack/react-query": "^5.0.0",
|