From 3fb1d0badbcf14bd4c0487fd864aa83bb6a45411 Mon Sep 17 00:00:00 2001 From: Paul Tyng Date: Mon, 10 Feb 2020 11:07:31 -0500 Subject: [PATCH] Fix unmarshaling of dhcpd_leasetime Issue #2 --- unifi/network.go | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/unifi/network.go b/unifi/network.go index 90c3111..8cb6825 100644 --- a/unifi/network.go +++ b/unifi/network.go @@ -5,26 +5,39 @@ import ( "fmt" ) -func (n *Network) UnmarshalJSON(b []byte) error { +func (dst *Network) UnmarshalJSON(b []byte) error { type Alias Network aux := &struct { - VLAN json.Number `json:"vlan"` + VLAN json.Number `json:"vlan"` + DHCPDLeaseTime json.Number `json:"dhcpd_leasetime"` + *Alias }{ - Alias: (*Alias)(n), + Alias: (*Alias)(dst), } err := json.Unmarshal(b, &aux) if err != nil { return err } - n.VLAN = 0 + + dst.VLAN = 0 if aux.VLAN.String() != "" { - vlan, err := aux.VLAN.Int64() + n, err := aux.VLAN.Int64() if err != nil { return err } - n.VLAN = int(vlan) + dst.VLAN = int(n) } + + dst.DHCPDLeaseTime = 0 + if aux.DHCPDLeaseTime.String() != "" { + n, err := aux.DHCPDLeaseTime.Int64() + if err != nil { + return err + } + dst.DHCPDLeaseTime = int(n) + } + return nil }