Skip to content

Commit

Permalink
Merge pull request #18 from abapguruger/master
Browse files Browse the repository at this point in the history
Added list of networks and wireless networks
  • Loading branch information
KoenZomers authored Feb 1, 2021
2 parents a702ef4 + 0ecc52e commit 15a9883
Show file tree
Hide file tree
Showing 9 changed files with 605 additions and 38 deletions.
204 changes: 171 additions & 33 deletions Api/Api.cs

Large diffs are not rendered by default.

10 changes: 6 additions & 4 deletions Api/Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@
<RootNamespace>KoenZomers.UniFi.Api</RootNamespace>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
<Version>1.1.8.0</Version>
<Version>1.1.9.0</Version>
<Authors>Koen Zomers</Authors>
<Company>Koen Zomers</Company>
<Description>API in .NET Standard to fetch data from an on premises Ubiquiti UniFi Controller</Description>
<Copyright>Koen Zomers</Copyright>
<PackageProjectUrl>https://github.com/KoenZomers/UniFiApi</PackageProjectUrl>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageReleaseNotes>- Added `RenameClient` option to change the friendly name of a client</PackageReleaseNotes>
<PackageReleaseNotes>- Added ability to get a list of wireless networks [PR 18](https://github.com/KoenZomers/UniFiApi/pull/18)
- Added ability to get a list of configured networks [PR 18](https://github.com/KoenZomers/UniFiApi/pull/18)
- Added a validation if the session has been authenticated before and now receives a HTTP 401 Unauthorized response, that it will try to reauthenticate to deal wEnsureAuthenticatedPostRequestEnsureAuthenticatedPostRequestth the cookie token expired scenario</PackageReleaseNotes>
<PackageLicenseUrl>https://github.com/KoenZomers/UniFiApi/blob/master/LICENSE</PackageLicenseUrl>
<AssemblyVersion>1.1.8.0</AssemblyVersion>
<FileVersion>1.1.8.0</FileVersion>
<AssemblyVersion>1.1.9.0</AssemblyVersion>
<FileVersion>1.1.9.0</FileVersion>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
Expand Down
2 changes: 1 addition & 1 deletion Api/HttpUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public async static Task<string> GetRequestResult(Uri url, CookieContainer cooki
request.KeepAlive = false;

// Send the request to the webserver
using (var response = await request.GetResponseAsync())
using (var response = await request.GetResponseAsync())
{
// Get the stream containing content returned by the server.
using (var dataStream = response.GetResponseStream())
Expand Down
198 changes: 198 additions & 0 deletions Api/KoenZomers.UniFi.Api.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

100 changes: 100 additions & 0 deletions Api/Responses/Network.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
using Newtonsoft.Json;

namespace KoenZomers.UniFi.Api.Responses
{
/// <summary>
/// Details of a UniFi network definition
/// </summary>
public class Network : BaseResponse
{
/// <summary>
/// Unique network ID
/// </summary>
[JsonProperty(PropertyName = "_id")]
public string Id { get; set; }

/// <summary>
/// Name of the network
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }

/// <summary>
/// Identifier of the site in UniFi to which this client is connected
/// </summary>
[JsonProperty(PropertyName = "site_id")]
public string SiteId { get; set; }

/// <summary>
/// Is VLAN enabled?
/// </summary>
[JsonProperty(PropertyName = "vlan_enabled")]
public bool IsVLANEnabled { get; set; }

/// <summary>
/// If VLAN is enabled, VLAN number
/// </summary>
[JsonProperty(PropertyName = "vlan")]
public string VLAN { get; set; }

/// <summary>
/// Purpose of this network (corporate, guest, vlan only, etc.)
/// </summary>
[JsonProperty(PropertyName = "purpose")]
public string Purpose { get; set; }

/// <summary>
/// IP-Subnet (CIDR)
/// </summary>
[JsonProperty(PropertyName = "ip_subnet")]
public string IpSubnet { get; set; }

/// <summary>
/// Domain Name of this Network
/// </summary>
[JsonProperty(PropertyName = "domain_name")]
public string DomainName { get; set; }

/// <summary>
/// Is NAT enabled?
/// </summary>
[JsonProperty(PropertyName = "is_nat")]
public bool? IsNAT { get; set; }

/// <summary>
/// Is DHCP enabled?
/// </summary>
[JsonProperty(PropertyName = "dhcpd_enabled")]
public bool? IsDHCPEnabled { get; set; }

/// <summary>
/// DHCP Start IP Address
/// </summary>
[JsonProperty(PropertyName = "dhcpd_start")]
public string DHCPStart { get; set; }

/// <summary>
/// DHCP End IP Address
/// </summary>
[JsonProperty(PropertyName = "dhcpd_stop")]
public string DHCPStop { get; set; }

/// <summary>
/// Network Group
/// </summary>
[JsonProperty(PropertyName = "networkgroup")]
public string NetworkGroup { get; set; }

/// <summary>
/// Internal identifier of the site
/// </summary>
[JsonProperty(PropertyName = "attr_hidden_id")]
public string HiddenId { get; set; }

/// <summary>
/// Boolean indicating if deletion of this site is being disallowed
/// </summary>
[JsonProperty(PropertyName = "attr_no_delete")]
public bool? DontAllowDeletion { get; set; }
}
}
Loading

0 comments on commit 15a9883

Please # to comment.