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.

ticktock.go 1.3 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package api
  2. import (
  3. "net/http"
  4. "gitlink.org.cn/cloudream/common/sdks"
  5. )
  6. type TickTockService struct {
  7. *Client
  8. }
  9. func (c *Client) TickTock() *TickTockService {
  10. return &TickTockService{c}
  11. }
  12. const TickTockListJobsPath = "/tickTock/listJobs"
  13. type TickTockListJobs struct{}
  14. func (r *TickTockListJobs) MakeParam() *sdks.RequestParam {
  15. return sdks.MakeQueryParam(http.MethodGet, TickTockListJobsPath, r)
  16. }
  17. type TickTockListJobsResp struct {
  18. Jobs []string `json:"jobs"`
  19. }
  20. func (r *TickTockListJobsResp) ParseResponse(resp *http.Response) error {
  21. return sdks.ParseCodeDataJSONResponse(resp, r)
  22. }
  23. func (c *TickTockService) ListJobs(req TickTockListJobs) (*TickTockListJobsResp, error) {
  24. return JSONAPI(&c.cfg, c.httpCli, &req, &TickTockListJobsResp{})
  25. }
  26. const TickTockRunJobPath = "/tickTock/runJob"
  27. type TickTockRunJob struct {
  28. Name string `json:"name"`
  29. }
  30. func (r *TickTockRunJob) MakeParam() *sdks.RequestParam {
  31. return sdks.MakeJSONParam(http.MethodPost, TickTockRunJobPath, r)
  32. }
  33. type TickTockRunJobResp struct{}
  34. func (r *TickTockRunJobResp) ParseResponse(resp *http.Response) error {
  35. return sdks.ParseCodeDataJSONResponse(resp, r)
  36. }
  37. func (c *TickTockService) RunJob(req TickTockRunJob) (*TickTockRunJobResp, error) {
  38. return JSONAPI(&c.cfg, c.httpCli, &req, &TickTockRunJobResp{})
  39. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。