datasource db { provider = "postgresql" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" } model Crypto { id String @id @default(uuid()) name String @unique value Float image String quantity Float @default(1000) created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt UserHasCrypto UserHasCrypto[] Trade Trade[] Offer Offer[] CryptoHistory CryptoHistory[] } model CryptoHistory { id String @id @default(uuid()) id_crypto String value Float created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt Crypto Crypto @relation(fields: [id_crypto], references: [id]) } model Offer { id String @id @default(uuid()) id_crypto String id_user String amount Float created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt Crypto Crypto @relation(fields: [id_crypto], references: [id]) User User @relation(fields: [id_user], references: [id]) } model PromoCode { id String @id @default(uuid()) name String value Int created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt } model Role { id String @id @default(uuid()) name String created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt User User[] } model Trade { id String @id @default(uuid()) id_giver String id_receiver String id_crypto String amount_traded Float created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt Giver User @relation("Giver", fields: [id_giver], references: [id]) Receiver User @relation("Receiver", fields: [id_receiver], references: [id]) Crypto Crypto @relation(fields: [id_crypto], references: [id]) } model User { id String @id @default(uuid()) firstName String lastName String pseudo String hash String email String @unique roleId String isActive Boolean dollarAvailables Float created_at DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt gdpr_acknowledgement DateTime @default(now()) Role Role @relation(fields: [roleId], references: [id]) UserHasCrypto UserHasCrypto[] TradeGiven Trade[] @relation("Giver") TradeReceived Trade[] @relation("Receiver") Offer Offer[] } model UserHasCrypto { id String @id @default(uuid()) id_user String id_crypto String amount Int createdAt DateTime @default(now()) updated_at DateTime @default(now()) @updatedAt User User @relation(fields: [id_user], references: [id]) Crypto Crypto @relation(fields: [id_crypto], references: [id]) }