const bcrypt = require('bcrypt'); const { Company, AdminUser, MailTemplate } = require('../src/models'); require('dotenv').config(); async function up() { try { console.log('🌱 Seeding initial data...'); // 1. Create admin user const hashedPassword = await bcrypt.hash( process.env.ADMIN_PASSWORD || 'admin123', 10 ); await AdminUser.findOrCreate({ where: { id: 1 }, defaults: { id: 1, username: process.env.ADMIN_USERNAME || 'admin', password_hash: hashedPassword, }, }); console.log('✅ Admin user created'); // 2. Create sample companies const companies = [ { name: 'Türk Telekom', description: 'Telekomünikasyon şirketi test kampanyası', industry: 'Telecom', }, { name: 'İş Bankası', description: 'Bankacılık sektörü test kampanyası', industry: 'Banking', }, { name: 'PTT', description: 'Kargo ve posta test kampanyası', industry: 'Government', }, ]; for (const company of companies) { await Company.findOrCreate({ where: { name: company.name }, defaults: company, }); } console.log('✅ Sample companies created'); // 3. Create mail templates const templates = [ { name: 'Banka Güvenlik Bildirimi', template_type: 'bank', subject_template: '{{company_name}} - Acil Güvenlik Bildirimi', body_html: `

{{company_name}}

Güvenlik Bildirimi

{{#if employee_name}}

Sayın {{employee_name}},

{{else}}

Sayın Müşterimiz,

{{/if}}

Hesabınızda olağandışı bir aktivite tespit edildi. Güvenliğiniz için hesabınızı derhal doğrulamanız gerekmektedir.

Tespit Edilen Sorun: Yetkisiz giriş denemesi

Tarih: {{current_date}}

Hesabınızı güvende tutmak için lütfen aşağıdaki butona tıklayarak kimliğinizi doğrulayın:

Hesabımı Doğrula

Uyarı: Bu işlemi 24 saat içinde tamamlamazsanız, hesabınız güvenlik nedeniyle geçici olarak askıya alınacaktır.

`, description: 'Banka güvenlik bildirimi şablonu', }, { name: 'E-Devlet Kimlik Doğrulama', template_type: 'edevlet', subject_template: 'E-Devlet - Kimlik Doğrulama Gerekli', body_html: `

🇹🇷 E-DEVLET KAPISI

{{#if employee_name}}

Sayın {{employee_name}},

{{else}}

Sayın Vatandaşımız,

{{/if}}

E-Devlet hesabınızla ilgili güvenlik güncellemesi yapılması gerekmektedir.

Güncelleme Sebebi: Yeni güvenlik protokolü

Son Tarih: 48 saat

Hesabınızı aktif tutmak için lütfen kimliğinizi doğrulayın:

Kimliğimi Doğrula

Bu işlemi tamamlamazsanız, bazı e-devlet hizmetlerine erişiminiz kısıtlanabilir.

`, description: 'E-Devlet kimlik doğrulama şablonu', }, ]; for (const template of templates) { await MailTemplate.findOrCreate({ where: { template_type: template.template_type }, defaults: template, }); } console.log('✅ Mail templates created'); console.log('\n✨ Seeding completed successfully!'); } catch (error) { console.error('❌ Error seeding data:', error); throw error; } } async function down() { // Not implemented - be careful! console.log('⚠️ Seed rollback not implemented'); } module.exports = { up, down };