From ac0781c223bbd065879e4db1cb7976143b2d19ee Mon Sep 17 00:00:00 2001 From: Caleb Shim Date: Mon, 2 Mar 2026 13:23:32 -0500 Subject: [PATCH 1/4] Fix favorites matches format --- src/users/userController.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/users/userController.ts b/src/users/userController.ts index 8cf733b..6efa7f3 100644 --- a/src/users/userController.ts +++ b/src/users/userController.ts @@ -226,7 +226,7 @@ export const getFavoriteMatches = async ( const { favoritedItemNames } = user; if (favoritedItemNames.length === 0) { - return res.json({}); + return res.json([]); } const { start, end } = getTodayTimeWindow(); @@ -271,7 +271,10 @@ export const getFavoriteMatches = async ( }); // Format the response - const matches: Record = {}; + const matches: { + eateryName: string; + items: { name: string; events: EventType[] }[]; + }[] = []; const userFavoritesSet = new Set(favoritedItemNames); for (const eatery of eateries) { @@ -292,12 +295,15 @@ export const getFavoriteMatches = async ( } if (itemToEventsMap.size > 0) { - matches[eatery.name] = Array.from(itemToEventsMap.entries()).map( - ([itemName, eventSet]) => ({ - name: itemName, - events: Array.from(eventSet).sort(), - }), - ); + matches.push({ + eateryName: eatery.name, + items: Array.from(itemToEventsMap.entries()).map( + ([itemName, eventSet]) => ({ + name: itemName, + events: Array.from(eventSet).sort(), + }), + ), + }); } } From 46e308af3dbace4eb88491cb88acfae45ac7eccd Mon Sep 17 00:00:00 2001 From: Joshua Dirga Date: Thu, 5 Mar 2026 00:37:21 -0500 Subject: [PATCH 2/4] removed development userId override --- src/middleware/authentication.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/middleware/authentication.ts b/src/middleware/authentication.ts index 96d828d..1ac356a 100644 --- a/src/middleware/authentication.ts +++ b/src/middleware/authentication.ts @@ -10,13 +10,6 @@ export const requireAuth = ( _res: Response, next: NextFunction, ) => { - // Development bypass - if (process.env.NODE_ENV === 'development') { - req.user = { - userId: 1, - }; - return next(); - } const authHeader = req.headers.authorization; if (!authHeader || !authHeader.startsWith('Bearer ')) { From 3b032c31aecf48589ad267806d417b3d98a7c2d7 Mon Sep 17 00:00:00 2001 From: Fanhao Yu Date: Thu, 5 Mar 2026 10:54:49 -0500 Subject: [PATCH 3/4] Fix static eatery event times --- prisma/scraper.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/prisma/scraper.ts b/prisma/scraper.ts index 0e5eca6..300b281 100644 --- a/prisma/scraper.ts +++ b/prisma/scraper.ts @@ -1,3 +1,4 @@ +import { fromZonedTime } from 'date-fns-tz'; import 'dotenv/config'; import { readFileSync } from 'fs'; import cron from 'node-cron'; @@ -11,6 +12,7 @@ import { } from '@prisma/client'; import { DEFAULT_IMAGE_URL } from '../src/constants.js'; +import { TimeZone } from '../src/constants.js'; import { createWeeklyDate, mapCampusArea, @@ -197,8 +199,14 @@ function transformStaticEatery(rawStaticEatery: RawStaticEatery) { for (const operatingHour of rawStaticEatery.operatingHours) { for (const event of operatingHour.events) { - const startDate = createWeeklyDate(operatingHour.weekday, event.start); - const endDate = createWeeklyDate(operatingHour.weekday, event.end); + const startDate = fromZonedTime( + createWeeklyDate(operatingHour.weekday, event.start), + TimeZone.EASTERN, + ); + const endDate = fromZonedTime( + createWeeklyDate(operatingHour.weekday, event.end), + TimeZone.EASTERN, + ); if (endDate < startDate) { endDate.setDate(endDate.getDate() + 1); From 2d5f1877c2a6ff2d3c446aac3d024b785ce88654 Mon Sep 17 00:00:00 2001 From: Fanhao Yu Date: Wed, 11 Mar 2026 17:32:55 -0400 Subject: [PATCH 4/4] Match dev deploy workflow to prod's --- .github/workflows/deploy-dev.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index 022d8a5..0f43390 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -1,4 +1,4 @@ -name: Docker Build & Push and Deploy to dev for eatery-blue-backend +name: Docker Build & Push and Deploy to dev for eatery-backend on: push: @@ -32,7 +32,7 @@ jobs: context: ./ file: ./Dockerfile push: true - tags: cornellappdev/eatery-blue-dev:${{ steps.vars.outputs.sha_short }} + tags: cornellappdev/eatery-dev:${{ steps.vars.outputs.sha_short }} - name: Remote SSH and Deploy uses: appleboy/ssh-action@v1.0.3 @@ -45,7 +45,7 @@ jobs: script: | export IMAGE_TAG=${{ steps.vars.outputs.sha_short }} cd docker-compose - docker stack rm thestack + docker-compose down sleep 20s - docker stack deploy -c docker-compose.yml thestack + docker-compose up -d yes | docker system prune -a