You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

package.go 1.0 kB

1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package imsdk
  2. import (
  3. "net/url"
  4. "gitlink.org.cn/cloudream/common/consts/errorcode"
  5. cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
  6. "gitlink.org.cn/cloudream/common/utils/http2"
  7. )
  8. const PackageGetWithObjectsPath = "/package/getWithObjects"
  9. type PackageGetWithObjectsInfos struct {
  10. UserID int64 `json:"userID"`
  11. PackageID int64 `json:"packageID"`
  12. }
  13. type PackageGetWithObjectsResp struct {
  14. Package cdssdk.Package `json:"package"`
  15. Objects []cdssdk.Object `json:"objects"`
  16. }
  17. func (c *Client) PackageGetWithObjects(req PackageGetWithObjectsInfos) (*PackageGetWithObjectsResp, error) {
  18. url, err := url.JoinPath(c.baseURL, PackageGetWithObjectsPath)
  19. if err != nil {
  20. return nil, err
  21. }
  22. resp, err := http2.GetForm(url, http2.RequestParam{
  23. Query: req,
  24. })
  25. if err != nil {
  26. return nil, err
  27. }
  28. jsonResp, err := http2.ParseJSONResponse[response[PackageGetWithObjectsResp]](resp)
  29. if err != nil {
  30. return nil, err
  31. }
  32. if jsonResp.Code == errorcode.OK {
  33. return &jsonResp.Data, nil
  34. }
  35. return nil, jsonResp.ToError()
  36. }