/
Starolat
/
DeepDive
Обзор
Документация
Войти
/
Starolat
/
DeepDive
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
js/api.js
67 строк
3 KB
Starolat Sergei
chore: sync project state for Gitverse
16 июн 2026, 16:06
16 июн 2026, 16:06
1cb951e
Код
Авторство
О чём код?
// @ts-check /** * @fileoverview API Adapter - Адаптер для обратной совместимости * @version 3.0.0 * * Этот файл обеспечивает обратную совместимость со старым кодом, * использующим fetchData(). Внутри использует DataService (v3.0). * * Для нового кода рекомендуется использовать DataService напрямую: * import dataService from './services/DataService.js'; */ import dataService from './services/DataService.js'; // Мок-данные для fallback (когда DataService не инициализирован) const MOCK_DATA = [ { id: 1, taskName: 'Разработка модуля А', startDate: '2024-01-10', endDate: '2024-01-20', status: 'В работе' }, { id: 2, taskName: 'Тестирование модуля А', startDate: '2024-01-21', endDate: '2024-01-25', status: 'Завершено' }, { id: 3, taskName: 'Проектирование модуля Б', startDate: '2024-01-15', endDate: '2024-02-01', status: 'В работе' }, { id: 4, taskName: 'Написание документации', startDate: '2024-01-26', endDate: '2024-02-05', status: 'Ожидание' }, { id: 5, taskName: 'Развертывание на стенде', startDate: '2024-02-06', endDate: '2024-02-10', status: 'Ожидание' }, { id: 6, taskName: 'Исправление ошибок', startDate: '2024-01-28', endDate: '2024-02-02', status: 'В работе' }, ]; /** * Получение данных (адаптер для обратной совместимости) * @param {object} filters - Объект с фильтрами * @returns {Promise<Array<object>>} - Промис с массивом данных * @deprecated Используйте dataService.getActivities() напрямую */ async function fetchData(filters = {}) { console.log('[api.js] fetchData() called - using DataService adapter'); // Если DataService инициализирован и есть активная база - используем его if (dataService.isInitialized && dataService.getActiveDatabaseId()) { try { return await dataService.getActivities(filters); } catch (error) { console.warn('[api.js] DataService failed, falling back to MOCK_DATA:', error); return MOCK_DATA; } } // Fallback на мок-данные console.log('[api.js] DataService not ready, using MOCK_DATA'); return new Promise(resolve => { setTimeout(() => { resolve(MOCK_DATA); }, 500); }); } /** * Получение данных из Primavera API (Legacy wrapper) * @param {string} sql - SQL запрос * @param {string} authToken - Токен авторизации * @returns {Promise<Array<object>>} * @deprecated Используйте dataService.syncFromPrimavera() */ async function executeQuery(sql, authToken) { console.warn('[api.js] executeQuery() is deprecated. Use dataService.syncFromPrimavera()'); return []; } // Экспорты для обратной совместимости export { fetchData, executeQuery, MOCK_DATA }; export default { fetchData, executeQuery, MOCK_DATA };