main
Backend Deploy 🚀 / build-and-deploy (push) Has been cancelled

This commit is contained in:
Harun CAN
2026-05-09 05:57:56 +02:00
parent 3d36926fe9
commit 58832e99d1
17 changed files with 1469 additions and 59 deletions
+81
View File
@@ -35,6 +35,7 @@ model User {
preferences UserPreference?
youtubeAnalyses YoutubeAnalysis[]
youtubeSeoAnalyses YoutubeSeoAnalysis[]
tubeStrategistProjects TubeStrategistProject[]
// Multi-tenancy (optional)
tenantId String?
@@ -712,3 +713,83 @@ model YoutubeSeoAnalysis {
@@index([userId])
@@index([videoId])
}
// Tube Strategist
// ============================================
model TubeStrategistProject {
id String @id @default(uuid())
name String @db.VarChar(500)
status String @default("DRAFT") // DRAFT, ANALYZING, COMPLETED
// Settings
tone String?
duration String?
speakerName String?
targetAudience String?
topicFocus String?
formatDescription String? @db.Text
masterAnalysis Json? // Bütün master analizi burada duracak
// Relations
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
videos TubeStrategistVideo[]
episodes TubeStrategistEpisode[]
// Timestamps
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([userId])
}
model TubeStrategistVideo {
id String @id @default(uuid())
youtubeUrl String @db.VarChar(500)
videoId String @db.VarChar(100)
title String? @db.VarChar(500)
thumbnail String? @db.VarChar(500)
transcript String? @db.Text
transcriptDuration Int? // in seconds
totalComments Int @default(0)
mainComments Int @default(0)
replyComments Int @default(0)
viewCount String? @db.VarChar(50)
likeCount String? @db.VarChar(50)
commentsJson Json? // Storing top comments or buckets
tier1Analysis Json? // Individual video analysis
// Relations
projectId String
project TubeStrategistProject @relation(fields: [projectId], references: [id], onDelete: Cascade)
// Timestamps
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([projectId])
}
model TubeStrategistEpisode {
id String @id @default(uuid())
topic String @db.VarChar(500)
targetAudience String? @db.VarChar(500)
duration String? @db.VarChar(100)
format String? @db.VarChar(100)
status String @default("DRAFT") // DRAFT, ANALYZING, COMPLETED
masterAnalysis Json?
projectId String
project TubeStrategistProject @relation(fields: [projectId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([projectId])
}