VineetOriginal post
Rank 2: Process
Environment:
Appwrite Version: 1.5.7
Framework: Next.js (latest)
Issue:
In a Next.js app, getCurrentUserInfo redirects to an error page when a document is not found, even though it logs the error and returns null. This contrasts with getLoggedInUser, which handles similar errors correctly by only logging and returning null.
export const getCurrentUserInfo = async (id: string) => {
try {
const { databases } = await createDatabaseClient();
const db = await getDatabaseClient(databases);
const userInfo = await db.users.get(id);
if (!userInfo || userInfo.deleted) return null;
return userInfo;
} catch (error) {
console.error("Error:", error);
return null; // Unwanted redirect happens here
}
};
const Home = async () => {
const user = await getLoggedInUser();
const userInfo = await addUserInfoToDB(user);
return <div>{user && <Component user={user} />}</div>;
}
Behavior:
getCurrentUserInfo causes a redirect on errors.
getLoggedInUser functions correctly without redirects.
Question:
How can I avoid these unwanted redirects while maintaining consistent error handling?
Any help or insights would be appreciated!
Summary
Developers using Next.js with Appwrite are experiencing unwanted error page redirects when a document is not found, specifically in the getCurrentUserInfo function. The getLoggedInUser function works correctly without redirects. The issue seems to be related to how errors are handled in getCurrentUserInfo. One potential solution would be to add a check for the "Document Not Found" error specifically in the catch block and handle it differently to prevent the redirect.