package cdsapi import ( "net/http" "gitlink.org.cn/cloudream/common/sdks" cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" ) const StorageLoadPackagePath = "/storage/loadPackage" type StorageLoadPackageReq struct { UserID cdssdk.UserID `json:"userID" binding:"required"` PackageID cdssdk.PackageID `json:"packageID" binding:"required"` StorageID cdssdk.StorageID `json:"storageID" binding:"required"` RootPath string `json:"rootPath"` } func (r *StorageLoadPackageReq) MakeParam() *sdks.RequestParam { return sdks.MakeJSONParam(http.MethodPost, StorageLoadPackagePath, r) } type StorageLoadPackageResp struct{} func (r *StorageLoadPackageResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) StorageLoadPackage(req StorageLoadPackageReq) (*StorageLoadPackageResp, error) { return JSONAPI[*StorageLoadPackageResp](c.cfg, http.DefaultClient, &req) } const StorageCreatePackagePath = "/storage/createPackage" type StorageCreatePackageReq struct { UserID cdssdk.UserID `json:"userID" binding:"required"` StorageID cdssdk.StorageID `json:"storageID" binding:"required"` Path string `json:"path" binding:"required"` BucketID cdssdk.BucketID `json:"bucketID" binding:"required"` Name string `json:"name" binding:"required"` StorageAffinity cdssdk.StorageID `json:"storageAffinity"` } func (r *StorageCreatePackageReq) MakeParam() *sdks.RequestParam { return sdks.MakeJSONParam(http.MethodPost, StorageCreatePackagePath, r) } type StorageCreatePackageResp struct { PackageID cdssdk.PackageID `json:"packageID"` } func (r *StorageCreatePackageResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) StorageCreatePackage(req StorageCreatePackageReq) (*StorageCreatePackageResp, error) { return JSONAPI[*StorageCreatePackageResp](c.cfg, http.DefaultClient, &req) } const StorageGetPath = "/storage/get" type StorageGet struct { UserID cdssdk.UserID `form:"userID" url:"userID" binding:"required"` StorageID cdssdk.StorageID `form:"storageID" url:"storageID" binding:"required"` } func (r *StorageGet) MakeParam() *sdks.RequestParam { return sdks.MakeQueryParam(http.MethodGet, StorageGetPath, r) } type StorageGetResp struct { cdssdk.Storage } func (r *StorageGetResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) StorageGet(req StorageGet) (*StorageGetResp, error) { return JSONAPI[*StorageGetResp](c.cfg, http.DefaultClient, &req) }