Skip to content

Commit

Permalink
yarn changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Aydan Pirani committed Jul 27, 2024
1 parent a5b1ac6 commit 5e6312f
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 35 deletions.
1 change: 1 addition & 0 deletions src/middleware/role-checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export default function RoleChecker(
userRoles.includes(Role.Enum.ADMIN) ||
userRoles.includes(Role.Enum.STAFF)
) {
console.log("skipped!");
return next();
}

Expand Down
6 changes: 4 additions & 2 deletions src/services/attendee/attendee-router.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import { Router } from "express";
import { StatusCodes } from "http-status-codes";
import { AttendeeCreateValidator, EventIdValidator } from "./attendee-validators";
import {
AttendeeCreateValidator,
EventIdValidator,
} from "./attendee-validators";
import { Database } from "../../database";
import RoleChecker from "../../middleware/role-checker";
import { Role } from "../auth/auth-models";
import { generateQrHash } from "../checkin/checkin-utils";


const attendeeRouter = Router();

// Favorite an event for an attendee
Expand Down
1 change: 1 addition & 0 deletions src/services/attendee/attendee-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export const AttendeeSchema = new Schema({
},
},
favorites: [{ type: String }],
puzzlesCompleted: [{ type: String, default: [] }],
});

export const AttendeeAttendanceSchema = new Schema({
Expand Down
7 changes: 1 addition & 6 deletions src/services/attendee/attendee-validators.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@ export const AttendeeCreateValidator = z.object({
allergies: z.string().array(),
});

export const AttendeeAttendanceValidator = z.object({
userId: z.string(),
eventsAttended: z.array(z.string()),
});

export const EventIdValidator = z.object({
eventId: z.string().uuid(),
});
});
44 changes: 19 additions & 25 deletions src/services/puzzlebang/puzzlebang-router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,33 @@ import { PuzzlebangCompleteRequestValidator } from "./puzzlebang-validators";

const puzzlebangRouter = Router();

// Favorite an event for an attendee
puzzlebangRouter.get(
"/:EMAIL",
puzzlebangRouter.post(
"/",
RoleChecker([Role.Enum.PUZZLEBANG]),
async (req, res, next) => {

Check failure on line 13 in src/services/puzzlebang/puzzlebang-router.ts

View workflow job for this annotation

GitHub Actions / lint

'next' is defined but never used
const email = req.params.EMAIL;
console.log("email:", email);
try {
const requestInfo = PuzzlebangCompleteRequestValidator.parse(
req.body
);

const userId = await Database.ATTENDEE.findOne({
emailAddress: email,
}).select("userId");
const attendeeData = await Database.ATTENDEE.findOneAndUpdate(
{ email: requestInfo.email },
{ $addToSet: { puzzlesCompleted: requestInfo.puzzleId } },
{ new: false }
);

if (userId) {
return res.status(StatusCodes.OK).json({ userId });
} else {
return res.sendStatus(StatusCodes.NOT_FOUND);
}
}
);
if (!attendeeData) {
return res.sendStatus(StatusCodes.NOT_FOUND);
}

puzzlebangRouter.post(
"/complete",
RoleChecker([Role.Enum.PUZZLEBANG]),
async (req, res, next) => {
try {
const requestInfo = PuzzlebangCompleteRequestValidator.parse(req.body);
console.log(requestInfo);


if (attendeeData.puzzlesCompleted.includes(requestInfo.puzzleId)) {
return res.sendStatus(StatusCodes.UNAUTHORIZED);
}

return res.sendStatus(StatusCodes.OK);
} catch (error) {
console.error(error);
}

}
);

Expand Down
3 changes: 2 additions & 1 deletion src/services/puzzlebang/puzzlebang-validators.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { z } from "zod";

export const PuzzlebangCompleteRequestValidator = z.object({
userId: z.string(),
// userId: z.string(),
email: z.string().email(),
puzzleId: z.string(),
});
2 changes: 1 addition & 1 deletion src/services/registration/registration-schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const RegistrationValidator = z.object({
userId: z.coerce.string().regex(/user[0-9]*/),
name: z.string(),
email: z.string().email(),
university: z.string().nonempty(),
university: z.string(),
graduation: z.string().nullable().optional(),
major: z.string().nullable().optional(),
dietaryRestrictions: z.string().array(),
Expand Down

0 comments on commit 5e6312f

Please sign in to comment.