Migrate GetGlobalGeographicMetricsFunction to DAL

https://claude.ai/code/session_01NHWJfPaa8TQHuPzMD7gG63
This commit is contained in:
Claude
2026-03-27 06:38:20 +00:00
parent 85cd9ae688
commit 6582faad17
2 changed files with 10 additions and 7 deletions
@@ -1,6 +1,6 @@
using System.Net;
using AutopilotMonitor.Functions.Helpers;
using AutopilotMonitor.Functions.Services;
using AutopilotMonitor.Shared.DataAccess;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
@@ -1,6 +1,6 @@
using System.Net;
using AutopilotMonitor.Functions.Helpers;
using AutopilotMonitor.Functions.Services;
using AutopilotMonitor.Shared.DataAccess;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
@@ -10,14 +10,17 @@ namespace AutopilotMonitor.Functions.Functions.Metrics
public class GetGlobalGeographicMetricsFunction
{
private readonly ILogger<GetGlobalGeographicMetricsFunction> _logger;
private readonly TableStorageService _storageService;
private readonly IMaintenanceRepository _maintenanceRepo;
private readonly IMetricsRepository _metricsRepo;
public GetGlobalGeographicMetricsFunction(
ILogger<GetGlobalGeographicMetricsFunction> logger,
TableStorageService storageService)
IMaintenanceRepository maintenanceRepo,
IMetricsRepository metricsRepo)
{
_logger = logger;
_storageService = storageService;
_maintenanceRepo = maintenanceRepo;
_metricsRepo = metricsRepo;
}
[Function("GetGlobalGeographicMetrics")]
@@ -40,8 +43,8 @@ namespace AutopilotMonitor.Functions.Functions.Metrics
var groupBy = query["groupBy"] ?? "city";
var cutoff = DateTime.UtcNow.AddDays(-days);
var sessions = await _storageService.GetSessionsByDateRangeAsync(cutoff, DateTime.UtcNow.AddDays(1));
var allSummaries = await _storageService.GetAllAppInstallSummariesAsync();
var sessions = await _maintenanceRepo.GetSessionsByDateRangeAsync(cutoff, DateTime.UtcNow.AddDays(1));
var allSummaries = await _metricsRepo.GetAllAppInstallSummariesAsync();
var summaries = allSummaries.Where(s => s.StartedAt >= cutoff).ToList();
var result = GetGeographicMetricsFunction.ComputeGeographicMetrics(sessions, summaries, groupBy);