|
@@ -90,6 +90,12 @@ export const mutateAllPageInfo = (): Promise<void[]> => {
|
|
|
return mutate((key) => Array.isArray(key) && key[0] === '/page/info');
|
|
return mutate((key) => Array.isArray(key) && key[0] === '/page/info');
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const hasShareLinkId = (
|
|
|
|
|
+ shareLinkId: string | null | undefined,
|
|
|
|
|
+): shareLinkId is string => {
|
|
|
|
|
+ return shareLinkId != null && shareLinkId.trim().length > 0;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Build query params for /page/info endpoint.
|
|
* Build query params for /page/info endpoint.
|
|
|
* Only includes shareLinkId when it is a non-empty string.
|
|
* Only includes shareLinkId when it is a non-empty string.
|
|
@@ -98,7 +104,7 @@ const buildPageInfoParams = (
|
|
|
pageId: string,
|
|
pageId: string,
|
|
|
shareLinkId: string | null | undefined,
|
|
shareLinkId: string | null | undefined,
|
|
|
): { pageId: string; shareLinkId?: string } => {
|
|
): { pageId: string; shareLinkId?: string } => {
|
|
|
- if (shareLinkId != null && shareLinkId.trim().length > 0) {
|
|
|
|
|
|
|
+ if (hasShareLinkId(shareLinkId)) {
|
|
|
return { pageId, shareLinkId };
|
|
return { pageId, shareLinkId };
|
|
|
}
|
|
}
|
|
|
return { pageId };
|
|
return { pageId };
|
|
@@ -113,9 +119,10 @@ export const useSWRxPageInfo = (
|
|
|
const isGuestUser = useIsGuestUser();
|
|
const isGuestUser = useIsGuestUser();
|
|
|
|
|
|
|
|
const key = useMemo(() => {
|
|
const key = useMemo(() => {
|
|
|
- return pageId != null
|
|
|
|
|
- ? ['/page/info', pageId, shareLinkId, isGuestUser]
|
|
|
|
|
- : null;
|
|
|
|
|
|
|
+ if (pageId == null) return null;
|
|
|
|
|
+ // Guests without a share link cannot access page info, so skip the request
|
|
|
|
|
+ if (isGuestUser && !hasShareLinkId(shareLinkId)) return null;
|
|
|
|
|
+ return ['/page/info', pageId, shareLinkId, isGuestUser];
|
|
|
}, [shareLinkId, isGuestUser, pageId]);
|
|
}, [shareLinkId, isGuestUser, pageId]);
|
|
|
|
|
|
|
|
const swrResult = useSWRImmutable(
|
|
const swrResult = useSWRImmutable(
|