Files
alfred-be/alfred/mapper/deviceMapper.go
2026-03-08 16:14:42 +05:30

29 lines
707 B
Go

package mapper
import (
"alfred/model/common"
"alfred/model/core"
"encoding/json"
"github.com/elastic/go-elasticsearch/v8/esapi"
)
func MapEsApiResponseToDeviceMetricsResponse(search *esapi.Response) ([]core.DeviceMetricsEsResponse, error) {
result, err := MapESApiResponseToESResponse(search)
if err != nil {
return nil, err
}
if len(result.Hits.Hits) == 0 {
return []core.DeviceMetricsEsResponse{}, &common.InvalidDeviceRequestError{}
}
var deviceMetrics []core.DeviceMetricsEsResponse
jsonHits, err := json.Marshal(result.Hits.Hits)
if err != nil {
return nil, err
}
if err = json.Unmarshal(jsonHits, &deviceMetrics); err != nil {
return nil, err
}
return deviceMetrics, nil
}