James Stephenson 35eda4f67b Refactor type generator
* Allows for generating top-level types for any embedded struct so
  that sub-types can be properly instantiated from calling code
  * Specifying `-no-embedded-types` will generate top-level types
    rather than embedding the struct

* Refactored "Device" API
  * All fields set to `omitempty` because it describes all possible
    device types, so effectively any field could be omitted any time
  * Fixed `get` call for "Device" API; replacing `rest` with `stat`

* Generated `get` and `update` calls for `Setting*` APIs

* Added `5.14.23` JSON files
2020-09-10 08:50:21 -04:00
2020-09-10 08:50:21 -04:00
2020-09-10 08:50:21 -04:00
2020-09-10 08:50:21 -04:00
2020-09-10 08:50:21 -04:00
2020-01-10 14:31:12 -05:00
2020-02-02 15:58:43 -05:00

Unifi Go SDK GoDoc

This was written primarily for use in my Terraform provider for Unifi.

Versioning

Many of the naming adjustments are breaking changes, but to simplify things, treating naming errors as minor changes for the 1.0.0 version (probably should have just started at 0.1.0).

Note on Code Generation

The data models and basic REST methods are "generated" from JSON files in the JAR that show all fields and the associated regex/validation information.

This is kind of gross, I wanted to switch to using the java classes in the jar like scala2go but the jar is obfuscated and I couldn't find a way to extract that information from anywhere else. Maybe it exists somewhere in the web UI, but I was unable to find it in there in a way that was extractable in a practical way.

Still planning to dig through the bits some more later on.

Description
Unifi Controller API SDK for Go
Readme MPL-2.0 1,016 KiB
Languages
Go 100%