improved a bunch of things

This commit is contained in:
Zoe
2023-01-12 00:12:10 -06:00
parent 21a9b11547
commit 3bad12c646
13 changed files with 252 additions and 102 deletions

View File

@@ -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,