Compare commits

...

13 Commits

Author SHA1 Message Date
Aviv Cohn
1c5e75b025 fix: move UDMApi classes to PepperDash.Essentials.Core namespace 2025-12-10 09:01:54 -05:00
Aviv Cohn
9ef23cfcfe fix: use standard C# property naming structure, jsonproperties to conform to api 2025-12-09 23:12:29 -05:00
Aviv Cohn
e44a7160ad fix: remove default constructors, unused properties can be null 2025-12-09 23:07:14 -05:00
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
6 changed files with 131 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
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
{
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,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Core
{
internal interface IUDMAPI
{
}
}

View File

@@ -0,0 +1,35 @@
using System.Collections.Generic;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
{
/// <summary>
/// Represents the complete room response for UDM API
/// </summary>
internal class RoomResponse
{
/// <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
{
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,14 @@
using Newtonsoft.Json;
using System.Collections.Generic;
namespace PepperDash.Essentials.Core
{
internal class StatusProperties
{
/// <summary>
/// Dictionary of device statuses keyed by device identifier
/// </summary>
[JsonProperty("devices")]
public Dictionary<string, DeviceStatus> Devices { get; set; }
}
}