Browse Source

增加复制Object的接口

feature_wq
Sydonian 10 months ago
parent
commit
8fdf1f44f0
1 changed files with 42 additions and 0 deletions
  1. +42
    -0
      sdks/storage/cdsapi/object.go

+ 42
- 0
sdks/storage/cdsapi/object.go View File

@@ -456,6 +456,48 @@ func (c *ObjectService) DeleteByPath(req ObjectDeleteByPath) error {
return jsonResp.ToError() return jsonResp.ToError()
} }


const ObjectClonePath = "/object/clone"

type ObjectClone struct {
UserID cdssdk.UserID `json:"userID" binding:"required"`
Clonings []CloningObject `json:"clonings" binding:"required"`
}

type CloningObject struct {
ObjectID cdssdk.ObjectID `json:"objectID" binding:"required"`
NewPath string `json:"newPath" binding:"required"`
NewPackageID cdssdk.PackageID `json:"newPackageID" binding:"required"`
}

type ObjectCloneResp struct {
Objects []*cdssdk.Object `json:"objects"`
}

func (c *ObjectService) Clone(req ObjectClone) (*ObjectCloneResp, error) {
url, err := url.JoinPath(c.baseURL, ObjectClonePath)
if err != nil {
return nil, err
}

resp, err := http2.PostJSON(url, http2.RequestParam{
Body: req,
})
if err != nil {
return nil, err
}

jsonResp, err := ParseJSONResponse[response[ObjectCloneResp]](resp)
if err != nil {
return nil, err
}

if jsonResp.Code == errorcode.OK {
return &jsonResp.Data, nil
}

return nil, jsonResp.ToError()
}

const ObjectGetPackageObjectsPath = "/object/getPackageObjects" const ObjectGetPackageObjectsPath = "/object/getPackageObjects"


type ObjectGetPackageObjects struct { type ObjectGetPackageObjects struct {


Loading…
Cancel
Save