/
Cooolprogrammers
/
web-nodejs-labs
Обзор
Документация
Войти
/
Cooolprogrammers
/
web-nodejs-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
backend/src/services/lab8/task3Service.js
52 строки
1 KB
darkvoid6@mail.ru
ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ
18 дек 2025, 07:59
18 дек 2025, 07:59
f2c4f06
Код
Авторство
О чём код?
// backend/src/services/lab8/task3Service.js import { promises as fs } from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; import { readGroups } from './task2Service.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const baseDir = path.join(__dirname, '../../../data/lab8/task3'); const resultsFile = path.join(baseDir, 'resultsQatar22.json'); async function ensureDir() { await fs.mkdir(baseDir, { recursive: true }); } export async function buildResults() { await ensureDir(); const groups = await readGroups(); const matches = groups.flatMap(g => g.matches.map(m => ({ group: g.group, date: m.date, time: m.time, team1: m.team1, team2: m.team2, score1: m.score1, score2: m.score2, stadium: m.stadium, city: m.city, }))); // Сортировка по дате/времени matches.sort((a, b) => { const da = new Date(`${a.date}T${a.time}:00Z`).getTime(); const db = new Date(`${b.date}T${b.time}:00Z`).getTime(); return da - db; }); await fs.writeFile(resultsFile, JSON.stringify(matches, null, 2), 'utf-8'); return matches; } export async function readResultsChrono() { await ensureDir(); try { const txt = await fs.readFile(resultsFile, 'utf-8'); const matches = JSON.parse(txt); return matches; } catch { return await buildResults(); } }