feat: Added verify account route, closes #28
This commit is contained in:
parent
11a59d39af
commit
d74a51db7f
24
webv2/server/api/minecraft/verifyaccount.get.ts
Normal file
24
webv2/server/api/minecraft/verifyaccount.get.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
export default defineEventHandler(async (event) => {
|
||||||
|
const { uuid } = getQuery(event)
|
||||||
|
|
||||||
|
let whitelistDoc
|
||||||
|
try {
|
||||||
|
whitelistDoc = await WhitelistModel.findOneAndUpdate({ uuid }, {
|
||||||
|
$set: {
|
||||||
|
uuid
|
||||||
|
},
|
||||||
|
$setOnInsert: {
|
||||||
|
code: generateCode(),
|
||||||
|
connected: false
|
||||||
|
}
|
||||||
|
}, { returnDocument: 'after', upsert: true })
|
||||||
|
|
||||||
|
return whitelistDoc
|
||||||
|
} catch (e: any) {
|
||||||
|
throw createError({ statusCode: 500, statusMessage: 'Failed to update/insert whitelist document' })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const generateCode = () => {
|
||||||
|
return Math.floor(100000 + Math.random() * 900000)
|
||||||
|
}
|
@ -21,4 +21,11 @@ const userSchema = new Schema({
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const whitelistSchema = new Schema({
|
||||||
|
uuid: { type: String, required: true, unique: true },
|
||||||
|
connected: { type: Boolean, required: true, default: false },
|
||||||
|
code: { type: String, required: true, unique: true, length: 6 }
|
||||||
|
})
|
||||||
|
|
||||||
export const UserModel = model<IUser>('User', userSchema)
|
export const UserModel = model<IUser>('User', userSchema)
|
||||||
|
export const WhitelistModel = model<IWhitelist>('Whitelist', whitelistSchema)
|
||||||
|
7
webv2/types/global.d.ts
vendored
7
webv2/types/global.d.ts
vendored
@ -21,4 +21,11 @@ declare global {
|
|||||||
teamId: string,
|
teamId: string,
|
||||||
accessToken?: string
|
accessToken?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface IWhitelist {
|
||||||
|
_id: string,
|
||||||
|
uuid: string,
|
||||||
|
connected: boolean,
|
||||||
|
code: string
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user