Add support for IP on User

This commit is contained in:
Paul Tyng
2020-02-18 15:28:39 -05:00
parent 3fb1d0badb
commit 19709dff50
3 changed files with 13 additions and 0 deletions

View File

@@ -204,6 +204,11 @@ type %s struct {
code += fieldCode + "\n"
}
switch structName {
case "User":
code += "\t// non-generated fields\n\tIP string `json:\"ip,omitempty\"`\n"
}
code = code + "}\n"
if strings.HasPrefix(structName, "Setting") {

View File

@@ -29,6 +29,8 @@ type User struct {
Note string `json:"note,omitempty"`
UseFixedIP bool `json:"use_fixedip"`
UserGroupID string `json:"usergroup_id"`
// non-generated fields
IP string `json:"ip,omitempty"`
}
func (c *Client) listUser(site string) ([]User, error) {

View File

@@ -2,6 +2,9 @@ package unifi
import "fmt"
// GetUserByMAC returns slightly different information than GetUser, as they
// use separate endpoints for their lookups. Specifically IP is only returned
// by this method.
func (c *Client) GetUserByMAC(site, mac string) (*User, error) {
var respBody struct {
Meta meta `json:"meta"`
@@ -129,6 +132,9 @@ func (c *Client) ListUser(site string) ([]User, error) {
return c.listUser(site)
}
// GetUser returns information about a user from the REST endpoint.
// The GetUserByMAC method returns slightly different information (for
// example the IP) as it uses a different endpoint.
func (c *Client) GetUser(site, id string) (*User, error) {
return c.getUser(site, id)
}