// init-document-types.js - Инициализация типов документов const fs = require('fs'); const path = require('path'); function initializeDocumentTypes(db) { const documentTypes = [ { name: 'Приказ', description: 'Распорядительный документ' }, { name: 'Распоряжение', description: 'Распорядительный документ' }, { name: 'Инструкция', description: 'Нормативный документ' }, { name: 'Положение', description: 'Нормативный документ' }, { name: 'Договор', description: 'Юридический документ' }, { name: 'Соглашение', description: 'Юридический документ' }, { name: 'Акт', description: 'Документ подтверждения факта' }, { name: 'Служебная записка', description: 'Внутренний документ' }, { name: 'Заявление', description: 'Обращение' }, { name: 'Отчет', description: 'Отчетный документ' }, { name: 'План', description: 'Плановый документ' }, { name: 'Программа', description: 'Плановый документ' }, { name: 'Протокол', description: 'Документ собрания' }, { name: 'Решение', description: 'Документ коллегиального органа' }, { name: 'Письмо', description: 'Корреспонденция' }, { name: 'Справка', description: 'Информационный документ' }, { name: 'Выписка', description: 'Копия части документа' }, { name: 'Копия', description: 'Копия документа' }, { name: 'Проект', description: 'Проект документа' }, { name: 'Шаблон', description: 'Шаблон документа' } ]; // Создаем таблицу если её нет db.run(` CREATE TABLE IF NOT EXISTS document_types ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, description TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ) `, (err) => { if (err) { console.error('❌ Ошибка создания таблицы типов документов:', err); return; } console.log('✅ Таблица типов документов создана/проверена'); // Проверяем, есть ли уже типы документов db.get("SELECT COUNT(*) as count FROM document_types", [], (err, result) => { if (err) { console.error('❌ Ошибка проверки типов документов:', err); return; } if (result.count === 0) { console.log('📄 Добавление типов документов...'); const insertPromises = documentTypes.map(type => { return new Promise((resolve, reject) => { db.run( "INSERT INTO document_types (name, description) VALUES (?, ?)", [type.name, type.description], (err) => { if (err) reject(err); else resolve(); } ); }); }); Promise.all(insertPromises) .then(() => { console.log(`✅ Добавлено ${documentTypes.length} типов документов`); }) .catch(error => { console.error('❌ Ошибка добавления типов документов:', error); }); } else { console.log(`✅ В базе уже есть ${result.count} типов документов`); } }); }); } module.exports = { initializeDocumentTypes };