JCS-pub/client/sdk/api/v1/ticktock.go

56 lines
1.3 KiB
Go

package api
import (
"net/http"
"gitlink.org.cn/cloudream/common/sdks"
)
type TickTockService struct {
*Client
}
func (c *Client) TickTock() *TickTockService {
return &TickTockService{c}
}
const TickTockListJobsPath = "/tickTock/listJobs"
type TickTockListJobs struct{}
func (r *TickTockListJobs) MakeParam() *sdks.RequestParam {
return sdks.MakeQueryParam(http.MethodGet, TickTockListJobsPath, r)
}
type TickTockListJobsResp struct {
Jobs []string `json:"jobs"`
}
func (r *TickTockListJobsResp) ParseResponse(resp *http.Response) error {
return sdks.ParseCodeDataJSONResponse(resp, r)
}
func (c *TickTockService) ListJobs(req TickTockListJobs) (*TickTockListJobsResp, error) {
return JSONAPI(&c.cfg, c.httpCli, &req, &TickTockListJobsResp{})
}
const TickTockRunJobPath = "/tickTock/runJob"
type TickTockRunJob struct {
Name string `json:"name"`
}
func (r *TickTockRunJob) MakeParam() *sdks.RequestParam {
return sdks.MakeJSONParam(http.MethodPost, TickTockRunJobPath, r)
}
type TickTockRunJobResp struct{}
func (r *TickTockRunJobResp) ParseResponse(resp *http.Response) error {
return sdks.ParseCodeDataJSONResponse(resp, r)
}
func (c *TickTockService) RunJob(req TickTockRunJob) (*TickTockRunJobResp, error) {
return JSONAPI(&c.cfg, c.httpCli, &req, &TickTockRunJobResp{})
}