mirror of
https://github.com/SynologyOpenSource/synology-csi.git
synced 2026-02-13 21:00:03 +00:00
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
// Copyright 2021 Synology Inc.
|
|
|
|
package webapi
|
|
|
|
import (
|
|
"fmt"
|
|
"net/url"
|
|
)
|
|
|
|
type DsmInfo struct {
|
|
Hostname string `json:"hostname"`
|
|
}
|
|
|
|
type DsmSysInfo struct {
|
|
Model string `json:"model"`
|
|
FirmwareVer string `json:"firmware_ver"`
|
|
Serial string `json:"serial"`
|
|
}
|
|
|
|
func (dsm *DSM) DsmInfoGet() (*DsmInfo, error) {
|
|
params := url.Values{}
|
|
params.Add("api", "SYNO.Core.System")
|
|
params.Add("method", "info")
|
|
params.Add("version", "1")
|
|
params.Add("type", "network")
|
|
|
|
resp, err := dsm.sendRequest("", &DsmInfo{}, params, "webapi/entry.cgi")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
dsmInfo, ok := resp.Data.(*DsmInfo)
|
|
if !ok {
|
|
return nil, fmt.Errorf("Failed to assert response to %T", &DsmInfo{})
|
|
}
|
|
|
|
return dsmInfo, nil
|
|
}
|
|
|
|
func (dsm *DSM) DsmSystemInfoGet() (*DsmSysInfo, error) {
|
|
params := url.Values{}
|
|
params.Add("api", "SYNO.Core.System")
|
|
params.Add("method", "info")
|
|
params.Add("version", "1")
|
|
|
|
resp, err := dsm.sendRequest("", &DsmSysInfo{}, params, "webapi/entry.cgi")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
dsmInfo, ok := resp.Data.(*DsmSysInfo)
|
|
if !ok {
|
|
return nil, fmt.Errorf("Failed to assert response to %T", &DsmSysInfo{})
|
|
}
|
|
|
|
return dsmInfo, nil
|
|
} |