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.

user.go 1.9 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 UserCreatePath = "/v1/user/create"
  8. type UserCreate struct {
  9. Name string `json:"name" binding:"required"`
  10. }
  11. func (r *UserCreate) MakeParam() *sdks.RequestParam {
  12. return sdks.MakeJSONParam(http.MethodPost, UserCreatePath, r)
  13. }
  14. type UserCreateResp struct {
  15. User cdssdk.User `json:"user"`
  16. }
  17. func (r *UserCreateResp) ParseResponse(resp *http.Response) error {
  18. return sdks.ParseCodeDataJSONResponse(resp, r)
  19. }
  20. func (c *Client) UserCreate(req *UserCreate) (*UserCreateResp, error) {
  21. return JSONAPI(c.cfg, http.DefaultClient, req, &UserCreateResp{})
  22. }
  23. const UserDeletePath = "/v1/user/delete"
  24. type UserDelete struct {
  25. UserID cdssdk.UserID `json:"userID" binding:"required"`
  26. }
  27. func (r *UserDelete) MakeParam() *sdks.RequestParam {
  28. return sdks.MakeJSONParam(http.MethodPost, UserDeletePath, r)
  29. }
  30. type UserDeleteResp struct{}
  31. func (r *UserDeleteResp) ParseResponse(resp *http.Response) error {
  32. return sdks.ParseCodeDataJSONResponse(resp, r)
  33. }
  34. func (c *Client) UserDelete(req *UserDelete) error {
  35. return JSONAPINoData(c.cfg, http.DefaultClient, req)
  36. }
  37. const UserBatchGetStatsPath = "/v1/user/batchGetStats"
  38. type UserBatchGetStats struct {
  39. UserIDs []cdssdk.UserID `json:"userIDs" binding:"required"`
  40. }
  41. func (r *UserBatchGetStats) MakeParam() *sdks.RequestParam {
  42. return sdks.MakeJSONParam(http.MethodPost, UserBatchGetStatsPath, r)
  43. }
  44. type UserBatchGetStatsResp struct {
  45. Stats []*cdssdk.UserStats `json:"stats"`
  46. }
  47. func (r *UserBatchGetStatsResp) ParseResponse(resp *http.Response) error {
  48. return sdks.ParseCodeDataJSONResponse(resp, r)
  49. }
  50. func (c *Client) UserBatchGetStats(req *UserBatchGetStats) (*UserBatchGetStatsResp, error) {
  51. return JSONAPI(c.cfg, http.DefaultClient, req, &UserBatchGetStatsResp{})
  52. }