/** * Events are created when a user creates a new event * @deprecated */ model Event { id String @id @default(cuid()) userId String @map("user_id") user User @relation(fields: [userId], references: [id], onDelete: Cascade) optionId String @map("option_id") title String start DateTime @db.Timestamp(0) duration Int @default(0) @map("duration_minutes") createdAt DateTime @default(now()) @map("created_at") poll Poll? @@index([userId], type: Hash) @@map("events") } enum ScheduledEventStatus { confirmed canceled unconfirmed @@map("scheduled_event_status") } enum ScheduledEventInviteStatus { pending accepted declined tentative @@map("scheduled_event_invite_status") } model ScheduledEvent { id String @id @default(cuid()) userId String @map("user_id") title String description String? location String? createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") status ScheduledEventStatus @default(confirmed) timeZone String? @map("time_zone") start DateTime end DateTime allDay Boolean @default(false) @map("all_day") deletedAt DateTime? @map("deleted_at") user User @relation(fields: [userId], references: [id], onDelete: Cascade) rescheduledDates RescheduledEventDate[] invites ScheduledEventInvite[] polls Poll[] @@map("scheduled_events") } model RescheduledEventDate { id String @id @default(cuid()) scheduledEventId String @map("scheduled_event_id") start DateTime @map("start") end DateTime @map("end") allDay Boolean @default(false) @map("all_day") createdAt DateTime @default(now()) @map("created_at") scheduledEvent ScheduledEvent @relation(fields: [scheduledEventId], references: [id], onDelete: Cascade) @@index([scheduledEventId]) @@map("rescheduled_event_dates") } model ScheduledEventInvite { id String @id @default(cuid()) scheduledEventId String @map("scheduled_event_id") inviteeName String @map("invitee_name") inviteeEmail String @map("invitee_email") inviteeId String? @map("invitee_id") inviteeTimeZone String? @map("invitee_time_zone") status ScheduledEventInviteStatus @default(pending) createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") scheduledEvent ScheduledEvent @relation(fields: [scheduledEventId], references: [id], onDelete: Cascade) user User? @relation(fields: [inviteeId], references: [id], onDelete: SetNull) // Optional relation to User model @@index([scheduledEventId]) @@index([inviteeId]) @@index([inviteeEmail]) @@map("scheduled_event_invites") }