import { getPayload } from 'payload'; import configPromise from '../payload.config'; async function seed() { console.log('🌱 Starting PayloadCMS seed process...'); try { const payload = await getPayload({ config: configPromise }); // Check if any users exist const { totalDocs } = await payload.find({ collection: 'users', limit: 1, }); if (totalDocs === 0) { console.log('👤 No users found. Creating default admin user...'); await payload.create({ collection: 'users', data: { email: 'admin@mintel.me', password: 'klz-admin-setup', firstName: 'KLZ', lastName: 'Admin', role: 'admin', }, }); console.log('✅ Default admin user created successfully.'); } else { console.log(`â„šī¸ Database already contains ${totalDocs} users. Skipping user creation.`); } // Check if any products exist const { totalDocs: totalProducts } = await payload.find({ collection: 'products', limit: 1, }); if (totalProducts === 0) { console.log('đŸ“Ļ No products found. Creating smoke test product (NAY2Y)...'); await payload.create({ collection: 'products', data: { title: 'NAY2Y Smoke Test', sku: 'SMOKE-TEST-001', slug: 'nay2y', description: 'A dummy product for CI/CD smoke testing and OG image verification.', locale: 'de', categories: [{ category: 'Power Cables' }], _status: 'published', }, }); console.log('✅ Smoke test product created successfully.'); } else { console.log( `â„šī¸ Database already contains ${totalProducts} products. Skipping product creation.`, ); } console.log('✅ PayloadCMS seed completed successfully!'); process.exit(0); } catch (error) { console.error('❌ Failed to seed PayloadCMS database:', error); process.exit(1); } } seed();