Files
ckeproekt/scripts/seed.ts

193 lines
10 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: `
<p>В 2024 году вступили в силу новые стандарты проведения строительно-технической экспертизы, которые значительно повышают требования к качеству и точности исследований.</p>
<h3>Основные изменения:</h3>
<ul>
<li>Усиление требований к квалификации экспертов</li>
<li>Новые методы неразрушающего контроля</li>
<li>Цифровизация процесса документооборота</li>
<li>Обязательное использование современного оборудования</li>
</ul>
<p>Наша компания ЦКЭ Проект полностью соответствует новым требованиям и готова предоставить услуги экспертизы на самом высоком уровне.</p>
`,
category: 'Строительная экспертиза',
imageUrl: '/images/placeholders/services/construction-control.jpg',
featured: true,
authorId: admin.id,
tags: 'стандарты, экспертиза, 2024, нормативы',
},
{
title: 'Как правильно провести экспертизу после залива квартиры',
slug: 'flood-damage-expertise-guide',
summary: 'Пошаговое руководство по проведению экспертизы ущерба от залива и оценке восстановительных работ.',
content: `
<p>Залив квартиры это серьезная проблема, которая требует немедленного и профессионального подхода к оценке ущерба.</p>
<h3>Этапы проведения экспертизы:</h3>
<ol>
<li><strong>Фиксация первоначального состояния</strong> - фотографирование и документирование повреждений</li>
<li><strong>Оценка конструктивных элементов</strong> - проверка состояния стен, полов, потолков</li>
<li><strong>Исследование инженерных систем</strong> - проверка электропроводки, отопления, водоснабжения</li>
<li><strong>Определение объема восстановительных работ</strong> - составление сметы на ремонт</li>
</ol>
<p>Важно помнить, что экспертизу должны проводить только аккредитованные специалисты с соответствующей квалификацией.</p>
`,
category: 'Экспертиза залива',
imageUrl: '/images/placeholders/services/flood-expertise.jpg',
featured: true,
authorId: editor.id,
tags: 'залив, экспертиза, ущерб, восстановление',
},
{
title: 'Тепловизионная диагностика: современные возможности',
slug: 'thermal-imaging-diagnostics',
summary: 'Применение тепловизионного оборудования для выявления скрытых дефектов в строительных конструкциях.',
content: `
<p>Тепловизионная диагностика является одним из наиболее эффективных методов неразрушающего контроля строительных конструкций.</p>
<h3>Преимущества метода:</h3>
<ul>
<li>Выявление скрытых дефектов без разрушения конструкций</li>
<li>Определение мест утечек тепла</li>
<li>Обнаружение проблем в электропроводке</li>
<li>Контроль качества утепления</li>
</ul>
<p>Наши специалисты используют современное тепловизионное оборудование последнего поколения для максимально точной диагностики.</p>
`,
category: 'Тепловизионная экспертиза',
imageUrl: '/images/placeholders/services/thermal-inspection.jpg',
featured: false,
authorId: admin.id,
tags: 'тепловизор, диагностика, дефекты, контроль',
},
{
title: 'Обследование канализационных систем: важность регулярной проверки',
slug: 'sewerage-inspection-importance',
summary: 'Почему важно регулярно проводить обследование канализационных систем и как это влияет на безопасность здания.',
content: `
<p>Канализационная система это одна из важнейших инженерных систем любого здания, требующая регулярного контроля и обслуживания.</p>
<h3>Основные проблемы канализации:</h3>
<ul>
<li>Засоры и отложения</li>
<li>Коррозия труб</li>
<li>Нарушение герметичности соединений</li>
<li>Деформация трубопроводов</li>
</ul>
<p>Своевременное обследование позволяет выявить проблемы на ранней стадии и избежать серьезных аварий.</p>
`,
category: 'Обследование канализации',
imageUrl: '/images/placeholders/services/sewerage-inspection.jpg',
featured: false,
authorId: editor.id,
tags: 'канализация, обследование, трубы, аварии',
},
{
title: 'ЦКЭ Проект расширяет географию услуг',
slug: 'cke-project-expansion',
summary: 'Компания ЦКЭ Проект объявляет о расширении географии предоставления услуг строительно-технической экспертизы.',
content: `
<p>Мы рады сообщить о значительном расширении географии наших услуг. Теперь высококачественная строительно-техническая экспертиза доступна в еще большем количестве регионов.</p>
<h3>Новые направления:</h3>
<ul>
<li>Московская область</li>
<li>Нижегородская область</li>
<li>Республика Татарстан</li>
<li>Самарская область</li>
</ul>
<p>Это стало возможным благодаря увеличению штата квалифицированных экспертов и приобретению дополнительного оборудования.</p>
`,
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();
});