📄 src/Integrations/Smhi/Dtos.cs
using System;
using System.Text.Json.Serialization;

namespace MMirror.Integrations.Smhi;

[JsonSerializable(typeof(ForecastResponse))]
internal sealed partial class SmhiJsonSerializerContext : JsonSerializerContext;

internal sealed record ForecastResponse([property: JsonPropertyName("timeSeries")] TimeSeriesEntry[] TimeSeries);

internal sealed record TimeSeriesEntry(
    [property: JsonPropertyName("time")] DateTimeOffset Time,
    [property: JsonPropertyName("data")] TimeSeriesData Data
);

internal sealed record TimeSeriesData(
    [property: JsonPropertyName("air_temperature")] double? AirTemperature,
    [property: JsonPropertyName("symbol_code")] int? SymbolCode,
    [property: JsonPropertyName("precipitation_amount_mean")] double? PrecipitationAmountMean
);