datasource db { provider = "sqlite" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" } model User { id String @id @default(cuid()) email String @unique role String @default("user") createdAt DateTime @default(now()) updatedAt DateTime @updatedAt password Password? favoriteStations UserFavoriteStation[] } model Password { hash String user User @relation(fields: [userId], references: [id], onDelete: Cascade, onUpdate: Cascade) userId String @unique } model Station { id String @id @default(cuid()) name String slug String description String? imgUrl String streamUrl String @unique reliability Float popularity Float tags StationTag[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt UserFavoriteStation UserFavoriteStation[] } model Tag { id String @id @default(cuid()) name String @unique slug String @unique stations StationTag[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model StationTag { id String @id @default(cuid()) station Station @relation(fields: [stationId], references: [id]) tag Tag @relation(fields: [tagId], references: [id]) stationId String tagId String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model UserFavoriteStation { id String @id @default(cuid()) user User @relation(fields: [userId], references: [id]) station Station @relation(fields: [stationId], references: [id]) stationId String userId String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } model ContentSource { id String @id @default(cuid()) name String type String description String? connectionUrl String @unique createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }