О платформе Войти
← К списку версий
v0.7.0 24.07.2026 PATCH
Синхронизация данных: импорт из task.ipd.by
Added
  • Направления новая таблица `directions` (external_id, name, description, status, priority, tasks_count, source) + модель `Direction`
  • Синхронизация данных `SyncService` импортирует направления, проекты, задачи и шаги из внешнего API (`task.ipd.by/api/export/full`)
  • Страница синхронизации `/admin/sync` — интерфейс запуска синхронизации с отображением статистики (направления, проекты, задачи, шаги) и статуса последнего запуска
  • AdminSyncController `index()` для отображения страницы, `run()` для AJAX-запуска синхронизации
  • Upsert логика при синхронизации существующие записи обновляются, новые создаются, удалённые из источника удаляются локально
  • Привязка проектов к направлениям `direction_id` добавлен в таблицу `projects` (nullable FK)
  • Метка источника поле `source` ('local'/'synced') в таблице `projects` для разделения локальных и импортированных проектов
Changed
  • Версия платформы: 0.6.2 → 0.7.0
  • `TaskApiService` — `baseUrl` по умолчанию изменён с `task.ipd.local` на `task.ipd.by`
  • `Project` модель — добавлены `direction_id`, `source`, `is_active` в fillable; добавлена связь `direction()` BelongsTo
  • `Task` модель — добавлен `external_id` в fillable
  • Боковая панель — добавлены ссылки: «Синхронизация» и «Проекты (Админ)»
  • `routes/web.php` — добавлены 2 роута: `GET /admin/sync`, `POST /admin/sync/run`
Migration
  • `2026_07_24_100001_create_directions_table.php` — таблица направлений
  • `2026_07_24_100002_add_direction_id_to_projects_table.php` — direction_id, source, is_active в projects