model Account {
id String @id @default(cuid())
email String? @unique
type ACCOUNT_TYPE @default(PERSONAL)
userId Int? @map(“user”)
username String @unique
// *************** RELATIONS *****************
profile Profile?
user User? @relation(fields: [userId], references: [id])
// *******************************************
createdAt DateTime?
updatedAt DateTime?
deletedAt DateTime?
}
model Profile {
id String @default(cuid()) @id
accountId String @map(“account”)
avatarUrl String? @db.VarChar(255)
firstName String
lastName String
// *************** RELATIONS *****************
account Account @relation(fields: [accountId], references: [id])
meta ProfileMeta?
// *******************************************
createdAt DateTime?
updatedAt DateTime?
deletedAt DateTime?
}
model ProfileMeta {
id Int @id @default(autoincrement())
profileId String @map(“profile”)
key String
value String
// *************** RELATIONS *****************
profile Profile @relation(fields: [profileId], references: [id])
// *******************************************
createdAt DateTime?
updatedAt DateTime?
deletedAt DateTime?
}
model User {
id Int @id @default(autoincrement())
password String? @db.VarChar(255)
phoneNumber String @unique
provider String? @db.VarChar(255)
providerId String? @db.VarChar(255)
// *************** RELATIONS *****************
accounts Account[]
// *******************************************
createdAt DateTime?
updatedAt DateTime?
deletedAt DateTime?
}