import { Injectable } from '@nestjs/common'; import { HttpService } from '@nestjs/axios'; import { firstValueFrom } from 'rxjs'; @Injectable() export class RangeService { constructor(private readonly httpService: HttpService) { } async getRanges(): Promise>> { try { const response = await firstValueFrom( this.httpService.request({ method: 'OPTIONS', url: 'http://192.168.2.39:9999/api/ranges/9999', headers: { 'Accept': 'application/json' } }) ); // Проверяем, что ответ содержит данные в ожидаемом формате if (!response.data || !Array.isArray(response.data)) { console.error('Invalid response format from ranges API', response.data); return {}; } const rangesMap: Record> = {}; response.data.forEach(item => { if (item.name && Array.isArray(item.ranges)) { rangesMap[item.name] = item.ranges; } }); return rangesMap; } catch (error) { console.error('Failed to fetch ranges:', error); // Детальное логирование ошибки if (error.response) { console.error('Server responded with:', { status: error.response.status, data: error.response.data }); } else if (error.request) { console.error('No response received:', error.request); } else { console.error('Request setup error:', error.message); } return {}; } } }