/** __ __ __ ___ ___ * / / \ |__) | |__ \_/ * \__ \__/ | \ | |___ / \ * * @copyright © 2021-2022 hepller */ // Импорт системных модулей import { readFileSync, writeFileSync } from 'fs' // Получение БД const db = JSON.parse(readFileSync('data.json', 'utf8')) /** Менеджер БД */ export default class DataManager { /** * Получает чат из БД * @param {number} chat_id ID чата */ static getChat(chat_id) { // Поиск чата в БД let chat = db.chats.find(chat => chat.id == chat_id) // Добавление чата в БД при его отсутствии if (!chat) { // Добавление db.chats.push({id: chat_id, data: []}) // Запись writeFileSync('data.json', JSON.stringify(db, null, '\t')) // Обновление значения переменной chat = db.chats.find(chat => chat.id == chat_id) } // Возвращение объекта чата return chat } /** * Записывает новые данные для чата * @param {number} chat_id ID чата * @param {string} data Данные */ static writeChatData(chat_id, data) { // Добавление данных в БД DataManager.getChat(chat_id).data.push(data) // Запись БД writeFileSync('data.json', JSON.stringify(db, null, '\t')) } }