haseakito / funbase

Next generation creators economy platform website
https://funbase.vercel.app
2 stars 0 forks source link

Design User Model #5

Closed haseakito closed 9 months ago

haseakito commented 10 months ago

Issue

Requirements

Feaures Expectation in the future

haseakito commented 10 months ago

Memo

According to NextAuth Prisma Adapter documentation, user should have Account to enable different oAuth provider.

Example code for user model in schema.prisma:

model Account { id String @id @default(cuid()) userId String type String provider String providerAccountId String refresh_token String? @db.Text access_token String? @db.Text expires_at Int? token_type String? scope String? id_token String? @db.Text session_state String?

user User @relation(fields: [userId], references: [id], onDelete: Cascade)

@@unique([provider, providerAccountId]) }

model Session { id String @id @default(cuid()) sessionToken String @unique userId String expires DateTime user User @relation(fields: [userId], references: [id], onDelete: Cascade) }

model User { id String @id @default(cuid()) name String? email String? @unique emailVerified DateTime? image String? accounts Account[] sessions Session[] }

model VerificationToken { identifier String token String @unique expires DateTime

@@unique([identifier, token]) }