import { PrismaClient } from '@prisma/client'; import * as fs from 'fs'; import * as path from 'path'; const prisma = new PrismaClient(); function slugify(text: string): string { return text .toLowerCase() .replace(/\s+/g, '-') .replace(/[^a-z0-9\u0600-\u06FF\-]/g, '') .replace(/-+/g, '-') .replace(/^-|-$/g, ''); } function determineSuitableFor(name: string, description: string): string { const text = (name + ' ' + description).toLowerCase(); const hasCat = text.includes('گربه') || text.includes('katzen') || text.includes('cat'); const hasDog = text.includes('سگ') || text.includes('hund') || text.includes('توله') || text.includes('dog'); if (hasCat && hasDog) return 'هر دو'; if (hasCat) return 'گربه'; if (hasDog) return 'سگ'; return 'هر دو'; } function parseSize(size: string): { unit: string; packageSize: number } { const mlMatch = size.match(/([\d.]+)\s*ml/i); if (mlMatch) return { unit: 'ml', packageSize: parseFloat(mlMatch[1]) }; const gMatch = size.match(/([\d.]+)\s*g/i); if (gMatch) return { unit: 'g', packageSize: parseFloat(gMatch[1]) }; const tabMatch = size.match(/([\d.]+)\s*(tablet|tab)/i); if (tabMatch) return { unit: 'tablet', packageSize: parseFloat(tabMatch[1]) }; return { unit: 'g', packageSize: 100 }; } function getProductImageUrl(baseSlug: string): string { const images: Record = { 'canina-ballaststoff-mix': 'https://www.canina.de/media/4c/32/38/1715077271/Ballaststoff-Mix-140108-V1-Canino-100g_600x600.webp', 'canina-canhydrox-gag': 'https://www.canina.de/media/83/86/e1/123000_123005_Canhydrox_GAG_Canina-Pharma_1280x1280.png', 'canina-eierschalenpulver': 'https://www.canina.de/media/fb/d3/18/120208_Eierschalenpulver_Canina-Pharma_1280x1280.png', 'canina-flexan': 'https://www.canina.de/media/01/be/93/710003_Flexan_Canina-Pharma_1280x1280.png', 'canina-herz-vital': 'https://www.canina.de/media/b9/8b/4c/112036_Herz_Vital_Canina-Pharma_1280x1280.png', 'canina-immun-booster': 'https://www.canina.de/media/8c/fb/8e/311000_Canino_Immun_Booster_Paste_Abwehrkraefte_1280x1280.png', 'canina-immun-booster-paste': 'https://www.canina.de/media/8c/fb/8e/311000_Canino_Immun_Booster_Paste_Abwehrkraefte_1280x1280.png', 'canina-katzenmilch': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', 'canina-lachsol': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', 'canina-lachs-l': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', 'canina-lachs-ol': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', 'canina-marine-olmischung-premium': 'https://www.canina.de/media/ad/28/71/153008_Marine_Oelmischung_Premium_Canina-Pharma_1280x1280.png', 'canina-marine-lmischung-premium': 'https://www.canina.de/media/ad/28/71/153008_Marine_Oelmischung_Premium_Canina-Pharma_1280x1280.png', 'canina-moortranke': 'https://www.canina.de/media/9d/b2/87/112708_Moortraenke_Canina-Pharma_1280x1280.png', 'canina-moortrnke': 'https://www.canina.de/media/9d/b2/87/112708_Moortraenke_Canina-Pharma_1280x1280.png', 'canina-petvital-arthro-tabletten': 'https://www.canina.de/media/90/a6/50/723003_PETVITAL_Arthro_Tabletten_Canina-Pharma_1280x1280.png', 'canina-petvital-bio-aktivator': 'https://www.canina.de/media/c9/2e/0f/712007_PETVITAL_Bio_Aktivator_Canina-Pharma_1280x1280.png', 'canina-petvital-biotin-tabs': 'https://www.canina.de/media/e1/9b/6c/702008_PETVITAL_Biotin_Tabs_Canina-Pharma_1280x1280.png', 'canina-petvital-energy-gel': 'https://www.canina.de/media/7f/0f/06/712106_PETVITAL_Energy_Gel_Canina-Pharma_1280x1280.png', 'canina-petvital-mineral-tabs': 'https://www.canina.de/media/70/4e/f2/723102_PETVITAL_Mineral_Tabs_Canina-Pharma_1280x1280.png', 'canina-petvital-gag': 'https://www.canina.de/media/58/05/92/723201_723300_PETVITAL_GAG_Canina-Pharma_1280x1280.png', 'canina-petvital-vitamin-tabs': 'https://www.canina.de/media/2c/80/7e/712205_PETVITAL_Vitamin_Tabs_Canina-Pharma_1280x1280.png', 'canina-rinderblut-pulver': 'https://www.canina.de/media/14/d0/0d/792016_791514_Rinderblut_Pulver_Canina-Pharma_1280x1280.png', 'canina-rinderfett-pulver': 'https://www.canina.de/media/9a/31/59/131235_Rinderfett_Pulver_Canina-Pharma_1280x1280.png', 'canina-schwarz-kummel-samen': 'https://www.canina.de/media/a9/c8/aa/131105_Schwarzkuemmelsamen_Canina-Pharma_1280x1280.png', 'canina-schwarz-kmmel-samen': 'https://www.canina.de/media/a9/c8/aa/131105_Schwarzkuemmelsamen_Canina-Pharma_1280x1280.png', 'canina-seelgen-tabletten': 'https://www.canina.de/media/e4/c4/b2/130504_130511_130412_Seealgen_Bio-Seealgenmehl_Canina-Pharma_1280x1280.png', 'canina-bio-seelgenmehl': 'https://www.canina.de/media/e4/c4/b2/130504_130511_130412_Seealgen_Bio-Seealgenmehl_Canina-Pharma_1280x1280.png', 'canina-seealgen-tabletten': 'https://www.canina.de/media/e4/c4/b2/130504_130511_130412_Seealgen_Bio-Seealgenmehl_Canina-Pharma_1280x1280.png', 'canina-seealgen-bio-seealgenmehl': 'https://www.canina.de/media/e4/c4/b2/130504_130511_130412_Seealgen_Bio-Seealgenmehl_Canina-Pharma_1280x1280.png', 'canina-taurin-fur-katzen': 'https://www.canina.de/media/c6/aa/62/229505_Taurin_fuer_Katzen_Canina-Pharma_1280x1280.png', 'canina-taurin-fr-katzen': 'https://www.canina.de/media/c6/aa/62/229505_Taurin_fuer_Katzen_Canina-Pharma_1280x1280.png', 'canina-velox-gelenkenergie': 'https://www.canina.de/media/1a/0c/33/701902_Velox_Gelenkenergie_Canina-Pharma_1280x1280.png', 'canina-welpenbrei': 'https://www.canina.de/media/98/95/43/130603_Welpenbrei_Canina-Pharma_1280x1280.png', 'canina-welpenmilch': 'https://www.canina.de/media/2c/e0/75/130702_Welpenmilch_Canina-Pharma_1280x1280.png', 'canina-petvital-bio-insect-shocker': 'https://www.canina.de/media/76/a4/1c/741304_741311_PETVITAL_Bio_Insect_Shocker_Canina-Pharma_1280x1280.png', 'canina-mikrosilber-zahngel': 'https://www.canina.de/media/9d/5e/54/131454_Mikrosilber_Zahngel_Canina-Pharma_1280x1280.png', 'canina-novagard-green-augenpflege': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', 'canina-novagard-green-pfotenpflege': 'https://www.canina.de/media/6b/48/81/731000_Canino_Lachsoel_Lachs_Oel_1280x1280.png', }; return ( images[baseSlug] || 'https://www.canina.de/media/83/86/e1/123000_123005_Canhydrox_GAG_Canina-Pharma_1280x1280.png' ); } async function findOrCreateCategory( slug: string, ): Promise<{ id: string; slug: string }> { const CATEGORY_NAMES: Record = { joints: 'مفاصل و استخوان', immune: 'تقویت سیستم ایمنی و گوارش', energy: 'ویتامین‌ها و انرژی‌بخش‌ها', 'special-care': 'مراقبت‌های ویژه (پوست، دندان و چشم)', general: 'تقویت عمومی', nutrition: 'تغذیه تخصصی', supplements: 'مکمل‌های غذایی و درمانی', }; const name = CATEGORY_NAMES[slug] || slug; return await prisma.category.upsert({ where: { slug }, update: { name }, create: { slug, name, description: name }, }); } const PRODUCT_SYMPTOMS_MAP: Record = { 'canina-ballaststoff-mix': [ 'اسهال', 'یبوست', 'اسهال مزمن', 'تنظیم فلور روده', ], 'canina-canhydrox-gag': [ 'درد مفاصل', 'سختی در بلند شدن', 'لنگیدن', 'رشد سریع توله‌سگ', 'تقویت رباط و تاندون', ], 'canina-eierschalenpulver': [ 'کمبود کلسیم', 'رژیم خام گوشتی', 'سلامت دندان‌ها', ], 'canina-flexan': ['درد مفاصل', 'سختی در بلند شدن', 'لنگیدن', 'تخریب غضروف'], 'canina-herz-vital': ['نارسایی قلبی', 'بی‌حالی', 'کاهش انرژی'], 'canina-immun-booster-paste': [ 'ضعف بعد از بیماری', 'اسهال', 'ضعف توله‌سگ', 'کاهش ایمنی', ], 'canina-katzenmilch': ['تغذیه بچه گربه', 'بی‌مادری بچه گربه'], 'canina-lachs-ol': ['خشکی پوست', 'ریزش مو', 'خارش', 'التهاب پوست'], 'canina-marine-lmischung-premium': ['خشکی پوست', 'ریزش مو', 'التهاب'], 'canina-moortrnke': ['اسهال', 'اشتهای کم', 'مسمومیت گوارشی'], 'canina-petvital-arthro-tabletten': [ 'درد مفاصل', 'سختی در بلند شدن', 'لنگیدن', ], 'canina-petvital-bio-aktivator': ['کاهش ایمنی', 'خستگی', 'دوران نقاهت'], 'canina-petvital-biotin-tabs': ['ریزش مو', 'خشکی پوست', 'شکنندگی ناخن'], 'canina-petvital-energy-gel': ['بی‌اشتهایی', 'کاهش وزن', 'کمبود انرژی'], 'canina-petvital-mineral-tabs': ['کمبود مواد معدنی', 'ضعف استخوان'], 'canina-petvital-gag': ['سختی در بلند شدن', 'لنگیدن'], 'canina-petvital-vitamin-tabs': ['کمبود ویتامین', 'کاهش انرژی'], 'canina-rinderblut-pulver': ['کم‌خونی', 'بی‌اشتهایی', 'دوران رشد'], 'canina-rinderfett-pulver': ['کمبود وزن', 'اشتهای کم'], 'canina-schwarz-kmmel-samen': ['انگل روده', 'ضعف ایمنی'], 'canina-seealgen-bio-seealgenmehl': ['کاهش پیگمنت مو', 'کمبود تیروئید'], 'canina-taurin-fr-katzen': ['مشکل بینایی گربه', 'نارسایی قلبی گربه'], 'canina-velox-gelenkenergie': ['درد مفاصل', 'لنگیدن'], 'canina-welpenbrei': ['تغذیه توله‌سگ', 'از شیر گرفتن توله‌سگ'], 'canina-welpenmilch': ['تغذیه توله‌سگ', 'بی‌مادری توله‌سگ'], 'canina-petvital-bio-insect-shocker': ['کک و کنه', 'انگل‌های پوستی'], 'canina-mikrosilber-zahngel': ['جرم دندان', 'بوی بد دهان', 'التهاب لثه'], 'canina-novagard-green-augenpflege': [ 'ترشحات چشم', 'التهاب چشم', 'کثیفی چشم', ], 'canina-novagard-green-pfotenpflege': ['ترک پنجه', 'خشکی پنجه', 'زخم پنجه'], }; const PRODUCT_TAGLINES_MAP: Record = { 'canina-ballaststoff-mix': 'مکمل فیبر پری‌بیوتیک جهت تنظیم گوارش و پایداری فلور روده', 'canina-canhydrox-gag': 'فرمولاسیون ویژه دامپزشکی برای پایداری بافت‌های همبند، غضروف و استخوان‌ها', 'canina-eierschalenpulver': 'کلسیم ارگانیک صد در صد طبیعی مناسب رژیم‌های غذایی خام (BARF)', 'canina-flexan': 'پپتیدهای کلاژن زیست‌فعال برای بهینه‌سازی دامنه حرکتی و بازسازی مفصلی', 'canina-herz-vital': 'تقویت عملکرد فیزیولوژیک عضله قلب و افزایش نشاط حیوان', 'canina-immun-booster-paste': 'تامین فوری ایمونوگلوبولین‌های آغوز و تثبیت فلور روده در زمان نقاهت', 'canina-katzenmilch': 'شیر خشک جایگزین بچه گربه حاوی تورین و فاقد لاکتوز مزاحم', 'canina-lachs-ol': 'اسیدهای چرب ضروری امگا ۳ برای درخشش پوشش مویی و سلامت پوست', 'canina-marine-lmischung-premium': 'ترکیب روغن‌های ممتاز دریایی غنی از EPA و DHA جهت کاهش التهابات پوستی', 'canina-moortrnke': 'عصاره پیت طبیعی برای جذب بیولوژیکی سموم و بهبود ترشحات گوارشی', 'canina-petvital-arthro-tabletten': 'فرمول گیاهی-معدنی برای کاهش دردهای حاد مفصلی و تسهیل در بلند شدن', 'canina-petvital-bio-aktivator': 'آمینو اسیدها و آهن فعال جهت بازسازی قوای جسمی و بهبود اشتها', 'canina-petvital-biotin-tabs': 'دوز بالای بیوتین و ویتامین ب برای توقف سریع ریزش مو و بازسازی ناخن', 'canina-petvital-energy-gel': 'کنسانتره انرژی بالا همراه با الکترولیت‌ها برای سگ‌ها و گربه‌های ضعیف', 'canina-petvital-mineral-tabs': 'مواد معدنی و عناصر کمیاب جهت تراکم استخوانی و دوران بارداری و رشد', 'canina-petvital-gag': 'ترکیب صدف لب‌سبز نیوزیلند و اسیدهای آمینه جهت تقویت رباط‌ها و تاندون‌ها', 'canina-petvital-vitamin-tabs': 'مولتی‌ویتامین کامل روزانه برای تقویت سیستم دفاعی و افزایش شادابی پت', 'canina-rinderblut-pulver': 'پودر خون گاو غنی از آهن طبیعی و هموگلوبین برای بهبود اشتها و رفع کم‌خونی', 'canina-rinderfett-pulver': 'مکمل چربی طبیعی با طعم‌دهندگی بالا جهت جبران کمبود وزن و افزایش انرژی', 'canina-schwarz-kmmel-samen': 'دانه‌های سیاه دانه مصری برای پشتیبانی متابولیک و دفع طبیعی انگل‌ها', 'canina-seealgen-bio-seealgenmehl': 'جلبک دریایی ارگانیک سرشار از ید طبیعی جهت درخشش و تیره کردن پیگمنت‌های مو و بینی', 'canina-taurin-fr-katzen': 'اسید آمینه تورین خالص برای سلامت بینایی و پیشگیری از کاردیومیوپاتی گربه‌ها', 'canina-velox-gelenkenergie': 'پودر صد در صد صدف لب‌سبز نیوزیلند برای مفاصل، غضروف‌ها و رباط‌ها', 'canina-welpenbrei': 'غذای کمکی بچه سگ‌ها برای انتقال آسان از شیر مادر به غذای جامد', 'canina-welpenmilch': 'شیر خشک تخصصی توله‌سگ غنی شده با ویتامین‌ها و املاح معدنی فاقد لاکتوز', 'canina-petvital-bio-insect-shocker': 'اسپری دافع انگل‌های خارجی کک، کنه و شپش صد در صد طبیعی و بدون سموم شیمیایی', 'canina-mikrosilber-zahngel': 'ژل دندان با نقره میکروسیلور جهت مبارزه با بوی بد دهان، پلاک و عفونت لثه', 'canina-novagard-green-augenpflege': 'محلول ملایم شستشوی چشم سگ و گربه برای پاک کردن ترشحات و کاهش التهابات', 'canina-novagard-green-pfotenpflege': 'مومیایی محافظ پنجه‌ها برای التیام خشکی، قرمزی و ترک خوردگی پنجه‌ها در برف و سرما', }; export async function main() { console.log('Seeding products from seed-products-data.json...'); // 2. Read JSON data const dataPath = path.join( process.cwd() + '/prisma', 'seed-products-data.json', ); if (!fs.existsSync(dataPath)) { console.error('seed-products-data.json not found at', dataPath); process.exit(1); } const productsData = JSON.parse( fs.readFileSync(dataPath, 'utf-8').replace(/^\ufeff/, ''), ); let variantCount = 0; for (const item of productsData) { const baseName = item.name; const cleanDesc = item.description; const cleanShortDesc = item.short_description || ''; const cleanIngredients = item.ingredients || ''; const cleanDosage = item.usage_and_dosage || ''; const suitableFor = determineSuitableFor(baseName, cleanDesc); // Split baseName into nameFa and nameEn let baseNameFa = baseName; let baseNameEn = baseName; const matchName = baseName.match(/([^(]+)\(([^)]+)\)/); if (matchName) { baseNameEn = matchName[1].trim(); baseNameFa = matchName[2].trim(); } const baseSlug = slugify(baseNameEn); const categorySlug = item.category_slug || 'supplements'; const category = await findOrCreateCategory(categorySlug); for (const variant of item.variants) { const artNo = variant.art_no; const barcode = variant.barcode; const sellPrice = variant.sell_price || 0; const buyPrice = variant.buy_price || 0; const sizeLabel = variant.size; const { unit, packageSize } = parseSize(sizeLabel); // Build variant-specific slug const sizeSlug = slugify(sizeLabel); const slug = `${baseSlug}-${sizeSlug}`; // Build display name with size const nameFa = `${baseNameFa}`; const nameEn = `${baseNameEn} - ${sizeLabel}`; const priceDisplay = `${sellPrice.toLocaleString()} تومان`; const RX_PRODUCTS = [ 'canina-canhydrox-gag', 'canina-petvital-gag', 'canina-herz-vital', 'canina-petvital-arthro-tabletten', 'canina-immun-booster', 'canina-petvital-bio-aktivator', 'canina-rinderblut-pulver', 'canina-velox-gelenkenergie', ]; const requiresRx = RX_PRODUCTS.includes(baseSlug); try { const product = await prisma.product.upsert({ where: { artNo }, update: { barcode, slug, productGroup: baseSlug, nameFa, nameEn, scientificTagline: PRODUCT_TAGLINES_MAP[baseSlug] || null, description: cleanDesc, shortDescription: cleanShortDesc, ingredients: cleanIngredients, categoryId: category.id, categorySlug: category.slug, priceValue: sellPrice, wholesalePrice: Math.round(sellPrice * 0.7), requiresRx, buyPrice, priceDisplay, unit, packageSize, dosageLogic: cleanDosage, suitableFor, imageUrl: getProductImageUrl(baseSlug), }, create: { artNo, barcode, slug, productGroup: baseSlug, nameFa, nameEn, scientificTagline: PRODUCT_TAGLINES_MAP[baseSlug] || null, description: cleanDesc, shortDescription: cleanShortDesc, ingredients: cleanIngredients, categoryId: category.id, categorySlug: category.slug, priceValue: sellPrice, wholesalePrice: Math.round(sellPrice * 0.7), requiresRx, buyPrice, priceDisplay, unit, packageSize, dosageLogic: cleanDosage, suitableFor, imageUrl: getProductImageUrl(baseSlug), }, }); // Seed ingredients safely await prisma.productIngredient.deleteMany({ where: { productId: product.id }, }); if (cleanIngredients) { const parts = cleanIngredients .split(/[،,]/) .map((s: string) => s.trim()) .filter(Boolean); const uniqueIngredients: string[] = Array.from( new Set(parts.map((ing: string) => ing.substring(0, 150))), ).slice(0, 20); for (const item of uniqueIngredients) { const truncated: string = String(item); if (truncated.length > 0) { try { await prisma.productIngredient.create({ data: { productId: product.id, ingredient: truncated }, }); } catch { // Ignore duplicate ingredient error } } } } // Seed symptoms safely await prisma.productSymptom.deleteMany({ where: { productId: product.id }, }); const symptomsList: string[] = Array.from( new Set(PRODUCT_SYMPTOMS_MAP[baseSlug] || []), ); for (const item of symptomsList) { const sym: string = String(item); try { await prisma.productSymptom.create({ data: { productId: product.id, symptom: sym }, }); } catch { // Ignore duplicate symptom error } } } catch (err: unknown) { const msg = err instanceof Error ? err.message : String(err); console.warn(`[Seed] Warning upserting product ${artNo}:`, msg); } variantCount++; } } console.log(`Seeded ${variantCount} product variants.`); // Create admin user for blogs const adminId = '12345678-1234-1234-1234-123456789012'; await prisma.user.upsert({ where: { id: adminId }, update: { role: 'ADMIN' }, create: { id: adminId, mobile: '09120000000', email: 'admin@canino-iran.com', firstName: 'Admin', lastName: 'User', role: 'ADMIN', }, }); // 3. Seed some Blogs const blog1Content = [ '

تغذیه صحیح سگ‌های بالغ یکی از مهم‌ترین عوامل در حفظ سلامت و افزایش طول عمر آن‌هاست. برند کانینا (Canina) با بیش از ۴۰ سال سابقه در تولید مکمل‌های دامپزشکی در آلمان، استاندارد طلایی تغذیه تکمیلی را تعریف کرده است.

', '', '

اصول تغذیه سگ بالغ

', '

سگ‌های بالغ به رژیم غذایی متعادل حاوی پروتئین، چربی، کربوهیدرات، ویتامین‌ها و مواد معدنی نیاز دارند. نسبت Ca:P (کلسیم به فسفر) باید در محدوده ۱.۲:۱ تا ۱.۵:۱ باشد. هرگونه عدم تعادل در این نسبت می‌تواند منجر به مشکلات کلیوی و استخوانی شود.

', '', '

نقش مکمل‌ها در رژیم غذایی

', '

حتی با بهترین رژیم غذایی، ممکن است برخی مواد مغذی به اندازه کافی تأمین نشوند. محصولات کانینا مانند Petvital Vitamin-Tabs (کمپلکس کامل A تا K3) و Biotin-Tabs (۱ میلیون میکروگرم بیوتین) نیازهای تغذیه‌ای را پوشش می‌دهند.

', '', '

اسیدهای چرب ضروری

', '

روغن سالمون کانینا (Lachs-Öl) با ۱۴٪ امگا ۳ (EPA/DHA) به روش Cold Press استخراج می‌شود و تمام ویتامین‌های حساس به حرارت را حفظ می‌کند. EPA پیش‌ماده رزولوین‌های ضدالتهابی و DHA ۳۰٪ وزن خشک مغز را تشکیل می‌دهد.

', '', '

مراقبت از مفاصل

', '

با افزایش سن سگ، غضروف مفصلی تحلیل می‌رود. گلیکوزآمینوگلیکان‌های صدف لب سبز (GAG) با جذب مولکول‌های آب در ماتریکس غضروفی، خاصیت بافری مفاصل را بازیابی می‌کنند. CANHYDROX GAG و FLEXAN حاوی این ترکیبات حیاتی هستند.

', '', '

هشدارهای مهم تغذیه‌ای

', '
    ', '
  • مصرف همزمان ویتامین D3 با D2 مجاز نیست
  • ', '
  • روغن سیاه دانه در بارداری و شیردهی ممنوع است
  • ', '
  • روغن‌های با غلظت بالا باید تدریجاً به رژیم اضافه شوند تا از پانکراتیت جلوگیری شود
  • ', '
  • تورین برای گربه‌ها اسید آمینه ضروری است و بدن آن‌ها قادر به سنتز آن نیست
  • ', '
', ].join('\n'); const blog2Content = [ '

کانینا (Canina) نماینده رسمی برند Canina pharma GmbH در ایران است. این شرکت آلمانی در سال ۱۹۸۴ توسط پتر و کریستین کرشن‌مایر در شهر برگیش گلادباخ تأسیس شد و به یکی از پیشگامان تولید مکمل‌های طبیعی دامپزشکی در اروپا تبدیل شده است.

', '', '

فلسفه Canina: "مادر طبیعت بهترین نسخه را می‌داند"

', '

تمام محصولات کانینا بر پایه مواد اولیه طبیعی و با فرآیندهای پیشرفته تولید می‌شوند. این شرکت دارای گواهی‌های معتبر IFS (International Featured Standard) و HACCP است و محصولات آن در بیش از ۴۰ کشور جهان توزیع می‌شود.

', '', '

چرا مکمل‌های کانینا در ایران؟

', '
    ', '
  • کیفیت آلمانی: تمام محصولات در کارخانه برگیش گلادباخ تحت نظارت دامپزشکان تولید می‌شوند
  • ', '
  • بدون مواد مصنوعی: فاقد رنگ، طعم و نگهدارنده مصنوعی
  • ', '
  • فرمولاسیون تخصصی: هر محصول برای نیاز خاصی مانند مفاصل، ایمنی، پوست و مو یا گوارش طراحی شده
  • ', '
  • تأیید دامپزشکان: محصولات با مشورت دامپزشکان و متخصصان تغذیه حیوانات فرموله شده‌اند
  • ', '
', '', '

محصولات پرفروش در ایران

', '

مفاصل و استخوان: CANHYDROX GAG (استاندارد طلایی ارتوپدی)، FLEXAN (کلاژن خالص)، Petvital GAG و Velox Gelenkenergie (کنسانتره صدف لب سبز)

', '

سیستم ایمنی و گوارش: Immun-Booster (خمیر آغوز)، Moor-Tränke (عصاره پیت)، Ballaststoff Mix (فیبر گیاهی)

', '

پوست و مو: Lachs-Öl (روغن سالمون)، Biotin-Tabs، Seealgen (جلبک دریایی)

', '

قلب و انرژی: Herz Vital (ال-کارنیتین و زالزالک)، Energy-Gel (ویتامین‌های گروه B)

', '', '

تعهد به سلامت حیوانات

', '

کانینا به عنوان نماینده رسمی کانینا در ایران، متعهد به ارائه محصولات اصل با ضمانت اصالت و پروانه دامپزشکی است. تمام محصولات دارای بسته‌بندی اصلی آلمان و بارکد اختصاصی هستند.

', ].join('\n'); const blogs = [ { title: 'راهنمای جامع تغذیه سگ‌های بالغ', slug: 'adult-dog-nutrition-guide', content: blog1Content, authorId: adminId, isPublished: true, }, { title: 'چرا مکمل‌های کانینا؟', slug: 'why-canino-supplements', content: blog2Content, authorId: adminId, isPublished: true, }, ]; for (const b of blogs) { try { await prisma.blog.upsert({ where: { slug: b.slug }, update: { title: b.title, content: b.content, isPublished: b.isPublished, }, create: b, }); } catch (err: unknown) { const msg = err instanceof Error ? err.message : String(err); console.warn(`[Seed] Warning upserting blog ${b.slug}:`, msg); } } console.log('Seeded blogs.'); } main() .catch((e) => { console.error(e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });