import { PrismaClient } from '@prisma/client'; import bcrypt from 'bcryptjs'; const prisma = new PrismaClient(); async function main() { console.log('🌱 Seeding database...'); // Создаем пользователей const adminPassword = await bcrypt.hash('admin123', 10); const editorPassword = await bcrypt.hash('editor123', 10); const admin = await prisma.user.upsert({ where: { email: 'admin@ckeproekt.ru' }, update: {}, create: { email: 'admin@ckeproekt.ru', username: 'admin', password: adminPassword, role: 'ADMIN', name: 'Администратор', }, }); const editor = await prisma.user.upsert({ where: { email: 'editor@ckeproekt.ru' }, update: {}, create: { email: 'editor@ckeproekt.ru', username: 'editor', password: editorPassword, role: 'EDITOR', name: 'Редактор', }, }); // Создаем категории const categories = [ { name: 'Строительная экспертиза', slug: 'construction-expertise', color: '#3B82F6' }, { name: 'Экспертиза залива', slug: 'flood-expertise', color: '#EF4444' }, { name: 'Тепловизионная экспертиза', slug: 'thermal-expertise', color: '#F59E0B' }, { name: 'Обследование канализации', slug: 'sewerage-inspection', color: '#10B981' }, { name: 'Общие новости', slug: 'general-news', color: '#8B5CF6' }, ]; for (const category of categories) { await prisma.category.upsert({ where: { slug: category.slug }, update: {}, create: category, }); } // Создаем тестовые новости const newsData = [ { title: 'Новые стандарты строительной экспертизы в 2024 году', slug: 'new-construction-standards-2024', summary: 'Обзор изменений в нормативах и требованиях к проведению строительно-технической экспертизы.', content: `

В 2024 году вступили в силу новые стандарты проведения строительно-технической экспертизы, которые значительно повышают требования к качеству и точности исследований.

Основные изменения:

Наша компания ЦКЭ Проект полностью соответствует новым требованиям и готова предоставить услуги экспертизы на самом высоком уровне.

`, category: 'Строительная экспертиза', imageUrl: '/images/placeholders/services/construction-control.jpg', featured: true, authorId: admin.id, tags: 'стандарты, экспертиза, 2024, нормативы', }, { title: 'Как правильно провести экспертизу после залива квартиры', slug: 'flood-damage-expertise-guide', summary: 'Пошаговое руководство по проведению экспертизы ущерба от залива и оценке восстановительных работ.', content: `

Залив квартиры – это серьезная проблема, которая требует немедленного и профессионального подхода к оценке ущерба.

Этапы проведения экспертизы:

  1. Фиксация первоначального состояния - фотографирование и документирование повреждений
  2. Оценка конструктивных элементов - проверка состояния стен, полов, потолков
  3. Исследование инженерных систем - проверка электропроводки, отопления, водоснабжения
  4. Определение объема восстановительных работ - составление сметы на ремонт

Важно помнить, что экспертизу должны проводить только аккредитованные специалисты с соответствующей квалификацией.

`, category: 'Экспертиза залива', imageUrl: '/images/placeholders/services/flood-expertise.jpg', featured: true, authorId: editor.id, tags: 'залив, экспертиза, ущерб, восстановление', }, { title: 'Тепловизионная диагностика: современные возможности', slug: 'thermal-imaging-diagnostics', summary: 'Применение тепловизионного оборудования для выявления скрытых дефектов в строительных конструкциях.', content: `

Тепловизионная диагностика является одним из наиболее эффективных методов неразрушающего контроля строительных конструкций.

Преимущества метода:

Наши специалисты используют современное тепловизионное оборудование последнего поколения для максимально точной диагностики.

`, category: 'Тепловизионная экспертиза', imageUrl: '/images/placeholders/services/thermal-inspection.jpg', featured: false, authorId: admin.id, tags: 'тепловизор, диагностика, дефекты, контроль', }, { title: 'Обследование канализационных систем: важность регулярной проверки', slug: 'sewerage-inspection-importance', summary: 'Почему важно регулярно проводить обследование канализационных систем и как это влияет на безопасность здания.', content: `

Канализационная система – это одна из важнейших инженерных систем любого здания, требующая регулярного контроля и обслуживания.

Основные проблемы канализации:

Своевременное обследование позволяет выявить проблемы на ранней стадии и избежать серьезных аварий.

`, category: 'Обследование канализации', imageUrl: '/images/placeholders/services/sewerage-inspection.jpg', featured: false, authorId: editor.id, tags: 'канализация, обследование, трубы, аварии', }, { title: 'ЦКЭ Проект расширяет географию услуг', slug: 'cke-project-expansion', summary: 'Компания ЦКЭ Проект объявляет о расширении географии предоставления услуг строительно-технической экспертизы.', content: `

Мы рады сообщить о значительном расширении географии наших услуг. Теперь высококачественная строительно-техническая экспертиза доступна в еще большем количестве регионов.

Новые направления:

Это стало возможным благодаря увеличению штата квалифицированных экспертов и приобретению дополнительного оборудования.

`, category: 'Общие новости', imageUrl: '/images/office.jpg', featured: false, authorId: admin.id, tags: 'расширение, услуги, регионы, экспертиза', }, ]; for (const news of newsData) { await prisma.news.upsert({ where: { slug: news.slug }, update: {}, create: news, }); } console.log('✅ Database seeded successfully!'); console.log('👤 Admin user: admin@ckeproekt.ru / admin123'); console.log('👤 Editor user: editor@ckeproekt.ru / editor123'); } main() .catch((e) => { console.error('❌ Error seeding database:', e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });