mirror of
https://github.com/Drop-OSS/drop.git
synced 2026-07-27 02:04:39 +10:00
fix(invitations): fix expires requirement in the admin endpoint
This commit is contained in:
@@ -8,18 +8,29 @@ export default defineEventHandler(async (h3) => {
|
|||||||
const isAdmin = body.isAdmin;
|
const isAdmin = body.isAdmin;
|
||||||
const username = body.username;
|
const username = body.username;
|
||||||
const email = body.email;
|
const email = body.email;
|
||||||
|
const expires = body.expires;
|
||||||
|
|
||||||
|
if (!expires)
|
||||||
|
throw createError({ statusCode: 400, statusMessage: "No expires field." });
|
||||||
if (isAdmin !== undefined && typeof isAdmin !== "boolean")
|
if (isAdmin !== undefined && typeof isAdmin !== "boolean")
|
||||||
throw createError({
|
throw createError({
|
||||||
statusCode: 400,
|
statusCode: 400,
|
||||||
statusMessage: "isAdmin must be a boolean",
|
statusMessage: "isAdmin must be a boolean",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const expiresDate = new Date(expires);
|
||||||
|
if (!(expiresDate instanceof Date && !isNaN(expiresDate.getTime())))
|
||||||
|
throw createError({
|
||||||
|
statusCode: 400,
|
||||||
|
statusMessage: "Invalid expires date",
|
||||||
|
});
|
||||||
|
|
||||||
const invitation = await prisma.invitation.create({
|
const invitation = await prisma.invitation.create({
|
||||||
data: {
|
data: {
|
||||||
isAdmin: isAdmin,
|
isAdmin: isAdmin,
|
||||||
username: username,
|
username: username,
|
||||||
email: email,
|
email: email,
|
||||||
|
expires: expiresDate
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user