import mongodb, { Db } from 'mongodb' const directory = process.cwd() const path = require('path') export default async function (db: mongodb.Db) { // Проверяем пользователей const existUsers = await db.collection('users').countDocuments() !existUsers && createUsers(db) // Проверяем настройки const existSettings = await db.collection('settings').countDocuments() !existSettings && createSettings(db) } async function createUsers(db: Db) { const usersData = [ { name: 'Сергей Колбин', email: 'darker888@yandex.ru', password: '86ea162ec885de4b5c16b99825777ce6', role: 'admin', }, { name: 'Григорий Маркин', email: '9586777@gmail.com', password: 'a98276873426b91aff558fc147a0a763', role: 'admin', }, ] await db.collection('users').insertMany(usersData) console.log('Пользователи созданы') } async function createSettings(db: mongodb.Db) { const { default: config } = await import(path.join(directory + '/config.js')) const settingsData = [ { _id: 'main', siteName: config.projectName, description: 'Описание сайта', title: config.projectName, adminEmail: 'darker888@yandex.ru', mailAPI: 'https://lprf.biz/mail.php', projectName: config.projectName, copyrights: 'Copyrights', }, { _id: 'contacts', phone: '+7 999 999 9999', email: 'hello@hello.ru', copyrights: '© Copyrights', address: 'Москва, ул.Улица, д.3. кв.1', }, { _id: 'ui', header: { menu: [{ name: 'Имя пункта', path: '/' }] }, footer: { menu: [{ name: 'Имя пункта', path: '/' }] }, }, ] await db.collection('settings').insertMany(settingsData as any) console.log('Настройки созданы') }