diff --git a/packages/hoppscotch-backend/prisma/schema.prisma b/packages/hoppscotch-backend/prisma/schema.prisma index 947d158a8..cc22f509e 100644 --- a/packages/hoppscotch-backend/prisma/schema.prisma +++ b/packages/hoppscotch-backend/prisma/schema.prisma @@ -79,10 +79,40 @@ model TeamEnvironment { } model User { - uid String @id @default(cuid()) - displayName String? - email String? - photoURL String? + id String @id @default(cuid()) + name String? + email String? @unique + image String? + isAdmin Boolean @default(false) + refreshToken String? + accounts Account[] + createdOn DateTime @default(now()) @db.Timestamptz(3) + PasswordlessVerification PasswordlessVerification[] +} + +model Account { + id String @id @default(cuid()) + userId String + provider String + providerAccountId String + providerRefreshToken String? + providerAccessToken String? + providerScope String? + loggedIn DateTime @default(now()) @db.Timestamptz(3) + + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + + @@unique(fields: [provider, providerAccountId], name: "verifyProviderAccount") +} + +model PasswordlessVerification { + deviceIdentifier String + token String @unique @default(cuid()) + userUid String + user User @relation(fields: [userUid], references: [id], onDelete: Cascade) + expiresOn DateTime @db.Timestamptz(3) + + @@unique(fields: [deviceIdentifier, token], name: "passwordless_deviceIdentifier_tokens") } enum TeamMemberRole {