feat: Added minecraft linking system, closes #29
This commit is contained in:
@@ -2,20 +2,20 @@ import * as jwt from 'jsonwebtoken'
|
||||
|
||||
interface IDecodedToken {
|
||||
discordId: string,
|
||||
userId: string,
|
||||
accessToken: string,
|
||||
refreshToken: string
|
||||
}
|
||||
|
||||
export const getCurrentUser = async (event: any) => {
|
||||
export const getAuth = (event: any) => {
|
||||
const token = getCookie(event, 'jwt') || null
|
||||
|
||||
if (!token) {
|
||||
throw createError({ statusCode: 401, statusMessage: 'JWT token is invalid' })
|
||||
}
|
||||
|
||||
let decodedToken
|
||||
try {
|
||||
decodedToken = jwt.verify(token, config.jwtSecret) as IDecodedToken
|
||||
return jwt.verify(token, config.jwtSecret) as IDecodedToken
|
||||
} catch (e) {
|
||||
console.error('Failed to verify JWT token', e)
|
||||
|
||||
@@ -24,19 +24,24 @@ export const getCurrentUser = async (event: any) => {
|
||||
statusMessage: 'JWT token is invalid'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const getUser = async (userId: string, event: any) => {
|
||||
if (userId === '@me') {
|
||||
const auth = getAuth(event)
|
||||
userId = auth.userId
|
||||
}
|
||||
|
||||
try {
|
||||
const user = await UserModel.findOne({ 'discord.id': decodedToken.discordId })
|
||||
const user = await UserModel.findById(userId)
|
||||
|
||||
if (!user) {
|
||||
throw createError({ statusCode: 500, statusMessage: 'User query returned null' })
|
||||
throw createError({ statusCode: 400, statusMessage: 'No user was found' })
|
||||
}
|
||||
|
||||
user.accessToken = decodedToken.accessToken
|
||||
|
||||
return user
|
||||
} catch (e) {
|
||||
console.error('Failed to get user', e)
|
||||
console.error('Failed to get user by id', e)
|
||||
|
||||
throw createError({ statusCode: 500, statusMessage: 'Failed to get user' })
|
||||
}
|
||||
|
Reference in New Issue
Block a user