Started trying out reading Excel files

This commit is contained in:
Tiago Ribeiro
2024-01-11 13:55:37 +00:00
parent fd1af3efee
commit f79857fabe
8 changed files with 213 additions and 29 deletions

View File

@@ -19,7 +19,12 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
return;
}
const {type, codes, emails, expiryDate} = req.body as {type: Type; codes: string[]; emails?: string[]; expiryDate: null | Date};
const {type, codes, infos, expiryDate} = req.body as {
type: Type;
codes: string[];
infos?: {email: string; name: string; passport_id: string}[];
expiryDate: null | Date;
};
const permission = PERMISSIONS.generateCode[type];
if (!permission.includes(req.session.user.type)) {
@@ -47,8 +52,9 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const codeRef = doc(db, "codes", code);
await setDoc(codeRef, {type, code, creator: req.session.user!.id, expiryDate});
if (emails && emails.length > index) {
await setDoc(codeRef, {email: emails[index]}, {merge: true});
if (infos && infos.length > index) {
const {email, name, passport_id} = infos[index];
await setDoc(codeRef, {email, name, passport_id}, {merge: true});
const transport = prepareMailer();
const mailOptions = prepareMailOptions(
@@ -56,7 +62,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
type,
code,
},
[emails[index]],
[email],
"EnCoach Registration",
"main",
);

View File

@@ -37,8 +37,9 @@ async function register(req: NextApiRequest, res: NextApiResponse) {
}
async function registerIndividual(req: NextApiRequest, res: NextApiResponse) {
const {email, password, code} = req.body as {
const {email, passport_id, password, code} = req.body as {
email: string;
passport_id?: string;
password: string;
code?: string;
};
@@ -67,6 +68,7 @@ async function registerIndividual(req: NextApiRequest, res: NextApiResponse) {
focus: "academic",
type: email.endsWith("@ecrop.dev") ? "developer" : codeData ? codeData.type : "student",
subscriptionExpirationDate: codeData ? codeData.expiryDate : moment().subtract(1, "days").toISOString(),
...(passport_id ? {demographicInformation: {passport_id}} : {}),
registrationDate: new Date(),
status: code ? "active" : "paymentDue",
};