//------------------------------------------------------------------------------
//
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
//
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Components
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
public class PlexDevice
{
[JsonProperty("name")]
public string Name { get; set; } = default!;
[JsonProperty("product")]
public string Product { get; set; } = default!;
[JsonProperty("productVersion")]
public string ProductVersion { get; set; } = default!;
[JsonProperty("platform", NullValueHandling = NullValueHandling.Include)]
public string? Platform { get; set; }
[JsonProperty("platformVersion", NullValueHandling = NullValueHandling.Include)]
public string? PlatformVersion { get; set; }
[JsonProperty("device", NullValueHandling = NullValueHandling.Include)]
public string? Device { get; set; }
[JsonProperty("clientIdentifier")]
public string ClientIdentifier { get; set; } = default!;
[JsonProperty("createdAt")]
public DateTime CreatedAt { get; set; } = default!;
[JsonProperty("lastSeenAt")]
public DateTime LastSeenAt { get; set; } = default!;
[JsonProperty("provides")]
public string Provides { get; set; } = default!;
///
/// ownerId is null when the device is owned by the token used to send the request
///
[JsonProperty("ownerId", NullValueHandling = NullValueHandling.Include)]
public long? OwnerId { get; set; }
[JsonProperty("sourceTitle", NullValueHandling = NullValueHandling.Include)]
public string? SourceTitle { get; set; }
[JsonProperty("publicAddress")]
public string PublicAddress { get; set; } = default!;
[JsonProperty("accessToken")]
public string AccessToken { get; set; } = default!;
[JsonProperty("owned")]
public bool Owned { get; set; } = default!;
[JsonProperty("home")]
public bool Home { get; set; } = default!;
[JsonProperty("synced")]
public bool Synced { get; set; } = default!;
[JsonProperty("relay")]
public bool Relay { get; set; } = default!;
[JsonProperty("presence")]
public bool Presence { get; set; } = default!;
[JsonProperty("httpsRequired")]
public bool HttpsRequired { get; set; } = default!;
[JsonProperty("publicAddressMatches")]
public bool PublicAddressMatches { get; set; } = default!;
[JsonProperty("dnsRebindingProtection")]
public bool DnsRebindingProtection { get; set; } = default!;
[JsonProperty("natLoopbackSupported")]
public bool NatLoopbackSupported { get; set; } = default!;
[JsonProperty("connections")]
public List Connections { get; set; } = default!;
}
}