Compare commits

..

6 Commits

Author SHA1 Message Date
abe6ce09b2 omitempty for NetworkIDs in destination 2025-04-18 11:12:52 +02:00
d008cac359 typo 2025-04-17 11:57:05 +02:00
96cf5ac987 follow casing conventions 2025-04-17 10:35:49 +02:00
d83c354874 Missing field 2025-04-17 10:20:27 +02:00
861a985dd0 Remove some anonymous structs 2025-04-17 10:08:03 +02:00
e5b81b217f Create firewall policy 2025-04-17 02:11:29 +02:00
6 changed files with 22 additions and 40 deletions

View File

@@ -1,18 +0,0 @@
name: Build & Push Linode Webhook
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install node and go
run: apk add nodejs go
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: cd unifi && go build .

2
go.mod
View File

@@ -1,4 +1,4 @@
module gitea.engen.priv.no/klauvsteinen/go-unifi module github.com/vegardengen/go-unifi
go 1.21 go 1.21

View File

@@ -5,7 +5,7 @@ import (
"testing" "testing"
"github.com/tj/assert" "github.com/tj/assert"
"gitea.engen.priv.no/klauvsteinen/go-unifi/unifi" "github.com/vegardengen/go-unifi/unifi"
) )
func TestAccountMarshalJSON(t *testing.T) { func TestAccountMarshalJSON(t *testing.T) {

View File

@@ -7,42 +7,42 @@ import (
type FirewallDestination struct { type FirewallDestination struct {
IPGroupID string `json:"ip_group_id"` IPGroupID string `json:"ip_group_id"`
IPs []string `json:"ips,omitempty"` IPs []string `json:"ips"`
MatchOppositeIPs bool `json:"match_opposite_ips"` MatchOppositeIPs bool `json:"match_opposite_ips"`
MatchOppositePorts bool `json:"match_opposite_ports"` MatchOppositePorts bool `json:"match_opposite_ports"`
MatchingTarget string `json:"matching_target"` MatchingTarget string `json:"matching_target"`
MatchingTargetType string `json:"matching_target_type"` MatchingTargetType string `json:"matching_target_type"`
NetworkIDs [] string `json:"network_ids,omitempty"` NetworkIDs [] string `json:"network_ids"`
Port string `json:"port,omitempty"` Port string `json:"port"`
PortGroupID string `json:"port_group_id"` PortGroupID string `json:"port_group_id"`
PortMatchingType string `json:"port_matching_type"` PortMatchingType string `json:"port_matching_type"`
Regions []string `json:"regions,omitempty"` Regions []string `json:"regions"`
ZoneID string `json:"zone_id"` ZoneID string `json:"zone_id"`
} }
type FirewallSource struct { type FirewallSource struct {
ClientMacs []string `json:"client_macs,omitempty"` ClientMacs []string `json:"client_macs"`
IPs []string `json:"ips,omitempty"` IPs []string `json:"ips"`
MatchMac bool `json:"match_mac"` MatchMac bool `json:"match_mac"`
MatchOppositeIPs bool `json:"match_opposite_ips"` MatchOppositeIPs bool `json:"match_opposite_ips"`
MatchOppositeNetworks bool `json:"match_opposite_networks"` MatchOppositeNetworks bool `json:"match_opposite_networks"`
MatchOppositePorts bool `json:"match_opposite_ports"` MatchOppositePorts bool `json:"match_opposite_ports"`
MatchingTarget string `json:"matching_target,omitempty"` MatchingTarget string `json:"matching_target"`
MatchingTargetType string `json:"matching_target_type,omitempty"` MatchingTargetType string `json:"matching_target_type"`
NetworkIDs []string `json:"network_ids,omitempty"` NetworkIDs []string `json:"network_ids,omitempty"`
Port string `json:"port,omitempty"` Port string `json:"port"`
PortMatchingType string `json:"port_matching_type,omitempty"` PortMatchingType string `json:"port_matching_type"`
ZoneID string `json:"zone_id,omitempty"` ZoneID string `json:"zone_id"`
} }
type FirewallSchedule struct { type FirewallSchedule struct {
Mode string `json:"mode"` Mode string `json:"mode"`
DateStart string `json:"date_start,omitempty"` DateStart string `json:"date_start"`
DateEnd string `json:"date_end,omitempty"` DateEnd string `json:"date_end"`
RepeatOnDays []string `json:"repeat_on_days"` RepeatOnDays []string `json:"repeat_on_days"`
TimeAllDay bool `json:"time_all_day"` TimeAllDay bool `json:"time_all_day"`
TimeRangeStart string `json:"time_range_start,omitempty"` TimeRangeStart string `json:"time_range_start"`
TimeRangeEnd string `json:"time_range_end,omitempty"` TimeRangeEnd string `json:"time_range_end"`
} }
type FirewallPolicy struct { type FirewallPolicy struct {
@@ -66,11 +66,11 @@ type FirewallPolicy struct {
IPVersion string `json:"ip_version"` IPVersion string `json:"ip_version"`
Logging bool `json:"logging"` Logging bool `json:"logging"`
MatchIPSec bool `json:"match_ip_sec"` MatchIPSec bool `json:"match_ip_sec"`
MatchIPSecType string `json:"match_ip_sec_type,omitempty"` MatchIPSecType string `json:"match_ip_sec_type"`
MatchOppositeProtocol bool `json:"match_opposite_protocol"` MatchOppositeProtocol bool `json:"match_opposite_protocol"`
Name string `json:"name"` Name string `json:"name"`
OriginID string `json:"origin_id,omitempty"` OriginID string `json:"origin_id"`
OriginType string `json:"origin_type,omitempty"` OriginType string `json:"origin_type"`
Predefined bool `json:"predefined"` Predefined bool `json:"predefined"`
Protocol string `json:"protocol"` Protocol string `json:"protocol"`
Schedule FirewallSchedule `json:"schedule"` Schedule FirewallSchedule `json:"schedule"`

View File

@@ -5,7 +5,7 @@ import (
"reflect" "reflect"
"testing" "testing"
"gitea.engen.priv.no/klauvsteinen/go-unifi/unifi" "github.com/vegardengen/go-unifi/unifi"
) )
func TestNetworkUnmarshalJSON(t *testing.T) { func TestNetworkUnmarshalJSON(t *testing.T) {

View File

@@ -255,7 +255,7 @@ func (c *Client) do_versioned(ctx context.Context, version, method, relativeURL
c.csrf = resp.Header.Get("X-Csrf-Token") c.csrf = resp.Header.Get("X-Csrf-Token")
} }
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated { if resp.StatusCode != http.StatusOK {
errBody := struct { errBody := struct {
Meta meta `json:"meta"` Meta meta `json:"meta"`
Data []struct { Data []struct {