fix: prisma url in schema + first user becomes ADMIN
- Add url = env("DATABASE_URL") back to schema (required by Prisma 7.5)
- Simplify prisma.config.ts
- First registered user auto-promoted to ADMIN via databaseHooks
- Subsequent users get HOST role
This commit is contained in:
@@ -43,4 +43,27 @@ export const auth = betterAuth({
|
||||
expiresIn: 60 * 60 * 24 * 7, // 7 days
|
||||
updateAge: 60 * 60 * 24, // 1 day
|
||||
},
|
||||
user: {
|
||||
additionalFields: {
|
||||
role: {
|
||||
type: "string",
|
||||
defaultValue: "HOST",
|
||||
input: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
databaseHooks: {
|
||||
user: {
|
||||
create: {
|
||||
before: async (user) => {
|
||||
// Первый зарегистрированный пользователь → ADMIN
|
||||
const count = await prisma.user.count();
|
||||
if (count === 0) {
|
||||
return { data: { ...user, role: "ADMIN" } };
|
||||
}
|
||||
return { data: { ...user, role: "HOST" } };
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user