fix(groups): исправить синхронизацию и транзакции БД

- Обернуть saveGroups() и saveTeachers() в транзакции SQLite для атомарности операций
      - Экспортировать getDatabase() для использования в других модулях
      - Исправить логику синхронизации в loadGroups() для режима SCHED_MODE=kspsuti
      - Удалить дублирующие вызовы clearGroupsCache() и clearTeachersCache() из API handlers
This commit is contained in:
kilyabin
2026-03-05 23:27:19 +04:00
parent 4a1ec7859f
commit ca77a74d72
6 changed files with 77 additions and 57 deletions

View File

@@ -17,7 +17,6 @@ async function handler(
) {
if (req.method === 'GET') {
// Получение списка преподавателей (всегда свежие данные для админ-панели)
clearTeachersCache()
const teachers = loadTeachers(true)
res.status(200).json({ teachers })
return
@@ -69,17 +68,16 @@ async function handler(
// Сохраняем в БД
saveTeachers(teachersData)
// Сохраняем timestamp последнего обновления
const { setTeachersLastUpdateTime } = await import('@/shared/data/database')
setTeachersLastUpdateTime(Date.now())
// Сбрасываем кеш и загружаем свежие данные из БД
clearTeachersCache()
// Загружаем свежие данные из БД (кеш уже сброшен в saveTeachers)
const updatedTeachers = loadTeachers(true)
res.status(200).json({
success: true,
res.status(200).json({
success: true,
teachers: updatedTeachers,
parsed: teachersList.length
})