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

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package http
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. "gitlink.org.cn/cloudream/jcs-pub/client/internal/http/types"
  6. cliapi "gitlink.org.cn/cloudream/jcs-pub/client/sdk/api/v1"
  7. "gitlink.org.cn/cloudream/jcs-pub/common/ecode"
  8. )
  9. type TickTockService struct {
  10. *Server
  11. }
  12. func (s *Server) TickTock() *TickTockService {
  13. return &TickTockService{s}
  14. }
  15. func (s *TickTockService) ListJobs(ctx *gin.Context) {
  16. var req cliapi.TickTockListJobs
  17. if err := ctx.ShouldBindQuery(&req); err != nil {
  18. ctx.JSON(http.StatusBadRequest, types.Failed(ecode.BadArgument, "%v", err))
  19. return
  20. }
  21. names := s.svc.TickTock.GetJobNames()
  22. ctx.JSON(http.StatusOK, types.OK(cliapi.TickTockListJobsResp{
  23. Jobs: names,
  24. }))
  25. }
  26. func (s *TickTockService) RunJob(ctx *gin.Context) {
  27. var req cliapi.TickTockRunJob
  28. if err := ctx.ShouldBindJSON(&req); err != nil {
  29. ctx.JSON(http.StatusBadRequest, types.Failed(ecode.BadArgument, "%v", err))
  30. return
  31. }
  32. if !s.svc.TickTock.RunNow(req.Name) {
  33. ctx.JSON(http.StatusOK, types.Failed(ecode.DataNotFound, "job %s not found", req.Name))
  34. return
  35. }
  36. ctx.JSON(http.StatusOK, types.OK(cliapi.TickTockRunJobResp{}))
  37. }

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