'use server'
import { auth, clerkClient } from '@clerk/nextjs/server'
export const completeOnboarding = async () => {
const { userId } = await auth()
if (!userId) {
throw new Error('User not authenticated');
}
const client = await clerkClient()
try {
await client.users.updateUser(userId, {
publicMetadata: {
onboardingComplete: true,
},
});
return { success: true };
} catch (err) {
console.error('Error updating user metadata:', err);
throw new Error('Failed to complete onboarding');
}
};
export const checkOnboardingStatus = async () => {
const { userId } = await auth();
if (!userId) {
return { onboardingComplete: false };
}
const client = await clerkClient()
const user = await client.users.getUser(userId);
return {
onboardingComplete: user.publicMetadata.onboardingComplete === true,
};
};