omada-api/ap_info.go
2025-02-12 13:25:01 +01:00

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)
})
}