コード例 #1
0
        public IActionResult GetAllTimeSeries(int pageSize = 20, int offset = 0)
        {
            List <MeasurementRow> measurementsResult = _timeSeriesService.ReadAllMeasurements().Result;
            {
                MeasurementRow[]             ms = measurementsResult.ToArray();
                List <string>                mt = ms.Select(t => t.Name).ToList();
                List <MeasurementJsonEntity> measurementJsonEntities = mt.Select(t => new MeasurementJsonEntity()
                {
                    Guid = t
                }).ToList();

                List <MeasurementJsonEntity> page = measurementJsonEntities.Skip(offset).Take(pageSize).ToList();

                ApiEntityListPage <MeasurementJsonEntity> listOfResults =
                    new ApiEntityListPage <MeasurementJsonEntity>(page,
                                                                  HttpContext.Request.Path.ToString(), new PaginationProperties()
                {
                    PageSize = pageSize,
                    Offset   = offset,
                    Count    = page.Count,
                    HasMore  = measurementJsonEntities.Count > page.Count
                });

                return(Ok(listOfResults));
            }
        }
コード例 #2
0
        public ApiEntityListPage <ApiVersionModel> Get()
        {
            ApiVersionModel v1 = new ApiVersionModel("v1", true, true);

            ApiEntityListPage <ApiVersionModel> result =
                new ApiEntityListPage <ApiVersionModel>(new List <ApiVersionModel> {
                v1
            },
                                                        HttpContext.Request.Path.ToString());

            return(result);
        }
コード例 #3
0
        public ApiEntityListPage <UserApiKeyJsonEntity> GetApiKeys()
        {
            List <UserApiKey> apiKeys = _userService.GetUserApiKeys(UserId);

            // Converting to unified fancy JSON
            List <UserApiKeyJsonEntity> apiKeyJsonEntities =
                apiKeys.ConvertAll <UserApiKeyJsonEntity>(key => new UserApiKeyJsonEntity(key));

            ApiEntityListPage <UserApiKeyJsonEntity> result =
                new ApiEntityListPage <UserApiKeyJsonEntity>(apiKeyJsonEntities, Request.Path.ToString());

            return(result);
        }
コード例 #4
0
        public IActionResult GetTimeSeriesMetadataById(string timeseriesId, int pageSize = 20, int offset = 0)
        {
            InfluxResult <DynamicInfluxRow> measurementsResult = _timeSeriesService.ReadMeasurementById(timeseriesId).Result;
            {
                List <InfluxSeries <DynamicInfluxRow> > series = measurementsResult.Series;
                if (series.Count != 0)
                {
                    List <TimeSeriesJsonEntity> timeseriesJsonEntities = new List <TimeSeriesJsonEntity>();
                    foreach (InfluxSeries <DynamicInfluxRow> t in series)
                    {
                        List <DynamicInfluxRow> rows = t.Rows;
                        foreach (DynamicInfluxRow t1 in rows)
                        {
                            timeseriesJsonEntities.Add(new TimeSeriesJsonEntity()
                            {
                                Id          = Guid.NewGuid().ToString(),
                                Name        = "",
                                Description = "",
                                Tags        = t1.Tags
                            });
                        }
                    }

                    List <TimeSeriesJsonEntity> page = timeseriesJsonEntities.Skip(offset).Take(pageSize).ToList();

                    ApiEntityListPage <TimeSeriesJsonEntity> listOfResults =
                        new ApiEntityListPage <TimeSeriesJsonEntity>(page,
                                                                     HttpContext.Request.Path.ToString(), new PaginationProperties()
                    {
                        PageSize = pageSize,
                        Offset   = offset,
                        Count    = page.Count,
                        HasMore  = timeseriesJsonEntities.Count > page.Count
                    });

                    return(Ok(listOfResults));
                }
                else
                {
                    return(NotFound());
                }
            }
        }
コード例 #5
0
        private IActionResult MakePageFromMeasurements(InfluxResult <DynamicInfluxRow> measurementsResult, int pageSize, int offset)
        {
            List <InfluxSeries <DynamicInfluxRow> > series = measurementsResult.Series;

            if (series.Count == 0)
            {
                return(NotFound());
            }

            List <TimeSeriesDataJsonEntity> timeseriesDataJsonEntities = new List <TimeSeriesDataJsonEntity>();

            foreach (InfluxSeries <DynamicInfluxRow> t in series)
            {
                List <DynamicInfluxRow> rows = t.Rows;
                foreach (DynamicInfluxRow t1 in rows)
                {
                    timeseriesDataJsonEntities.Add(new TimeSeriesDataJsonEntity
                    {
                        Timestamp = t1.Timestamp.ToString(),
                        Tags      = t1.Tags,
                        Fields    = t1.Fields
                    });
                }
            }

            List <TimeSeriesDataJsonEntity> page = timeseriesDataJsonEntities.Skip(offset).Take(pageSize).ToList();

            ApiEntityListPage <TimeSeriesDataJsonEntity> listOfResults =
                new ApiEntityListPage <TimeSeriesDataJsonEntity>(page,
                                                                 HttpContext.Request.Path.ToString(), new PaginationProperties()
            {
                PageSize = pageSize,
                Offset   = offset,
                Count    = page.Count,
                HasMore  = timeseriesDataJsonEntities.Count > page.Count
            });

            return(Ok(listOfResults));
        }