|
123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package imsdk
-
- import (
- "net/url"
-
- "gitlink.org.cn/cloudream/common/consts/errorcode"
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- "gitlink.org.cn/cloudream/common/utils/http2"
- )
-
- const PackageGetWithObjectsPath = "/package/getWithObjects"
-
- type PackageGetWithObjectsInfos struct {
- UserID int64 `json:"userID"`
- PackageID int64 `json:"packageID"`
- }
- type PackageGetWithObjectsResp struct {
- Package cdssdk.Package `json:"package"`
- Objects []cdssdk.Object `json:"objects"`
- }
-
- func (c *Client) PackageGetWithObjects(req PackageGetWithObjectsInfos) (*PackageGetWithObjectsResp, error) {
- url, err := url.JoinPath(c.baseURL, PackageGetWithObjectsPath)
- if err != nil {
- return nil, err
- }
-
- resp, err := http2.GetForm(url, http2.RequestParam{
- Query: req,
- })
- if err != nil {
- return nil, err
- }
-
- jsonResp, err := http2.ParseJSONResponse[response[PackageGetWithObjectsResp]](resp)
- if err != nil {
- return nil, err
- }
-
- if jsonResp.Code == errorcode.OK {
- return &jsonResp.Data, nil
- }
-
- return nil, jsonResp.ToError()
- }
|