timezone offset in migration 1 hour, check event date string for ISO format

This commit is contained in:
Moriz Wahl 2023-10-26 16:40:41 +02:00
parent fe3e5dc483
commit 44d6f31574
2 changed files with 6 additions and 2 deletions

View File

@ -19,11 +19,11 @@ export async function up(next) {
for (const event of events.records) { for (const event of events.records) {
let [id, eventStart, eventEnd] = event let [id, eventStart, eventEnd] = event
let date = new Date(eventStart) let date = new Date(eventStart)
date.setHours(date.getHours() - 2) date.setHours(date.getHours() - 1)
eventStart = date.toISOString() eventStart = date.toISOString()
if (eventEnd) { if (eventEnd) {
date = new Date(eventEnd) date = new Date(eventEnd)
date.setHours(date.getHours() - 2) date.setHours(date.getHours() - 1)
eventEnd = date.toISOString() eventEnd = date.toISOString()
} }
await transaction.run(` await transaction.run(`

View File

@ -34,6 +34,8 @@ const validateEventDate = (dateString) => {
const date = new Date(dateString) const date = new Date(dateString)
if (date.toString() === 'Invalid Date') if (date.toString() === 'Invalid Date')
throw new UserInputError('Event start date must be a valid 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() const now = new Date()
if (date.getTime() < now.getTime()) { if (date.getTime() < now.getTime()) {
throw new UserInputError('Event start date must be in the future!') throw new UserInputError('Event start date must be in the future!')
@ -44,6 +46,8 @@ const validateEventEnd = (start, end) => {
const endDate = new Date(end) const endDate = new Date(end)
if (endDate.toString() === 'Invalid Date') if (endDate.toString() === 'Invalid Date')
throw new UserInputError('Event end date must be a valid 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) const startDate = new Date(start)
if (endDate < startDate) if (endDate < startDate)
throw new UserInputError('Event end date must be a after event start date!') throw new UserInputError('Event end date must be a after event start date!')