add user profile, profile vibe and trip vibe and social signal
This commit is contained in:
+12
-1
@@ -35,7 +35,7 @@ model User {
|
||||
}
|
||||
|
||||
/// Profil sosial publik. Berisi info yang user pilih untuk dibagikan ke peserta lain
|
||||
/// (bio, kota, minat). Tidak menyimpan data sensitif — KYC tetap di OrganizerVerification.
|
||||
/// (bio, kota, minat, vibe). Tidak menyimpan data sensitif — KYC tetap di OrganizerVerification.
|
||||
model UserProfile {
|
||||
id String @id @default(cuid())
|
||||
userId String @unique
|
||||
@@ -49,11 +49,19 @@ model UserProfile {
|
||||
interests String[] @default([])
|
||||
/// Username Instagram (tanpa @, opsional)
|
||||
instagram String?
|
||||
/// Gaya jalan / energi user — dipakai untuk matching teman dengan ritme serupa.
|
||||
vibe Vibe?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
enum Vibe {
|
||||
CHILL
|
||||
BALANCED
|
||||
HARDCORE
|
||||
}
|
||||
|
||||
/// Tabel link akun OAuth pihak ketiga (Google, dst). Diisi oleh PrismaAdapter NextAuth.
|
||||
/// Session tidak pakai DB — kita pakai JWT, jadi Session/VerificationToken tidak perlu.
|
||||
model Account {
|
||||
@@ -136,6 +144,8 @@ model Trip {
|
||||
endDate DateTime?
|
||||
maxParticipants Int
|
||||
price Int
|
||||
/// Ritme/energi trip — dipakai untuk matching dengan vibe user.
|
||||
vibe Vibe?
|
||||
status TripStatus @default(OPEN)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@@ -148,6 +158,7 @@ model Trip {
|
||||
reviews TripReview[]
|
||||
|
||||
@@index([category, status, date])
|
||||
@@index([vibe, status, date])
|
||||
}
|
||||
|
||||
model TripReview {
|
||||
|
||||
Reference in New Issue
Block a user