mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-01-11 19:44:52 +00:00
feat: add classes for UDMApi state document
This commit is contained in:
20
src/PepperDash.Essentials.Core/UDMApi/CustomProperties.cs
Normal file
20
src/PepperDash.Essentials.Core/UDMApi/CustomProperties.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PepperDash.Essentials.Core.UDMApi
|
||||
{
|
||||
|
||||
internal class CustomProperties
|
||||
{
|
||||
[JsonProperty("label")]
|
||||
public string label { get; set; }
|
||||
|
||||
[JsonProperty("value")]
|
||||
public string value { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
34
src/PepperDash.Essentials.Core/UDMApi/DeviceStatus.cs
Normal file
34
src/PepperDash.Essentials.Core/UDMApi/DeviceStatus.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PepperDash.Essentials.Core.UDMApi
|
||||
{
|
||||
internal class DeviceStatus
|
||||
{
|
||||
[JsonProperty("label")]
|
||||
public string label { get; set; }
|
||||
|
||||
[JsonProperty("status")]
|
||||
public string status { get; set; }
|
||||
|
||||
[JsonProperty("description")]
|
||||
public string description { get; set; }
|
||||
|
||||
[JsonProperty("videoSource")]
|
||||
public string videoSource { get; set; }
|
||||
|
||||
[JsonProperty("audioSource")]
|
||||
public string audioSource { get; set; }
|
||||
|
||||
[JsonProperty("usage")]
|
||||
public int usage { get; set; }
|
||||
|
||||
[JsonProperty("error")]
|
||||
public string error { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
63
src/PepperDash.Essentials.Core/UDMApi/RoomResponse.cs
Normal file
63
src/PepperDash.Essentials.Core/UDMApi/RoomResponse.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PepperDash.Essentials.Core.UDMApi
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents the complete room response for UDM API
|
||||
/// </summary>
|
||||
internal class RoomResponse
|
||||
{
|
||||
public RoomResponse()
|
||||
{
|
||||
standard = new StandardProperties();
|
||||
status = new StatusProperties();
|
||||
custom = new Dictionary<string, CustomProperties>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// API version string
|
||||
/// </summary>
|
||||
[JsonProperty("apiVersion")]
|
||||
public string apiVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Standard room properties
|
||||
/// </summary>
|
||||
[JsonProperty("standard")]
|
||||
public StandardProperties standard { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Status information including devices
|
||||
/// </summary>
|
||||
[JsonProperty("status")]
|
||||
public StatusProperties status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Custom properties dictionary
|
||||
/// </summary>
|
||||
[JsonProperty("custom")]
|
||||
public Dictionary<string, CustomProperties> custom { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Represents status properties including devices
|
||||
/// </summary>
|
||||
internal class StatusProperties
|
||||
{
|
||||
/// <summary>
|
||||
/// Dictionary of device statuses keyed by device identifier
|
||||
/// </summary>
|
||||
[JsonProperty("devices")]
|
||||
public Dictionary<string, DeviceStatus> devices { get; set; }
|
||||
|
||||
public StatusProperties()
|
||||
{
|
||||
devices = new Dictionary<string, DeviceStatus>();
|
||||
}
|
||||
}
|
||||
}
|
||||
31
src/PepperDash.Essentials.Core/UDMApi/StandardProperties.cs
Normal file
31
src/PepperDash.Essentials.Core/UDMApi/StandardProperties.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace PepperDash.Essentials.Core.UDMApi
|
||||
{
|
||||
internal class StandardProperties
|
||||
{
|
||||
[JsonProperty("version")]
|
||||
public string version { get; set; }
|
||||
|
||||
[JsonProperty("state")]
|
||||
public string state { get; set; }
|
||||
|
||||
[JsonProperty("error")]
|
||||
public string error { get; set; }
|
||||
|
||||
[JsonProperty("occupancy")]
|
||||
public bool occupancy { get; set; }
|
||||
|
||||
[JsonProperty("helpRequest")]
|
||||
public string helpRequest { get; set; }
|
||||
|
||||
[JsonProperty("activity")]
|
||||
public string activity { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user