|
- package api
-
- import (
- "net/http"
-
- "gitlink.org.cn/cloudream/common/sdks"
- cdssdk "gitlink.org.cn/cloudream/storage2/client/types"
- )
-
- type BucketService struct {
- *Client
- }
-
- func (c *Client) Bucket() *BucketService {
- return &BucketService{c}
- }
-
- const BucketGetByNamePath = "/bucket/getByName"
-
- type BucketGetByName struct {
- Name string `url:"name" form:"name" binding:"required"`
- }
-
- func (r *BucketGetByName) MakeParam() *sdks.RequestParam {
- return sdks.MakeQueryParam(http.MethodGet, BucketGetByNamePath, r)
- }
-
- type BucketGetByNameResp struct {
- Bucket cdssdk.Bucket `json:"bucket"`
- }
-
- func (r *BucketGetByNameResp) ParseResponse(resp *http.Response) error {
- return sdks.ParseCodeDataJSONResponse(resp, r)
- }
-
- func (c *BucketService) GetByName(req BucketGetByName) (*BucketGetByNameResp, error) {
- return JSONAPI(c.cfg, http.DefaultClient, &req, &BucketGetByNameResp{})
- }
-
- const BucketCreatePath = "/bucket/create"
-
- type BucketCreate struct {
- Name string `json:"name" binding:"required"`
- }
-
- func (r *BucketCreate) MakeParam() *sdks.RequestParam {
- return sdks.MakeJSONParam(http.MethodPost, BucketCreatePath, r)
- }
-
- type BucketCreateResp struct {
- Bucket cdssdk.Bucket `json:"bucket"`
- }
-
- func (r *BucketCreateResp) ParseResponse(resp *http.Response) error {
- return sdks.ParseCodeDataJSONResponse(resp, r)
- }
-
- func (c *BucketService) Create(req BucketCreate) (*BucketCreateResp, error) {
- return JSONAPI(c.cfg, http.DefaultClient, &req, &BucketCreateResp{})
- }
-
- const BucketDeletePath = "/bucket/delete"
-
- type BucketDelete struct {
- BucketID cdssdk.BucketID `json:"bucketID" binding:"required"`
- }
-
- func (r *BucketDelete) MakeParam() *sdks.RequestParam {
- return sdks.MakeJSONParam(http.MethodPost, BucketDeletePath, r)
- }
-
- type BucketDeleteResp struct{}
-
- func (r *BucketDeleteResp) ParseResponse(resp *http.Response) error {
- return sdks.ParseCodeDataJSONResponse(resp, r)
- }
-
- func (c *BucketService) Delete(req BucketDelete) error {
- return JSONAPINoData(c.cfg, http.DefaultClient, &req)
- }
-
- const BucketListUserBucketsPath = "/bucket/listUserBuckets"
-
- type BucketListUserBucketsReq struct {
- }
-
- func (r *BucketListUserBucketsReq) MakeParam() *sdks.RequestParam {
- return sdks.MakeQueryParam(http.MethodGet, BucketListUserBucketsPath, r)
- }
-
- type BucketListUserBucketsResp struct {
- Buckets []cdssdk.Bucket `json:"buckets"`
- }
-
- func (r *BucketListUserBucketsResp) ParseResponse(resp *http.Response) error {
- return sdks.ParseCodeDataJSONResponse(resp, r)
- }
-
- func (c *BucketService) ListUserBuckets(req BucketListUserBucketsReq) (*BucketListUserBucketsResp, error) {
- return JSONAPI(c.cfg, http.DefaultClient, &req, &BucketListUserBucketsResp{})
- }
|