617 lines
31 KiB
TypeScript
617 lines
31 KiB
TypeScript
import { PrismaClient } from '@prisma/client';
|
||
import * as fs from 'fs';
|
||
import * as path from 'path';
|
||
import * as ts from 'typescript';
|
||
import * as vm from 'vm';
|
||
import * as bcrypt from 'bcryptjs';
|
||
declare const process: any;
|
||
|
||
const prisma = new PrismaClient();
|
||
|
||
async function main() {
|
||
if (process.env.NODE_ENV === 'production' && process.env.FORCE_SEED_WIPE !== 'true') {
|
||
throw new Error(
|
||
'CRITICAL: Seed wiping is BLOCKED in production! Set FORCE_SEED_WIPE=true if you really intend to wipe the database.',
|
||
);
|
||
}
|
||
|
||
console.log('Wiping existing database records...');
|
||
await prisma.reminderCompletion.deleteMany();
|
||
await prisma.reminder.deleteMany();
|
||
await prisma.healthLog.deleteMany();
|
||
await prisma.petMedicalCondition.deleteMany();
|
||
await prisma.pet.deleteMany();
|
||
await prisma.orderItem.deleteMany();
|
||
await prisma.order.deleteMany();
|
||
await prisma.blog.deleteMany();
|
||
await prisma.walletTransaction.deleteMany();
|
||
await prisma.userAddress.deleteMany();
|
||
await prisma.user.deleteMany();
|
||
await prisma.productIngredient.deleteMany();
|
||
await prisma.productSymptom.deleteMany();
|
||
await prisma.product.deleteMany();
|
||
await prisma.coupon.deleteMany();
|
||
await prisma.uiText.deleteMany();
|
||
await prisma.scientificTerm.deleteMany();
|
||
await prisma.category.deleteMany();
|
||
console.log('Database successfully wiped.');
|
||
|
||
console.log('Creating Admin User...');
|
||
const rawAdminPassword = process.env.ADMIN_PASSWORD || 'AdminPassword_ChangeMe_2026!';
|
||
const adminHashedPassword = await bcrypt.hash(rawAdminPassword, 10);
|
||
await prisma.user.upsert({
|
||
where: { email: process.env.ADMIN_EMAIL || 'admin@canina.ir' },
|
||
update: {
|
||
password: adminHashedPassword,
|
||
role: 'Admin',
|
||
},
|
||
create: {
|
||
id: '12345678-1234-1234-1234-123456789012',
|
||
firstName: 'مدیر',
|
||
lastName: 'سیستم',
|
||
email: process.env.ADMIN_EMAIL || 'admin@canina.ir',
|
||
password: adminHashedPassword,
|
||
role: 'Admin',
|
||
mobile: '09120000001',
|
||
},
|
||
});
|
||
|
||
// Seeding UI Texts
|
||
console.log('Seeding UI Texts...');
|
||
const uiTexts = {
|
||
hero_badge: 'از ۱۹۸۴ در خدمت سلامت حیوانات',
|
||
hero_title: 'تخصص آلمانی در خدمت\nسلامت پتهای خانگی',
|
||
hero_desc:
|
||
'از سال ۱۹۸۴، شرکت Canina pharma GmbH در برگیش گلادباخ آلمان، با بهرهگیری از مواد اولیه طبیعی و فرآیندهای پیشرفته، استاندارد طلایی مکملهای دامپزشکی را تعریف میکند. کنینا نماینده رسمی این برند در ایران است.',
|
||
hero_btn_advisor: 'دستیار سلامت پت',
|
||
hero_btn_products: 'مشاهده محصولات',
|
||
hero_stat_founded: '۱۹۸۴ سال تأسیس',
|
||
hero_stat_agencies: 'نمایندگی فعال',
|
||
hero_stat_german_formula: 'فرمول آلمانی',
|
||
hero_image_badge: 'سرآمد علمی در پزشکی پتها',
|
||
hero_image_title: 'مکملهای تایید شده دامپزشکی با گواهی IFS',
|
||
hero_quality_standard: 'استاندارد کیفی آلمان (IFS & HACCP)',
|
||
cta_title: 'میخواهید بدانید کدام محصول برای پت شما مناسبتر است؟',
|
||
cta_subtitle:
|
||
'تیم متخصص دامپزشکی کنینا ایران آماده پاسخگویی به سوالات شماست. با بیش از ۴۰ محصول تخصصی، راهکار مناسب هر نیاز بالینی را خواهید یافت.',
|
||
cta_btn_free: 'دریافت رژیم مکمل رایگان',
|
||
cta_btn_products: 'ورود به محصولات تخصصی',
|
||
about_teaser_badge: 'داستان ما از آلمان',
|
||
about_teaser_title: 'Canina pharma GmbH – میراثی از ۱۹۸۴',
|
||
about_teaser_desc:
|
||
'شرکت Canina pharma GmbH در سال ۱۹۸۴ توسط پتر و کریستین کرشنمایر در شهر برگیش گلادباخ آلمان تأسیس شد. این شرکت با شعار «مادر طبیعت بهترین نسخه را میداند» از مواد اولیه طبیعی و تجدیدپذیر برای تولید مکملهای با گرید دارویی استفاده میکند. امروزه محصولات کنینا در بیش از ۴۰ کشور جهان توزیع میشود و نماینده رسمی آن در ایران با نام کنینا به ارائه محصولات اصل با پروانه دامپزشکی میپردازد.',
|
||
about_teaser_feat1_title: 'مواد اولیه نایاب',
|
||
about_teaser_feat1_desc:
|
||
'استفاده از پودر صدف لبسبز اصل نیوزیلند (Perna canaliculus)، پیت طبیعی آلمان، آغوز و روغنهای گیاهی ارگانیک با گرید دارویی.',
|
||
about_teaser_feat2_title: 'فاقد مواد نگهدارنده',
|
||
about_teaser_feat2_desc:
|
||
'تمامی محصولات ۱۰۰٪ طبیعی و فاقد رنگهای مصنوعی، طعمدهندهها و نگهدارندههای شیمیایی هستند.',
|
||
about_teaser_feat3_title: 'تاییدیه بینالمللی',
|
||
about_teaser_feat3_desc:
|
||
'دارای گواهی IFS (International Featured Standard) و HACCP. محصولات مطابق با سختگیرانهترین استانداردهای ایمنی مواد غذایی و دارویی اتحادیه اروپا تولید میشوند.',
|
||
about_teaser_quality_title: 'کیفیت آلمانی',
|
||
about_teaser_quality_desc:
|
||
'استانداردهای فوقدارویی – تولید شده در کارخانه برگیش گلادباخ',
|
||
ingredients_wiki: JSON.stringify([
|
||
{
|
||
id: 'green-mussel',
|
||
name: 'صدف لبسبز (Perna Canaliculus)',
|
||
description:
|
||
'این صدف بومی سواحل بکر نیوزیلند است و تنها منبع طبیعی حاوی گلیکوزآمینگلیکانها (GAG) در غلظت بسیار بالا محسوب میشود. GAGها مولکولهای آب را در ماتریکس غضروفی جذب کرده و خاصیت بافری و الاستیسیته مفاصل را بازیابی میکنند.',
|
||
benefits: [
|
||
'بازسازی بافت غضروفی تخریب شده',
|
||
'خواص ضدالتهابی طبیعی برای رباطها',
|
||
'تامین اسیدهای چرب امگا ۳ خاص (ETA)',
|
||
],
|
||
},
|
||
{
|
||
id: 'silver',
|
||
name: 'نقره میکروسیلور (Microsilver BG)',
|
||
description:
|
||
'ذرات نقره خالص با ساختار اسفنجی که به دلیل اندازه ذرات درشت، جذب خون نمیشوند اما اثر آنتیباکتریال پایداری بر سطح غشاها دارند. بر خلاف نقره کلوئیدی معمولی، میکروسیلور رسوب سطحی طولانیمدت ایجاد کرده و فلور طبیعی را تخریب نمیکند.',
|
||
benefits: [
|
||
'مبارزه با باکتریهای مقاوم در دهان و پوست',
|
||
'عدم آسیب به فلور طبیعی بدن',
|
||
'جایگزین ایمن برای آنتیبیوتیکهای موضعی',
|
||
],
|
||
},
|
||
{
|
||
id: 'colostrum',
|
||
name: 'آغوز (Colostrum)',
|
||
description:
|
||
'اولین شیر پستانداران پس از زایمان که حاوی دوز بالایی از ایمونوگلوبولینها (IgG, IgA, IgM)، لاکتوفرین و سایتوکاینها برای فعالسازی فوری سیستم ایمنی است. سد دفاعی روده را تقویت کرده و از نفوذ پاتوژنها جلوگیری میکند.',
|
||
benefits: [
|
||
'تقویت سد دفاعی روده',
|
||
'انتقال مستقیم آنتیبادی به نوزادان',
|
||
'تسریع نقاهت بعد از جراحی',
|
||
],
|
||
},
|
||
{
|
||
id: 'peat-extract',
|
||
name: 'عصاره پیت (Peat Extract / Moor)',
|
||
description:
|
||
'مادهای کاملاً طبیعی حاصل از تجزیه گیاهان در طول هزاران سال که غنی از اسیدهای هومیک با ساختار پلیمری دارای بار منفی است. سموم، قارچها و باکتریهای مضر را در روده به دام انداخته و دفع میکند.',
|
||
benefits: [
|
||
'جذب سموم و فلزات سنگین در دستگاه گوارش',
|
||
'تنظیم فلور روده',
|
||
'بهبود اشتها و هضم',
|
||
],
|
||
},
|
||
{
|
||
id: 'collagen',
|
||
name: 'کلاژن هیدرولیز شده',
|
||
description:
|
||
'پپتیدهای کلاژن نوع I و II با وزن مولکولی پایین که مستقیماً در ماتریکس غضروف مفصلی جذب شده و ساختار استخوانها و تاندونها را تقویت کرده و تحرک مفاصل را بهبود میبخشند.',
|
||
benefits: [
|
||
'بازسازی غضروف مفصلی',
|
||
'تقویت بافت همبند و تاندونها',
|
||
'بهبود خاصیت ارتجاعی مفاصل',
|
||
],
|
||
},
|
||
{
|
||
id: 'biotin',
|
||
name: 'بیوتین (Biotin / Vitamin H)',
|
||
description:
|
||
'ویتامین ضروری از گروه B که به عنوان کوآنزیم در مسیرهای سنتز کراتین و چربیها عمل میکند. کمبود آن باعث ریزش مو، کدر شدن پوشش و شکنندگی پنجهها میشود.',
|
||
benefits: [
|
||
'جلوگیری از ریزش مو و بازسازی پوشش مویی',
|
||
'تقویت رنگدانه طبیعی مو و بینی',
|
||
'محکمسازی پنجه، ناخن و سمها',
|
||
],
|
||
},
|
||
{
|
||
id: 'taurin',
|
||
name: 'تورین (Taurine)',
|
||
description:
|
||
'اسید آمینه بسیار حیاتی برای گربهها. بدن گربه قادر به سنتز تورین نیست و کمبود آن در رژیم غذایی میتواند به تخریب تدریجی شبکیه چشم (نابینایی) و بیماری قلبی منجر گردد.',
|
||
benefits: [
|
||
'سلامت بینایی و شبکیه چشم گربهها',
|
||
'تقویت عضله قلب و عملکرد پمپاژ خون',
|
||
'پشتیبانی از سیستم ایمنی و تولید مثل',
|
||
],
|
||
},
|
||
{
|
||
id: 'salmon-oil',
|
||
name: 'روغن ماهی سالمون (Salmon Oil)',
|
||
description:
|
||
'روغن ماهی سالمون خالص، سرشار از اسیدهای چرب امگا ۳ (DHA و EPA) که به کاهش پاسخهای التهابی، سلامت سیستم قلبی عروقی و پوست و مو کمک شایانی میکند.',
|
||
benefits: [
|
||
'بهبود براقیت و لطافت پوست و مو',
|
||
'خواص ضدالتهابی قوی در مفاصل',
|
||
'تقویت سیستم ایمنی و عملکردهای شناختی',
|
||
],
|
||
},
|
||
{
|
||
id: 'black-cumin',
|
||
name: 'سیاه دانه (Black Cumin)',
|
||
description:
|
||
'دانههای سیاه دانه مصری غنی از اسیدهای چرب غیراشباع و روغنهای فرار گیاهی با عطر آجیلی قوی که عملکرد گوارش و متابولیسم را بهبود میبخشند.',
|
||
benefits: [
|
||
'تنظیم متابولیسم عمومی و هضم بهتر',
|
||
'تقویت سیستم دفاعی طبیعی بدن',
|
||
'خواص طبیعی ضد باکتری و ضدقارچ',
|
||
],
|
||
},
|
||
{
|
||
id: 'eggshell',
|
||
name: 'پودر پوسته تخم مرغ (Eggshell Powder)',
|
||
description:
|
||
'منبع طبیعی کلسیم ارگانیک با غلظت کلسیم بالا (۳۶٪) و مقدار ناچیز فسفر (۰.۱٪) جهت تنظیم نسبت کلسیم به فسفر در غذاهای گوشتی پخته یا خام.',
|
||
benefits: [
|
||
'تامین کلسیم بدون افزایش ناخواسته فسفر',
|
||
'جایگزین عالی برای حیوانات دارای آلرژی به استخوان',
|
||
'پشتیبانی از سلامت استخوان و دندان',
|
||
],
|
||
},
|
||
{
|
||
id: 'hawthorn',
|
||
name: 'زالزالک (Hawthorn)',
|
||
description:
|
||
'عصاره گیاهی دارویی با سابقه مصرف طولانی جهت مهار طبیعی آنزیمهای آسیبرسان و بهبود خونرسانی و کارایی کلی عضله قلب.',
|
||
benefits: [
|
||
'تقویت انقباضات ماهیچه قلب',
|
||
'بهبود جریان خون در رگهای کرونری',
|
||
'افزایش نشاط در سگ و گربههای مسن',
|
||
],
|
||
},
|
||
{
|
||
id: 'l-carnitine',
|
||
name: 'ال-کارنیتین (L-Carnitine)',
|
||
description:
|
||
'ترکیب شبهآمینه که با تسهیل انتقال اسیدهای چرب به درون میتوکندری، به تولید انرژی سلولی کمک کرده و از خستگی عضلانی جلوگیری مینماید.',
|
||
benefits: [
|
||
'تولید انرژی از چربیها در ماهیچه قلب',
|
||
'بهبود قدرت بدنی و کاهش خستگی عضلات',
|
||
'حمایت از متابولیسم سالم چربیها',
|
||
],
|
||
},
|
||
{
|
||
id: 'seaweed',
|
||
name: 'جلبک دریایی (Seaweed)',
|
||
description:
|
||
'جلبک قهوهای اقیانوسی ارگانیک حاوی اسیدهای آمینه، ویتامینها و ید طبیعی جهت کمک به تنظیم غده تیروئید و تقویت پیگمنتهای تیره حیوان.',
|
||
benefits: [
|
||
'تقویت رنگدانه بینی، پنجه و پوشش مویی',
|
||
'بهبود هضم و جذب مواد مغذی',
|
||
'پشتیبانی عمومی از سلامت غده تیروئید',
|
||
],
|
||
},
|
||
{
|
||
id: 'hyaluronic',
|
||
name: 'هیالورونات سدیم (Sodium Hyaluronate)',
|
||
description:
|
||
'مادهای فوقالعاده با خاصیت اتصال به آب بالا که روانکننده و مرطوبکننده قرنیه چشم بوده و از خشکی و خارش چشمها جلوگیری میکند.',
|
||
benefits: [
|
||
'شستشو و تسکین چشمهای تحریکشده و قرمز',
|
||
'رطوبترسانی ماندگار به سطح خارجی قرنیه',
|
||
'کمک به رفع چسبندگی و قی کردن چشم',
|
||
],
|
||
},
|
||
{
|
||
id: 'calendula-sea-buckthorn',
|
||
name: 'روغن کالاندولا و سنجد دریایی',
|
||
description:
|
||
'روغنهای طبیعی گیاهی با اثرات ضدالتهابی، بازسازیکننده و تسکیندهنده پوست که یک سد دفاعی فیزیکی و بیولوژیکی ایجاد میکنند.',
|
||
benefits: [
|
||
'ترمیم خشکی، ترک خوردگی و آسیبهای پنجه',
|
||
'تسکین التهاب و قرمزی ناشی از گزش حشرات',
|
||
'کمک به بازسازی سریعتر لایههای آسیبدیده پوست',
|
||
],
|
||
},
|
||
{
|
||
id: 'dodecanoic',
|
||
name: 'اسید دودکانوئیک و مارگوسا',
|
||
description:
|
||
'عوامل فعال طبیعی و گیاهی بدون مواد حشرهکش شیمیایی با خواص دورکننده قوی در برابر انگلهای خارجی نظیر کک، کنه و شپش.',
|
||
benefits: [
|
||
'دفع موثر کنهها، ککها و شپشهای گزنده',
|
||
'جلوگیری از مستقر شدن انگلها و تخم آنها در محیط',
|
||
'ایمن برای حیوان و اعضای خانواده در محیط خانه',
|
||
],
|
||
},
|
||
{
|
||
id: 'calcium-citrate',
|
||
name: 'سیترات کلسیم (Calcium Citrate)',
|
||
description:
|
||
'شکل خالص و زودهضم کلسیم ارگانیک با جذب روده بالا، ایدهآل برای سگهای در حال رشد و مادران باردار بدون ایجاد سنگ کلیه.',
|
||
benefits: [
|
||
'جذب بالینی سریعتر نسبت به کلسیم کربنات',
|
||
'استحکام دندانها و استخوانبندی',
|
||
'پشتیبانی از انتقال پیامهای عصبی',
|
||
],
|
||
},
|
||
{
|
||
id: 'spirulina',
|
||
name: 'جلبک اسپیرولینا (Spirulina)',
|
||
description:
|
||
'سوپرفود کاملا طبیعی غنی از فیکوسیانین، کلروفیل، پروتئینهای گیاهی و اسیدهای آمینه ضروری برای پاکسازی خون و سیستم ایمنی.',
|
||
benefits: [
|
||
'پاکسازی و سمزدایی عمومی بدن',
|
||
'تقویت انرژی و شادابی در حیوانات مسن',
|
||
'بهبود سلامت پوست و رنگدانه پوشش',
|
||
],
|
||
},
|
||
{
|
||
id: 'vitamin-c',
|
||
name: 'ویتامین C (L-Ascorbic Acid)',
|
||
description:
|
||
'آنتیاکسیدان حیاتی که در سنتز طبیعی کلاژن، جذب بهتر آهن و خنثیسازی رادیکالهای آزاد نقش کلیدی ایفا میکند.',
|
||
benefits: [
|
||
'کمک به بازسازی غضروفها و لثه',
|
||
'تقویت دفاع طبیعی سلولها',
|
||
'تسریع بهبودی و ترمیم زخمها',
|
||
],
|
||
},
|
||
{
|
||
id: 'brewer-yeast',
|
||
name: "مخمر آبجو (Brewer's Yeast)",
|
||
description:
|
||
'منبع غنی از تمامی ویتامینهای گروه B، روی، متیونین و اسید فولیک جهت بهبود اشتها، هضم و درخشندگی پوشش مویی.',
|
||
benefits: [
|
||
'تحریک اشتهای طبیعی و هضم غذا',
|
||
'تغذیه ریشه موها و جلوگیری از ریزش فصلی',
|
||
'تقویت شادابی و سیستم عصبی',
|
||
],
|
||
},
|
||
{
|
||
id: 'evening-primrose',
|
||
name: 'روغن گل مغربی (Evening Primrose Oil)',
|
||
description:
|
||
'روغن گیاهی ارزشمند حاوی گاما-لینولنیک اسید (GLA) که خشکی، خارش، قرمزی و التهابات حساسیتپذیری پوست را تسکین میدهد.',
|
||
benefits: [
|
||
'کاهش خارش و التهابهای آلرژیک پوست',
|
||
'تامین رطوبت عمقی پوستهای خشک',
|
||
'ترمیم سد دفاعی اپیدرم',
|
||
],
|
||
},
|
||
{
|
||
id: 'grapefruit-seed',
|
||
name: 'عصاره دانه گریپفروت (Grapefruit Seed)',
|
||
description:
|
||
'ترکیب گیاهی آنتیباکتریال و ضدقارچ طبیعی که مانع تشکیل بیوفیلمهای باکتریایی موذی بر روی لثهها و پوست میشود.',
|
||
benefits: [
|
||
'پیشگیری از تجمع پلاک و جرم دندان',
|
||
'مهار باکتریهای مضر دهان',
|
||
'رفع بوی نامطبوع دهان',
|
||
],
|
||
},
|
||
{
|
||
id: 'dextrose',
|
||
name: 'دکستروز و الکترولیتها (Dextrose)',
|
||
description:
|
||
'قند ساده سریعالجذب به همراه مواد معدنی کلیدی جهت آبرسانی مجدد و بازیابی فوری سطح انرژی در اسهال و خستگی.',
|
||
benefits: [
|
||
'بازیابی فوری گلوکز خون در افت انرژی',
|
||
'جبران الکترولیتهای از دست رفته در اسهال',
|
||
'افزایش توان بدنی',
|
||
],
|
||
},
|
||
{
|
||
id: 'vitamin-e',
|
||
name: 'ویتامین E طبیعی (Vitamin E)',
|
||
description:
|
||
'آنتیاکسیدان محلول در چربی که از اسیدهای چرب غشای سلولی در برابر اکسیداسیون و تخریب محافظت مینماید.',
|
||
benefits: [
|
||
'محافظت از غشاهای سلولی و عضلات',
|
||
'سلامت سیستم باروری و قلبی',
|
||
'بهبود پایداری روغنهای امگا',
|
||
],
|
||
},
|
||
{
|
||
id: 'milk-thistle',
|
||
name: 'عصاره خار مریم (Milk Thistle)',
|
||
description:
|
||
'حاوی سیلیمارین، قویترین عصاره گیاهی محافظ کبد که سلولهای کبدی را بازسازی کرده و به دفع سموم کمک میکند.',
|
||
benefits: [
|
||
'محافظت و بازسازی بافت سلولهای کبد',
|
||
'کمک به دفع سموم و آثار داروها',
|
||
'بهبود عملکرد صفرا و هضم چربیها',
|
||
],
|
||
},
|
||
{
|
||
id: 'chitin',
|
||
name: 'کیتوزان طبیعی (Chitosan)',
|
||
description:
|
||
'فیبر طبیعی بهدستآمده از پوسته سختپوستان که فسفر اضافه رژیم غذایی را در روده متصل کرده و دفع مینماید.',
|
||
benefits: [
|
||
'کاهش بار فسفر اضافی در نارسایی کلیوی',
|
||
'کمک به حفظ سطح سالم اوره و کراتینین',
|
||
'دفع سموم نیتروژنی از گوارش',
|
||
],
|
||
},
|
||
{
|
||
id: 'zinc',
|
||
name: 'روی کلات شده (Zinc Chelate)',
|
||
description:
|
||
'عنصر روی ارگانیک پیوند خورده با اسیدهای آمینه جهت نفوذپذیری بیشتر، موثر در سلامت زخمها و پوست.',
|
||
benefits: [
|
||
'تسریع ترمیم زخمها و اگزما',
|
||
'تثبیت ضخامت موها و پنجهها',
|
||
'تقویت عملکرد گلبولهای سفید',
|
||
],
|
||
},
|
||
{
|
||
id: 'lecithin',
|
||
name: 'لسیتین سویا (Soy Lecithin)',
|
||
description:
|
||
'امولسیفایر طبیعی غنی از فسفولیپیدها که متابولیسم چربیها را بهبود بخشیده و به سلامت سلولهای عصبی کمک میکند.',
|
||
benefits: [
|
||
'بهبود جذب چربیها و ویتامینهای محلول در چربی',
|
||
'تقویت حافظه و تمرکز در آموزش سگها',
|
||
'پشتیبانی از سلامت کبد',
|
||
],
|
||
},
|
||
{
|
||
id: 'glucosamine',
|
||
name: 'گلوکوزامین هیدروکلرید (Glucosamine)',
|
||
description:
|
||
'ترکیب پایهای ساخت ماتریکس غضروفی و مایع سنویال مفاصل که روانسازی حرکت مفاصل را تضمین مینماید.',
|
||
benefits: [
|
||
'تحریک تولید مایع مفصلی (Synovial Fluid)',
|
||
'کاهش خشکی و اصطکاک مفاصل',
|
||
'تسکین درد ناشی از آرتروز',
|
||
],
|
||
},
|
||
{
|
||
id: 'chondroitin',
|
||
name: 'کندروئیتین سولفات (Chondroitin)',
|
||
description:
|
||
'سولفات گلیکوزآمینوگلیکان طبیعی که آنزیمهای تخریبکننده غضروف را مهار کرده و رطوبت مفاصل را حفظ میکند.',
|
||
benefits: [
|
||
'جلوگیری از تخریب غضروفها با مهار آنزیمها',
|
||
'افزایش انعطافپذیری و دامنه حرکتی مفاصل',
|
||
'اثر مکمل و سینرژیک با گلوکوزامین',
|
||
],
|
||
},
|
||
]),
|
||
medical_options: JSON.stringify([
|
||
{ id: 'joint_surgery', label: 'جراحی مفاصل', condition: 'جراحی مفاصل' },
|
||
{ id: 'recent_birth', label: 'زایمان اخیر', condition: 'زایمان اخیر' },
|
||
{ id: 'pregnancy', label: 'بارداری', condition: 'بارداری' },
|
||
{ id: 'digestion', label: 'مشکلات گوارشی', condition: 'مشکلات گوارشی' },
|
||
{ id: 'hair_loss', label: 'ریزش موی شدید', condition: 'ریزش موی شدید' },
|
||
{ id: 'appetite', label: 'بیاشتهایی', condition: 'بیاشتهایی' },
|
||
{ id: 'heart_disease', label: 'نارسایی قلبی', condition: 'نارسایی قلبی' },
|
||
{ id: 'parasites', label: 'آلودگی انگلی', condition: 'آلودگی انگلی' },
|
||
]),
|
||
};
|
||
|
||
for (const [key, value] of Object.entries(uiTexts)) {
|
||
await prisma.uiText.upsert({
|
||
where: { key },
|
||
update: { value },
|
||
create: { key, value },
|
||
});
|
||
}
|
||
|
||
// 2. Seed Scientific Terms
|
||
console.log('Seeding Scientific Terms...');
|
||
let termsFilePath = path.join(
|
||
process.cwd() + '/prisma',
|
||
'..',
|
||
'..',
|
||
'frontend',
|
||
'application',
|
||
'lib',
|
||
'data',
|
||
'scientificTerms.ts',
|
||
);
|
||
if (!fs.existsSync(termsFilePath)) {
|
||
termsFilePath = path.join(process.cwd(), 'prisma', 'scientificTerms.ts');
|
||
}
|
||
if (fs.existsSync(termsFilePath)) {
|
||
const termsContent = fs.readFileSync(termsFilePath, 'utf-8');
|
||
const termsJsCode = ts.transpile(termsContent, {
|
||
module: ts.ModuleKind.CommonJS,
|
||
target: ts.ScriptTarget.ES2018,
|
||
});
|
||
|
||
const termsContext = { exports: {} };
|
||
vm.createContext(termsContext);
|
||
vm.runInContext(termsJsCode, termsContext);
|
||
|
||
const SCIENTIFIC_TERMS = (termsContext.exports as any).SCIENTIFIC_TERMS;
|
||
|
||
if (SCIENTIFIC_TERMS) {
|
||
for (const [key, termData] of Object.entries(SCIENTIFIC_TERMS)) {
|
||
const td = termData as any;
|
||
await prisma.scientificTerm.upsert({
|
||
where: { key },
|
||
update: {
|
||
term: td.term,
|
||
definition: td.definition,
|
||
wikiId: td.wikiId || 'general',
|
||
},
|
||
create: {
|
||
key,
|
||
term: td.term,
|
||
definition: td.definition,
|
||
wikiId: td.wikiId || 'general',
|
||
},
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
// 2.5. Seed Ingredients
|
||
console.log('Seeding Ingredients...');
|
||
try {
|
||
const rawIngs = uiTexts.ingredients_wiki
|
||
? JSON.parse(uiTexts.ingredients_wiki)
|
||
: [];
|
||
for (const ing of rawIngs) {
|
||
await prisma.ingredient.upsert({
|
||
where: { slug: ing.id },
|
||
update: {
|
||
nameFa: ing.name,
|
||
nameEn: ing.id,
|
||
description: ing.description,
|
||
benefits: ing.benefits || [],
|
||
},
|
||
create: {
|
||
slug: ing.id,
|
||
nameFa: ing.name,
|
||
nameEn: ing.id,
|
||
scientificName: ing.name.includes('(')
|
||
? ing.name.split('(')[1].replace(')', '')
|
||
: ing.name,
|
||
description: ing.description,
|
||
benefits: ing.benefits || [],
|
||
},
|
||
});
|
||
}
|
||
} catch (err) {
|
||
console.error('Failed to seed ingredients:', err);
|
||
}
|
||
console.log('Seeding Products & Categories...');
|
||
try {
|
||
const seedProducts = require('./seed-products');
|
||
if (seedProducts && typeof seedProducts.main === 'function') {
|
||
await seedProducts.main();
|
||
}
|
||
} catch (err) {
|
||
console.error('Failed to seed products:', err);
|
||
}
|
||
|
||
// 4. Seed Home Components & Testimonials
|
||
console.log('Seeding Home Components...');
|
||
try {
|
||
const seedHome = require('./seed-home');
|
||
if (seedHome && typeof seedHome.main === 'function') {
|
||
await seedHome.main();
|
||
}
|
||
} catch (err) {
|
||
console.error('Failed to seed home components:', err);
|
||
}
|
||
|
||
console.log('Seeding Initial Videos...');
|
||
await prisma.video.deleteMany();
|
||
await prisma.video.createMany({
|
||
data: [
|
||
{
|
||
title: 'نحوه آمادهسازی کانیهیدروکس GAG',
|
||
doctor: 'دکتر کلاوس هنینگ',
|
||
duration: '۰۱:۴۵',
|
||
thumbnail:
|
||
'https://images.unsplash.com/photo-1576091160550-217359f42f8c?auto=format&fit=crop&q=80&w=600',
|
||
videoUrl: 'https://www.w3schools.com/html/mov_bbb.mp4',
|
||
description:
|
||
'آموزش گام به گام آمادهسازی پودر Canhydrox GAG برای جذب حداکثری در دستگاه گوارش.',
|
||
isFeatured: true,
|
||
},
|
||
{
|
||
title: 'اهمیت صدف لبسبز برای بازسازی غضروف',
|
||
doctor: 'دکتر النا اشمیت',
|
||
duration: '۰۲:۲۰',
|
||
thumbnail:
|
||
'https://images.unsplash.com/photo-1599443015574-be5fe8a05783?auto=format&fit=crop&q=80&w=600',
|
||
videoUrl: 'https://www.w3schools.com/html/movie.mp4',
|
||
description:
|
||
'چرا صدف لبسبز نیوزیلندی نایابترین و موثرترین ماده برای بازسازی مفصل است؟',
|
||
isFeatured: true,
|
||
},
|
||
{
|
||
title: 'تغذیه هوشمند تولهسگهای نژاد بزرگ',
|
||
doctor: 'دکتر هلگا فیشر',
|
||
duration: '۰۳:۱۰',
|
||
thumbnail: '/assets/images/regenerated_image_1779109861747.png',
|
||
videoUrl: 'https://www.w3schools.com/html/mov_bbb.mp4',
|
||
description:
|
||
'دوز مصرفی مکملهای کلسیم در نژادهای بزرگ برای جلوگیری از بدشکلیهای استخوانی.',
|
||
isFeatured: true,
|
||
},
|
||
{
|
||
title: 'تاثیر امگا ۳ بر ریزش مو فصلی',
|
||
doctor: 'دکتر ماری کونیگ',
|
||
duration: '۰۵:۱۵',
|
||
thumbnail:
|
||
'https://images.unsplash.com/photo-1516734212186-a967f81ad0d7?auto=format&fit=crop&q=80&w=600',
|
||
videoUrl: 'https://www.w3schools.com/html/movie.mp4',
|
||
description: 'چربیهای ضروری چگونه لایه محافظ پوست را بازسازی میکنند.',
|
||
isFeatured: false,
|
||
},
|
||
{
|
||
title: 'سمزدایی گوارشی با اسید هومیک',
|
||
doctor: 'دکتر ریکاردو کوخ',
|
||
duration: '۰۴:۰۰',
|
||
thumbnail:
|
||
'https://images.unsplash.com/photo-1581594693702-fbdc51b2763b?auto=format&fit=crop&q=80&w=600',
|
||
videoUrl: 'https://www.w3schools.com/html/mov_bbb.mp4',
|
||
description: 'مکانیزم عمل Moor-Tranke در جذب توکسینهای رودهای.',
|
||
isFeatured: false,
|
||
},
|
||
],
|
||
});
|
||
|
||
console.log('All Seeding completed successfully!');
|
||
}
|
||
|
||
main()
|
||
.catch((e) => {
|
||
console.error('Error seeding data:', e);
|
||
process.exit(1);
|
||
})
|
||
.finally(async () => {
|
||
await prisma.$disconnect();
|
||
});
|