-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpatches.go
66 lines (51 loc) · 1.65 KB
/
patches.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package updateApiClient
import "github.com/monaco-io/request"
const (
patchesGetInfoPath = "/update-platform/patches/getInfo"
)
type PatchesInfoRequest struct {
ProgramVersionList []ProgramVersion `json:"programVersionList"`
InstalledPatchesList []string `json:"installedPatchesList"`
}
type PatchesInfoResponse struct {
ErrorResponse
PatchUpdateList []PatchUpdate `json:"patchUpdateList"`
}
func (c PatchesInfoResponse) Error() error {
if len(c.ErrorName) == 0 {
return nil
}
return c.ErrorResponse
}
type PatchUpdate struct {
Ueid string `json:"ueid"`
Name string `json:"name"`
Description string `json:"description"`
BuildDate int64 `json:"buildDate"`
ModificatedMetadata string `json:"modificatedMetadata"`
Status string `json:"status"`
Size int `json:"size"`
ApplyToVersion []ProgramVersion `json:"applyToVersion"`
}
func (c *Client) GetPatchesInfo(programName, programVersion string, InstalledPatchesList ...string) (PatchesInfoResponse, error) {
return c.GetPatchesInfoRequest([]ProgramVersion{
{programName, programVersion},
}, InstalledPatchesList)
}
func (c *Client) GetPatchesInfoRequest(programVersionList []ProgramVersion, installedPatchesList []string) (PatchesInfoResponse, error) {
var result PatchesInfoResponse
data := PatchesInfoRequest{
programVersionList,
installedPatchesList,
}
resp, err := c.doRequest(apiRequest{
patchesGetInfoPath,
request.POST,
data,
})
if err != nil {
return result, err
}
resp.Scan(&result)
return result, result.Error()
}