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.2 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. }