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.

storage.go 3.4 kB

1 year ago
10 months ago
10 months ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package cdsapi
  2. import (
  3. "net/http"
  4. "gitlink.org.cn/cloudream/common/sdks"
  5. cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
  6. )
  7. const StorageLoadPackagePath = "/storage/loadPackage"
  8. type StorageLoadPackageReq struct {
  9. UserID cdssdk.UserID `json:"userID" binding:"required"`
  10. PackageID cdssdk.PackageID `json:"packageID" binding:"required"`
  11. StorageID cdssdk.StorageID `json:"storageID" binding:"required"`
  12. RootPath string `json:"rootPath"`
  13. }
  14. func (r *StorageLoadPackageReq) MakeParam() *sdks.RequestParam {
  15. return sdks.MakeJSONParam(http.MethodPost, StorageLoadPackagePath, r)
  16. }
  17. type StorageLoadPackageResp struct{}
  18. func (r *StorageLoadPackageResp) ParseResponse(resp *http.Response) error {
  19. return sdks.ParseCodeDataJSONResponse(resp, r)
  20. }
  21. func (c *Client) StorageLoadPackage(req StorageLoadPackageReq) (*StorageLoadPackageResp, error) {
  22. return JSONAPI(c.cfg, http.DefaultClient, &req, &StorageLoadPackageResp{})
  23. }
  24. const StorageCreatePackagePath = "/storage/createPackage"
  25. type StorageCreatePackageReq struct {
  26. UserID cdssdk.UserID `json:"userID" binding:"required"`
  27. StorageID cdssdk.StorageID `json:"storageID" binding:"required"`
  28. Path string `json:"path" binding:"required"`
  29. BucketID cdssdk.BucketID `json:"bucketID" binding:"required"`
  30. Name string `json:"name" binding:"required"`
  31. StorageAffinity cdssdk.StorageID `json:"storageAffinity"`
  32. }
  33. func (r *StorageCreatePackageReq) MakeParam() *sdks.RequestParam {
  34. return sdks.MakeJSONParam(http.MethodPost, StorageCreatePackagePath, r)
  35. }
  36. type StorageCreatePackageResp struct {
  37. Package cdssdk.Package `json:"package"`
  38. }
  39. func (r *StorageCreatePackageResp) ParseResponse(resp *http.Response) error {
  40. return sdks.ParseCodeDataJSONResponse(resp, r)
  41. }
  42. func (c *Client) StorageCreatePackage(req StorageCreatePackageReq) (*StorageCreatePackageResp, error) {
  43. return JSONAPI(c.cfg, http.DefaultClient, &req, &StorageCreatePackageResp{})
  44. }
  45. const StorageGetPath = "/storage/get"
  46. type StorageGet struct {
  47. UserID cdssdk.UserID `form:"userID" url:"userID" binding:"required"`
  48. StorageID cdssdk.StorageID `form:"storageID" url:"storageID" binding:"required"`
  49. }
  50. func (r *StorageGet) MakeParam() *sdks.RequestParam {
  51. return sdks.MakeQueryParam(http.MethodGet, StorageGetPath, r)
  52. }
  53. type StorageGetResp struct {
  54. cdssdk.Storage
  55. }
  56. func (r *StorageGetResp) ParseResponse(resp *http.Response) error {
  57. return sdks.ParseCodeDataJSONResponse(resp, r)
  58. }
  59. func (c *Client) StorageGet(req StorageGet) (*StorageGetResp, error) {
  60. return JSONAPI(c.cfg, http.DefaultClient, &req, &StorageGetResp{})
  61. }
  62. const StorageDeleteFilesPath = "/v1/storage/deleteFiles"
  63. type StorageDeleteFiles struct {
  64. UserID cdssdk.UserID `json:"userID" binding:"required"`
  65. StorageID cdssdk.StorageID `json:"storageID" binding:"required"`
  66. Pathes []string `json:"pathes"`
  67. }
  68. func (r *StorageDeleteFiles) MakeParam() *sdks.RequestParam {
  69. return sdks.MakeJSONParam(http.MethodPost, StorageDeleteFilesPath, r)
  70. }
  71. type StorageDeleteFilesResp struct{}
  72. func (r *StorageDeleteFilesResp) ParseResponse(resp *http.Response) error {
  73. return sdks.ParseCodeDataJSONResponse(resp, r)
  74. }
  75. func (c *Client) StorageDeleteFiles(req StorageDeleteFiles) (*StorageDeleteFilesResp, error) {
  76. return JSONAPI(c.cfg, http.DefaultClient, &req, &StorageDeleteFilesResp{})
  77. }