package cdsapi import ( "net/http" "gitlink.org.cn/cloudream/common/sdks" cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" ) const UserCreatePath = "/v1/user/create" type UserCreate struct { Name string `json:"name" binding:"required"` } func (r *UserCreate) MakeParam() *sdks.RequestParam { return sdks.MakeJSONParam(http.MethodPost, UserCreatePath, r) } type UserCreateResp struct { User cdssdk.User `json:"user"` } func (r *UserCreateResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) UserCreate(req *UserCreate) (*UserCreateResp, error) { return JSONAPI(c.cfg, http.DefaultClient, req, &UserCreateResp{}) } const UserDeletePath = "/v1/user/delete" type UserDelete struct { UserID cdssdk.UserID `json:"userID" binding:"required"` } func (r *UserDelete) MakeParam() *sdks.RequestParam { return sdks.MakeJSONParam(http.MethodPost, UserDeletePath, r) } type UserDeleteResp struct{} func (r *UserDeleteResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) UserDelete(req *UserDelete) error { return JSONAPINoData(c.cfg, http.DefaultClient, req) } const UserBatchGetStatsPath = "/v1/user/batchGetStats" type UserBatchGetStats struct { UserIDs []cdssdk.UserID `json:"userIDs" binding:"required"` } func (r *UserBatchGetStats) MakeParam() *sdks.RequestParam { return sdks.MakeJSONParam(http.MethodPost, UserBatchGetStatsPath, r) } type UserBatchGetStatsResp struct { Stats []*cdssdk.UserStats `json:"stats"` } func (r *UserBatchGetStatsResp) ParseResponse(resp *http.Response) error { return sdks.ParseCodeDataJSONResponse(resp, r) } func (c *Client) UserBatchGetStats(req *UserBatchGetStats) (*UserBatchGetStatsResp, error) { return JSONAPI(c.cfg, http.DefaultClient, req, &UserBatchGetStatsResp{}) }