44 lines
993 B
Go
44 lines
993 B
Go
package omadaapi
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.tordarus.net/tordarus/ezhttp"
|
|
"git.tordarus.net/tordarus/omada-api/model"
|
|
)
|
|
|
|
func (api *Api) GetApInfo(siteID model.SiteID, macAddress string) (*model.ApInfo, error) {
|
|
resp, err := api.getApInfo(siteID, macAddress)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &resp.Result, nil
|
|
}
|
|
|
|
func (api *Api) getApInfo(siteID model.SiteID, macAddress string) (*model.Response[model.ApInfo], error) {
|
|
req := ezhttp.Request(
|
|
ezhttp.Template(api.tmpl),
|
|
ezhttp.Method("GET"),
|
|
ezhttp.AppendPath(
|
|
fmt.Sprintf("/openapi/v1/%s/sites/%s/aps/%s",
|
|
api.config.OmadaID,
|
|
siteID,
|
|
macAddress)),
|
|
)
|
|
|
|
resp, err := api.doRequest(req)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
response, err := ezhttp.ParseJsonResponse[model.Response[model.ApInfo]](resp)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return handleResponseErrors(api, response, func() (*model.Response[model.ApInfo], error) {
|
|
return api.getApInfo(siteID, macAddress)
|
|
})
|
|
}
|