improved a bunch of things
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import bcryptjs from "bcryptjs";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
import { IUser } from "../../types";
|
||||
import { IUser, SafeUser } from "../../types";
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
@@ -14,11 +14,62 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
}
|
||||
|
||||
const user = await prisma.user.findFirst({
|
||||
|
||||
|
||||
let user = await prisma.user.findFirst({
|
||||
where: {
|
||||
username: body.username
|
||||
}
|
||||
}) as IUser
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
username: true,
|
||||
passwordhash: true,
|
||||
email: true,
|
||||
channels: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
messages: false,
|
||||
DM: true,
|
||||
dmParticipants: true,
|
||||
serverId: true
|
||||
}
|
||||
},
|
||||
servers: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
channels: {
|
||||
select: {
|
||||
id: true,
|
||||
DM: true,
|
||||
name: true,
|
||||
serverId: true
|
||||
}
|
||||
},
|
||||
participants: {
|
||||
select: {
|
||||
id: true,
|
||||
username: true
|
||||
}
|
||||
},
|
||||
roles: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
administrator: true,
|
||||
owner: true,
|
||||
users: {
|
||||
select: {
|
||||
id: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
}) as unknown
|
||||
|
||||
const isCorrect = await bcryptjs.compare(body.password, user.passwordhash)
|
||||
|
||||
@@ -38,6 +89,8 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
})
|
||||
|
||||
user = user as SafeUser
|
||||
|
||||
return {
|
||||
token,
|
||||
userId: user.id,
|
||||
|
||||
Reference in New Issue
Block a user