Compare commits

...

10 Commits

Author SHA1 Message Date
Aviv Cohn
50fc40cc4d fix: remove unused imports from StatusProperties, restore public properties in RoomResponse 2025-12-09 22:59:16 -05:00
Aviv Cohn
d6b5dc00e6 fix: remove duplicate StatusProperties 2025-12-09 22:35:03 -05:00
Aviv Cohn
2eb9442c0a feat: remove unused imports, seperate StatusProperties 2025-12-09 22:27:07 -05:00
Aviv Cohn
260d92228c feat: add classes for UDMApi state document 2025-12-09 16:44:21 -05:00
Andrew Welker
13e833b797 Merge pull request #1366 from PepperDash/main
Main -> Development
2025-12-09 15:48:09 -05:00
Andrew Welker
2be078da18 Merge pull request #1360 from PepperDash/temp-to-dev
Temp to dev
2025-11-25 13:42:11 -05:00
Neil Dorin
7330ae2e30 Merge pull request #1330 from PepperDash/temp-to-dev 2025-10-10 10:32:48 -04:00
Andrew Welker
a57dddba5e Merge pull request #1341 from PepperDash/main
Update temp-to-dev branch
2025-10-10 10:31:28 -04:00
Neil Dorin
0bfec16622 Merge pull request #1328 from PepperDash/temp-to-dev
Temp to dev
2025-09-08 11:29:40 -06:00
Andrew Welker
94e7b8210f Merge pull request #1323 from PepperDash/temp-to-dev
Temp to dev
2025-08-26 10:19:59 -04:00
5 changed files with 131 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
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; }
}
}

View File

@@ -0,0 +1,29 @@
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; }
}
}

View File

@@ -0,0 +1,42 @@
using System.Collections.Generic;
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; }
}
}

View File

@@ -0,0 +1,26 @@
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; }
}
}

View File

@@ -0,0 +1,19 @@
using Newtonsoft.Json;
using System.Collections.Generic;
namespace PepperDash.Essentials.Core.UDMApi
{
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>();
}
}
}