From 44d6f31574fc48e18f09d7febed55ad91b71cfd7 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 26 Oct 2023 16:40:41 +0200 Subject: [PATCH] timezone offset in migration 1 hour, check event date string for ISO format --- backend/src/db/migrations/20231017141022-fix-event-dates.ts | 4 ++-- backend/src/schema/resolvers/helpers/events.ts | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/src/db/migrations/20231017141022-fix-event-dates.ts b/backend/src/db/migrations/20231017141022-fix-event-dates.ts index b7e23479c..3c4302f13 100644 --- a/backend/src/db/migrations/20231017141022-fix-event-dates.ts +++ b/backend/src/db/migrations/20231017141022-fix-event-dates.ts @@ -19,11 +19,11 @@ export async function up(next) { for (const event of events.records) { let [id, eventStart, eventEnd] = event let date = new Date(eventStart) - date.setHours(date.getHours() - 2) + date.setHours(date.getHours() - 1) eventStart = date.toISOString() if (eventEnd) { date = new Date(eventEnd) - date.setHours(date.getHours() - 2) + date.setHours(date.getHours() - 1) eventEnd = date.toISOString() } await transaction.run(` diff --git a/backend/src/schema/resolvers/helpers/events.ts b/backend/src/schema/resolvers/helpers/events.ts index 835088d8c..d4fc1fb11 100644 --- a/backend/src/schema/resolvers/helpers/events.ts +++ b/backend/src/schema/resolvers/helpers/events.ts @@ -34,6 +34,8 @@ const validateEventDate = (dateString) => { const date = new Date(dateString) if (date.toString() === 'Invalid Date') throw new UserInputError('Event start date must be a valid date!') + if (date.toISOString() !== dateString) + throw new UserInputError('Event start date must be in ISO format!') const now = new Date() if (date.getTime() < now.getTime()) { throw new UserInputError('Event start date must be in the future!') @@ -44,6 +46,8 @@ const validateEventEnd = (start, end) => { const endDate = new Date(end) if (endDate.toString() === 'Invalid Date') throw new UserInputError('Event end date must be a valid date!') + if (endDate.toISOString() !== end) + throw new UserInputError('Event end date must be in ISO format!') const startDate = new Date(start) if (endDate < startDate) throw new UserInputError('Event end date must be a after event start date!')