/
Cooolprogrammers
/
web-nodejs-labs
Обзор
Документация
Войти
/
Cooolprogrammers
/
web-nodejs-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
backend/src/services/lab8/task1.service.js
38 строк
1005 B
darkvoid6@mail.ru
ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ
18 дек 2025, 07:59
18 дек 2025, 07:59
f2c4f06
Код
Авторство
О чём код?
import fs from 'fs/promises'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const dataFilePath = path.join(__dirname, '../../../data/lab8/task1.txt'); class Task1Service { async readRecords() { try { const raw = await fs.readFile(dataFilePath, 'utf8'); return JSON.parse(raw); } catch (err) { if (err.code === 'ENOENT') return []; throw err; } } async writeRecords(records) { await fs.mkdir(path.dirname(dataFilePath), { recursive: true }); await fs.writeFile(dataFilePath, JSON.stringify(records, null, 2), 'utf8'); } async createRecord(data) { const records = await this.readRecords(); const nextId = records.length ? Math.max(...records.map(r => r.id)) + 1 : 1; const rec = { id: nextId, ...data }; records.push(rec); await this.writeRecords(records); return rec; } } export default new Task1Service();