1. Authentication Library (src/lib/auth.ts)
2. Authentication Routes 3. Updated Data Store (`src/lib/db.ts`) 4. Updated API Routes 5. Updated Frontend Component (`src/components/BikeBuilderApp.tsx`)
This commit is contained in:
+19
-1
@@ -8,6 +8,18 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model User {
|
||||
id String @id @default(cuid())
|
||||
email String @unique
|
||||
passwordHash String
|
||||
name String?
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
builds BikeBuild[]
|
||||
reviews RideReview[]
|
||||
preference RiderPreference?
|
||||
}
|
||||
|
||||
model Product {
|
||||
id String @id
|
||||
category String
|
||||
@@ -36,6 +48,8 @@ model BikeBuild {
|
||||
rearTireId String?
|
||||
setup String
|
||||
imagePath String?
|
||||
userId String
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
reviews RideReview[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@@ -45,6 +59,8 @@ model RideReview {
|
||||
id String @id @default(cuid())
|
||||
buildId String
|
||||
build BikeBuild @relation(fields: [buildId], references: [id], onDelete: Cascade)
|
||||
userId String
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
suspFeel Int
|
||||
frontGrip Int
|
||||
rearGrip Int
|
||||
@@ -60,7 +76,9 @@ model RideReview {
|
||||
}
|
||||
|
||||
model RiderPreference {
|
||||
id String @id @default("default")
|
||||
id String @id @default(cuid())
|
||||
userId String @unique
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
harshTendency Int @default(0)
|
||||
softTendency Int @default(0)
|
||||
gripPreference Int @default(0)
|
||||
|
||||
Reference in New Issue
Block a user