import { db } from "@/db/db"; import { usersTable } from "@/db/schema"; import { clerkClient } from "@clerk/nextjs"; export async function setInitialUserData(userId: string) { const user = await clerkClient.users.getUser(userId); // incase we dont have username such as google login, fallback to first name + last name const usernameFallback = user.username ?? (user.firstName ?? "") + (user.lastName ?? ""); // For the display name, if it for some reason is empty, fallback to username let nameFallback = (user.firstName ?? "") + (user.lastName ?? ""); if (nameFallback === "") { nameFallback = usernameFallback; } const result = await db.insert(usersTable).values({ id: userId, // this is used for path, make sure this is unique username: usernameFallback, // this is for display name, maybe different from username name: nameFallback, }); }