Start adding API endpoints

This commit is contained in:
2024-02-01 17:56:33 -05:00
parent 6460430a69
commit d8f6e170dd
9 changed files with 103 additions and 12 deletions

View File

@@ -0,0 +1,32 @@
using System.Text.Json.Serialization;
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models.Indoor;
public class DeviceMessage
{
[JsonPropertyName("model")]
public required string Model { get; set; }
[JsonPropertyName("nickname")]
public required string Name { get; set; }
[JsonPropertyName("readings")]
public required DeviceReadings Readings { get; set; }
[JsonPropertyName("timestamp")]
public required DateTimeOffset Timestamp { get; set; }
public decimal AirQualityIndex => Readings.AirQualityIndex;
public decimal ColorTemperature => Readings.ColorTemperature;
public decimal GasResistance => Readings.GasResistance;
public decimal Humidity => Readings.Humidity;
public decimal Luminance => Readings.Luminance;
public decimal Pressure => Readings.Pressure;
public decimal Temperature => Readings.Temperature;
}

View File

@@ -0,0 +1,29 @@
using System.Text.Json.Serialization;
using JetBrains.Annotations;
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models.Indoor;
[UsedImplicitly]
public class DeviceReadings
{
[JsonPropertyName("aqi")]
public decimal AirQualityIndex { get; set; }
[JsonPropertyName("color_temperature")]
public decimal ColorTemperature { get; set; }
[JsonPropertyName("gas_resistance")]
public decimal GasResistance { get; set; }
[JsonPropertyName("humidity")]
public decimal Humidity { get; set; }
[JsonPropertyName("luminance")]
public decimal Luminance { get; set; }
[JsonPropertyName("pressure")]
public decimal Pressure { get; set; }
[JsonPropertyName("temperature")]
public decimal Temperature { get; set; }
}

View File

@@ -0,0 +1,24 @@
namespace ChrisKaczor.HomeMonitor.Environment.Service.Models;
public class Readings
{
public DateTimeOffset Time { get; set; }
public string? Name { get; set; }
public string? Model { get; set; }
public decimal AirQualityIndex { get; set; }
public decimal ColorTemperature { get; set; }
public decimal GasResistance { get; set; }
public decimal Humidity { get; set; }
public decimal Luminance { get; set; }
public decimal Pressure { get; set; }
public decimal Temperature { get; set; }
}