25 lines
598 B
TypeScript
25 lines
598 B
TypeScript
|
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)
|
||
|
}
|