feat: initialize Prisma schema with models for users, businesses, content, and site settings
Some checks failed
Build and Push App / build (push) Has been cancelled
Some checks failed
Build and Push App / build (push) Has been cancelled
This commit is contained in:
@@ -17,6 +17,8 @@ model User {
|
|||||||
avatar String?
|
avatar String?
|
||||||
emailVerified Boolean @default(false)
|
emailVerified Boolean @default(false)
|
||||||
verificationToken String? @unique
|
verificationToken String? @unique
|
||||||
|
resetToken String? @unique
|
||||||
|
resetTokenExpiry DateTime?
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
bio String?
|
bio String?
|
||||||
@@ -39,7 +41,7 @@ model Business {
|
|||||||
name String
|
name String
|
||||||
category String
|
category String
|
||||||
suggestedCategory String?
|
suggestedCategory String?
|
||||||
location String // Legacy location string
|
location String
|
||||||
countryId String?
|
countryId String?
|
||||||
city String?
|
city String?
|
||||||
description String
|
description String
|
||||||
@@ -94,15 +96,16 @@ model BusinessCategory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model Country {
|
model Country {
|
||||||
id String @id @default(uuid())
|
id String @id @default(uuid())
|
||||||
name String @unique
|
name String @unique
|
||||||
code String @unique // ISO alpha-2
|
code String @unique // ISO alpha-2
|
||||||
flag String? // Emoji or URL
|
flag String? // Emoji or URL
|
||||||
isActive Boolean @default(true)
|
isActive Boolean @default(true)
|
||||||
businesses Business[]
|
description String? @db.Text
|
||||||
users User[]
|
businesses Business[]
|
||||||
createdAt DateTime @default(now())
|
users User[]
|
||||||
updatedAt DateTime @updatedAt
|
createdAt DateTime @default(now())
|
||||||
|
updatedAt DateTime @updatedAt
|
||||||
}
|
}
|
||||||
|
|
||||||
model PricingPlan {
|
model PricingPlan {
|
||||||
@@ -314,6 +317,8 @@ model SiteSetting {
|
|||||||
homeBlogSubtitle String @default("Toutes les actualités de l'entrepreneuriat africain.")
|
homeBlogSubtitle String @default("Toutes les actualités de l'entrepreneuriat africain.")
|
||||||
homeBlogCount Int @default(3)
|
homeBlogCount Int @default(3)
|
||||||
homeBlogSelection String @default("latest")
|
homeBlogSelection String @default("latest")
|
||||||
|
homeBlogIds String[] @default([])
|
||||||
|
homeBlogCategories String[] @default([])
|
||||||
homeCategories String[] @default(["Technologie & IT", "Agriculture & Agrobusiness", "Mode & Textile", "Cosmétique & Beauté"])
|
homeCategories String[] @default(["Technologie & IT", "Agriculture & Agrobusiness", "Mode & Textile", "Cosmétique & Beauté"])
|
||||||
resetPasswordSubject String @default("Réinitialisation de votre mot de passe - Afrohub")
|
resetPasswordSubject String @default("Réinitialisation de votre mot de passe - Afrohub")
|
||||||
resetPasswordTemplate String @default("<div style=\"font-family: sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px;\"><h2 style=\"color: #0d9488; text-align: center;\">{siteName}</h2><p>Bonjour {name},</p><p>Vous avez demandé la réinitialisation de votre mot de passe. Cliquez sur le bouton ci-dessous pour choisir un nouveau mot de passe :</p><div style=\"text-align: center; margin: 30px 0;\"><a href=\"{resetUrl}\" style=\"background-color: #0d9488; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; font-weight: bold;\">Réinitialiser mon mot de passe</a></div><p>Ce lien expirera dans 1 heure. Si vous n'avez pas demandé cette réinitialisation, vous pouvez ignorer cet email.</p><hr style=\"border: 0; border-top: 1px solid #e5e7eb; margin: 20px 0;\"><p style=\"font-size: 12px; color: #6b7280; text-align: center;\">© 2025 {siteName}. Tous droits réservés.</p></div>") @db.Text
|
resetPasswordTemplate String @default("<div style=\"font-family: sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; border: 1px solid #e5e7eb; border-radius: 8px;\"><h2 style=\"color: #0d9488; text-align: center;\">{siteName}</h2><p>Bonjour {name},</p><p>Vous avez demandé la réinitialisation de votre mot de passe. Cliquez sur le bouton ci-dessous pour choisir un nouveau mot de passe :</p><div style=\"text-align: center; margin: 30px 0;\"><a href=\"{resetUrl}\" style=\"background-color: #0d9488; color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; font-weight: bold;\">Réinitialiser mon mot de passe</a></div><p>Ce lien expirera dans 1 heure. Si vous n'avez pas demandé cette réinitialisation, vous pouvez ignorer cet email.</p><hr style=\"border: 0; border-top: 1px solid #e5e7eb; margin: 20px 0;\"><p style=\"font-size: 12px; color: #6b7280; text-align: center;\">© 2025 {siteName}. Tous droits réservés.</p></div>") @db.Text
|
||||||
|
|||||||
Reference in New Issue
Block a user