only run prisma admin middleware if enable_admin
This commit is contained in:
parent
aef1788747
commit
2c3e271df1
1 changed files with 19 additions and 22 deletions
|
@ -35,27 +35,28 @@ const updateDates = (input: any) => {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
export const prisma =
|
||||
global.prisma ||
|
||||
new PrismaClient({
|
||||
log: ["query"]
|
||||
})
|
||||
|
||||
// a prisma middleware for capturing the first user and making them an admin
|
||||
prisma.$use(async (params, next) => {
|
||||
const result = await next(params)
|
||||
if (params.model === "User" && params.action === "create") {
|
||||
const users = await prisma.user.findMany()
|
||||
if (users.length === 1) {
|
||||
await prisma.user.update({
|
||||
where: { id: users[0].id },
|
||||
data: { role: "admin" }
|
||||
})
|
||||
if (config.enable_admin) {
|
||||
// a prisma middleware for capturing the first user and making them an admin
|
||||
prisma.$use(async (params, next) => {
|
||||
const result = await next(params)
|
||||
if (params.model === "User" && params.action === "create") {
|
||||
const users = await prisma.user.findMany()
|
||||
if (users.length === 1) {
|
||||
await prisma.user.update({
|
||||
where: { id: users[0].id },
|
||||
data: { role: "admin" }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
return result
|
||||
})
|
||||
return result
|
||||
})
|
||||
}
|
||||
|
||||
// prisma.$use(async (params, next) => {
|
||||
// const result = await next(params)
|
||||
|
@ -123,7 +124,7 @@ export const getUserById = async (userId: User["id"]) => {
|
|||
email: true,
|
||||
// displayName: true,
|
||||
role: true,
|
||||
displayName: true,
|
||||
displayName: true
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -160,10 +161,6 @@ export const createUser = async (
|
|||
throw new Error("Wrong registration password")
|
||||
}
|
||||
|
||||
const isUserAdminByDefault =
|
||||
config.enable_admin && (await prisma.user.count()) === 0
|
||||
const userRole = isUserAdminByDefault ? "admin" : "user"
|
||||
|
||||
return {
|
||||
// user,
|
||||
// token
|
||||
|
@ -189,7 +186,7 @@ export const getPostById = async (
|
|||
? {
|
||||
select: {
|
||||
id: true,
|
||||
displayName: true,
|
||||
displayName: true
|
||||
}
|
||||
}
|
||||
: false
|
||||
|
@ -230,8 +227,8 @@ export const getAllUsers = async () => {
|
|||
role: true,
|
||||
displayName: true,
|
||||
posts: true,
|
||||
createdAt: true,
|
||||
},
|
||||
createdAt: true
|
||||
}
|
||||
})
|
||||
|
||||
return users as UserWithPosts[]
|
||||
|
|
Loading…
Reference in a new issue