feat: SEO Power Engine backend updates and remove temp media files
Backend Deploy 🚀 / build-and-deploy (push) Has been cancelled

This commit is contained in:
Harun CAN
2026-04-30 16:57:46 +02:00
parent 7745102584
commit 35bfc311e7
14 changed files with 828 additions and 88 deletions
+27
View File
@@ -264,6 +264,8 @@ model Project {
seoKeywords String[] // Hedeflenen SEO anahtar kelimeler
seoTitle String? @db.VarChar(200)
seoDescription String? @db.VarChar(500)
seoTitleAlts String[] // 5 alternatif SEO başlığı (AI üretimi)
seoScore Int? // 0-100 arası SEO güç skoru
seoSchemaJson Json? // VideoObject structured data
socialContent Json? // { youtubeTitle, tiktokCaption, instagramCaption, twitterText }
referenceUrl String? @db.VarChar(500)
@@ -297,6 +299,12 @@ model Project {
mediaAssets MediaAsset[]
renderJobs RenderJob[]
templateEntry Template? @relation("SourceProject")
seoScoreHistory SeoScoreHistory[]
// Parent-Child relationship for translations and versions
parentId String?
parentProject Project? @relation("ProjectVersions", fields: [parentId], references: [id])
childProjects Project[] @relation("ProjectVersions")
// Timestamps & Soft Delete
createdAt DateTime @default(now())
@@ -311,6 +319,25 @@ model Project {
@@index([createdAt])
}
// ============================================
// SEO Score History — Zaman Serisi
// ============================================
model SeoScoreHistory {
id String @id @default(uuid())
score Int // 0-100
event String @db.VarChar(50) // script_generated, title_changed, seo_titles_regenerated
metadata Json? // { selectedTitle, keywords, ... }
projectId String
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
@@index([projectId])
@@index([createdAt])
}
model Scene {
id String @id @default(uuid())
order Int // Sahne sırası (1, 2, 3...)