Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 8s
Build & Deploy / 🏗️ Build (push) Has been cancelled
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / ♿ WCAG (push) Has been cancelled
Build & Deploy / 🛡️ Quality Gates (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🧪 QA (push) Has been cancelled
69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
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();
|