Files
gulermak_metro/prisma/seed.js
Şahan Hasret 76c31274d5 Database
2025-11-21 17:46:30 +03:00

174 lines
5.0 KiB
JavaScript
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.
const { PrismaClient } = require('@prisma/client');
const { hash } = require('bcryptjs');
const prisma = new PrismaClient();
async function main() {
console.log('Seeding database...');
// Admin kullanıcı oluştur
const adminPassword = await hash(
process.env.ADMIN_DEFAULT_PASSWORD || 'admin123',
10
);
const admin = await prisma.user.upsert({
where: { username: 'admin' },
update: {},
create: {
username: 'admin',
password: adminPassword,
},
});
console.log('✓ Admin kullanıcı oluşturuldu:', admin.username);
// Slider items
const sliderItems = [
{
title: 'Ankara Metro Altyapı Projelerinde Öncü Çözümler',
description:
'Ankara Büyükşehir Belediyesi ile birlikte, modern teknoloji ve mühendislik uzmanlığımızla başkentin ulaşım ağını inşa ediyor, geleceğin metro sistemlerini bugünden hayata geçiriyoruz.',
buttonText: 'Detayları Gör',
buttonLink: '#proje-detay',
active: true,
},
{
title: 'A2 Metro Hattı İnşaatında Son Aşamaya Gelindi',
description:
'15 istasyonlu A2 Metro Hattı projemiz %75 tamamlandı. 2026 yılında hizmete açılacak modern metro hattımız, günlük 300 bin yolcuya hizmet verecek.',
buttonText: 'İlerlemeyi İzle',
buttonLink: '#metro-hatti',
active: true,
},
{
title: 'Çevre Dostu Metro Teknolojileri',
description:
'Yenilenebilir enerji kaynakları ve sürdürülebilir inşaat teknikleri ile çevre dostu metro projelerine imza atıyoruz. Karbon emisyonunu %40 azaltan yenilikçi çözümlerimiz.',
buttonText: 'Yeşil Projeler',
buttonLink: '#cevre',
active: true,
},
];
for (const item of sliderItems) {
await prisma.sliderItem.create({ data: item });
}
console.log('✓ Slider items oluşturuldu:', sliderItems.length);
// FAQs
const faqs = [
{
question: 'Metro inşaat çalışmaları ne zaman başladı?',
answer:
'A2 Metro Hattı inşaat çalışmalarımız 2021 yılında başlamış olup, proje 2026 yılında tamamlanacaktır.',
order: 1,
},
{
question: 'Hangi metro hatlarında çalışıyorsunuz?',
answer:
'Şu anda A2 Metro Hattı, Keçiören-Gölbaşı Metro Hattı ve Batıkent-Sincan Metro Hattı projelerinde aktif olarak çalışmaktayız.',
order: 2,
},
{
question: 'Çevreye olan etkiniz nedir?',
answer:
'Tüm projelerimizde çevre dostu teknolojiler kullanıyor, karbon emisyonunu en aza indirmeye özen gösteriyoruz. Ayrıca geri dönüşüm programlarımızla inşaat atıklarını azaltıyoruz.',
order: 3,
},
];
for (const faq of faqs) {
await prisma.fAQ.create({ data: faq });
}
console.log('✓ FAQs oluşturuldu:', faqs.length);
// Cameras
const cameras = [
{
name: 'A2 Metro - Ana Şantiye',
location: 'Kızılay İstasyonu',
videoUrl: 'https://www.youtube.com/embed/dQw4w9WgXcQ',
status: 'online',
viewers: 1245,
order: 1,
},
{
name: 'Keçiören Hattı - Tünel Kazı',
location: 'Keçiören İstasyonu',
videoUrl: 'https://www.youtube.com/embed/dQw4w9WgXcQ',
status: 'online',
viewers: 892,
order: 2,
},
{
name: 'Gölbaşı İstasyonu İnşaatı',
location: 'Gölbaşı',
videoUrl: 'https://www.youtube.com/embed/dQw4w9WgXcQ',
status: 'offline',
viewers: 0,
order: 3,
},
];
for (const camera of cameras) {
await prisma.camera.create({ data: camera });
}
console.log('✓ Cameras oluşturuldu:', cameras.length);
// Site Settings
await prisma.siteSettings.create({
data: {
key: 'main',
value: JSON.stringify({
contact: {
phone: '+90 (312) 555 00 00',
email: 'info@gulermakmetro.com.tr',
address:
'Ankara Büyükşehir Belediyesi İş Merkezi, Çankaya/Ankara',
kep: 'gulermak@hs01.kep.tr',
},
social: {
facebook: 'https://facebook.com/gulermakmetro',
twitter: 'https://twitter.com/gulermakmetro',
instagram: 'https://instagram.com/gulermakmetro',
youtube: 'https://youtube.com/@gulermakmetro',
linkedin: 'https://linkedin.com/company/gulermakmetro',
},
companyInfo: {
name: 'Gülermak Metro',
fullName: 'Gülermak Ankara Metro Yapım A.Ş.',
foundedYear: '2020',
},
}),
},
});
console.log('✓ Site settings oluşturuldu');
// Live Stream
await prisma.liveStream.create({
data: {
url: 'https://www.youtube.com/embed/jfKfPfyJRdk',
active: true,
title: 'A2 Metro Hattı Canlı Yayını',
},
});
console.log('✓ Live stream oluşturuldu');
console.log('✅ Seeding tamamlandı!');
}
main()
.catch((e) => {
console.error('Seeding hatası:', e);
process.exit(1);
})
.finally(async () => {
await prisma.$disconnect();
});