From e6eba9053c40866e8bafb7083d2d38fc773a49fb Mon Sep 17 00:00:00 2001 From: Xavier Lien Date: Thu, 6 Feb 2025 12:48:46 -0500 Subject: [PATCH] feat: add check for createNewProject --- scripts/populate.py | 52 +++++++++++++++++++++------ src/controllers/ProjectsController.ts | 12 +++++++ 2 files changed, 54 insertions(+), 10 deletions(-) diff --git a/scripts/populate.py b/scripts/populate.py index 68a3fa3..bdf5510 100644 --- a/scripts/populate.py +++ b/scripts/populate.py @@ -247,6 +247,9 @@ def submit_to_prize(project_id, prize_id): print(f"Response for submitting project to prize: {response.status_code} - {response.text}") +def delete_talks(): + helix_db.drop_collection("checkin-items") + def delete_checkins(): helix_db.drop_collection("checkins") @@ -291,20 +294,49 @@ def get_prize_id(name): return prize["_id"] +def delete_schedule_items(): + helix_db.drop_collection("schedule-items") + + +def create_schedule_items(): + with open('../data/events.csv', mode='r') as events_file: + csv_reader = csv.DictReader(events_file) + for row in csv_reader: + schedule_data = { + "name": row["name"], + "description": row["description"], + "startTime": int(row["startTime"]), + "endTime": int(row["endTime"]), + "location": row["location"], + "lat": 0, + "lng": 0, + "platform": "IN_PERSON", + "platformUrl": "" + } + response = requests.post( + f"{API_URL}/schedule", + json=schedule_data, + headers={"x-access-token": JWT_SECRET} + ) + print(f"Response for schedule item creation: {response.status_code} - {response.text}") + + + if __name__=='__main__': # create_users(3) # create_judges(3) - # create_projects(3) # delete_projects() - # delete_judging_database() - # synchronize() + create_projects(10) + delete_judging_database() + synchronize() # create_sponsors() - # create_talks() # delete_checkins() - delete_prizes() - create_prizes() - # check_in_user() - # submit_to_prize() - # check_in_user(get_user_id("deny-brown@tartanhacks.com"), get_check_in_item_id("Talk 1")) - # submit_to_prize(get_project_id("Project for Team deny-brown@tartanhacks.com"), get_prize_id("Best Use of AI")) + # delete_talks() + # create_talks() + # delete_prizes() + # create_prizes() + # check_in_user(get_user_id("jorey-amber@tartanhacks.com"), get_check_in_item_id("Sponsor Event: AppLovin (Tech Talk/Networking)")) + # submit_to_prize(get_project_id("Project for Team ealasaid-cyan@tartanhacks.com"), get_prize_id("Making Waves")) + # delete_schedule_items() + # create_schedule_items() ... diff --git a/src/controllers/ProjectsController.ts b/src/controllers/ProjectsController.ts index 78b6b61..129d6f4 100644 --- a/src/controllers/ProjectsController.ts +++ b/src/controllers/ProjectsController.ts @@ -38,6 +38,18 @@ export const createNewProject = async ( const event = await getTartanHacks(); + const expoConfig = await getExpoConfig(); + if (!expoConfig) { + return bad(res, "Expo configuration not found"); + } + + if (Date.now() > expoConfig.submissionDeadline) { + return bad( + res, + "Project submission deadline has passed. Please contact the organizers if you need to save your project." + ); + } + const existingProjects = await Project.findOne({ team: team, event: event._id,