- Added the option to select an expiry date when an owner or dev creates a code

- Made it so the student's expiry date is the same as the admin when created by one
This commit is contained in:
Tiago Ribeiro
2023-10-11 11:20:28 +01:00
parent 25ce3bdf8f
commit a84edcd237
5 changed files with 132 additions and 20 deletions

View File

@@ -19,7 +19,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
return;
}
const {type, codes, emails} = req.body as {type: Type; codes: string[]; emails?: string[]};
const {type, codes, emails, expiryDate} = req.body as {type: Type; codes: string[]; emails?: string[]; expiryDate: null | Date};
const permission = PERMISSIONS.generateCode[type];
if (!permission.includes(req.session.user.type)) {
@@ -29,7 +29,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const codePromises = codes.map(async (code, index) => {
const codeRef = doc(db, "codes", code);
await setDoc(codeRef, {type, code, creator: req.session.user!.id});
await setDoc(codeRef, {type, code, creator: req.session.user!.id, expiryDate});
if (emails && emails.length > index) {
const transport = prepareMailer();