betterAuth({
// ...
databaseHooks: {
user: {
create: {
after: async (user) => {
const foundUser = await db.user.findUnique({
where: {
id: user.id,
},
select: {
personalPublicationId: true,
},
});
if (!foundUser) {
console.error("User not found after creation");
return;
}
await db.publication.create({
data: {
personalOwner: {
connect: {
id: user.id,
},
},
name: user.name,
subdomain: generateSubdomain().toLowerCase(),
type: "PERSONAL",
createdAt: user.createdAt,
contributors: {
create: {
userId: user.id,
role: "OWNER",
createdAt: user.createdAt,
},
},
},
})
}
}
}
}
})
betterAuth({
// ...
databaseHooks: {
user: {
create: {
after: async (user) => {
const foundUser = await db.user.findUnique({
where: {
id: user.id,
},
select: {
personalPublicationId: true,
},
});
if (!foundUser) {
console.error("User not found after creation");
return;
}
await db.publication.create({
data: {
personalOwner: {
connect: {
id: user.id,
},
},
name: user.name,
subdomain: generateSubdomain().toLowerCase(),
type: "PERSONAL",
createdAt: user.createdAt,
contributors: {
create: {
userId: user.id,
role: "OWNER",
createdAt: user.createdAt,
},
},
},
})
}
}
}
}
})