Browse Source

Merge pull request '移动缓存的函数返回移动后的FileHash' (#22) from feature_gxh into master

pull/24/head
baohan 2 years ago
parent
commit
028efa9516
3 changed files with 20 additions and 9 deletions
  1. +12
    -8
      api/storage/cache.go
  2. +1
    -1
      api/storage/storage_test.go
  3. +7
    -0
      models/storage.go

+ 12
- 8
api/storage/cache.go View File

@@ -6,6 +6,7 @@ import (
"strings"

"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/models"
myhttp "gitlink.org.cn/cloudream/common/utils/http"
"gitlink.org.cn/cloudream/common/utils/serder"
)
@@ -15,33 +16,36 @@ type CacheMovePackageReq struct {
PackageID int64 `json:"packageID"`
NodeID int64 `json:"nodeID"`
}
type CacheMovePackageResp struct {
CacheInfos []models.ObjectCacheInfo `json:"cacheInfos"`
}

func (c *Client) CacheMovePackage(req CacheMovePackageReq) error {
func (c *Client) CacheMovePackage(req CacheMovePackageReq) (*CacheMovePackageResp, error) {
url, err := url.JoinPath(c.baseURL, "/cache/movePackage")
if err != nil {
return err
return nil, err
}

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

contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, myhttp.ContentTypeJSON) {
var codeResp response[any]
var codeResp response[CacheMovePackageResp]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return fmt.Errorf("parsing response: %w", err)
return nil, fmt.Errorf("parsing response: %w", err)
}

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

return codeResp.ToError()
return nil, codeResp.ToError()
}

return fmt.Errorf("unknow response content type: %s", contType)
return nil, fmt.Errorf("unknow response content type: %s", contType)
}

+ 1
- 1
api/storage/storage_test.go View File

@@ -144,7 +144,7 @@ func Test_Cache(t *testing.T) {
})
So(err, ShouldBeNil)

err = cli.CacheMovePackage(CacheMovePackageReq{
_, err = cli.CacheMovePackage(CacheMovePackageReq{
UserID: 0,
PackageID: upResp.PackageID,
NodeID: 1,


+ 7
- 0
models/storage.go View File

@@ -134,6 +134,13 @@ type ObjectCacheInfo struct {
FileHash string `json:"fileHash"`
}

func NewObjectCacheInfo(objectID int64, fileHash string) ObjectCacheInfo {
return ObjectCacheInfo{
ObjectID: objectID,
FileHash: fileHash,
}
}

type CodeError struct {
Code string `json:"code"`
Message string `json:"message"`


Loading…
Cancel
Save