only run prisma admin middleware if enable_admin

This commit is contained in:
Max Leiter 2022-11-14 18:49:58 -08:00
parent aef1788747
commit 2c3e271df1

View file

@ -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[]