mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-04-13 15:37:30 +08:00
64 lines
2.0 KiB
Go
64 lines
2.0 KiB
Go
package rpc
|
|
|
|
import "context"
|
|
|
|
type ConfigService interface {
|
|
View(context.Context, ConfigViewRequest) (*ConfigViewResponse, *Error)
|
|
Save(context.Context, ConfigSaveRequest) (*ConfigSaveResponse, *Error)
|
|
}
|
|
|
|
type CronService interface {
|
|
List(context.Context, ListCronJobsRequest) (*ListCronJobsResponse, *Error)
|
|
Get(context.Context, GetCronJobRequest) (*GetCronJobResponse, *Error)
|
|
Mutate(context.Context, MutateCronJobRequest) (*MutateCronJobResponse, *Error)
|
|
}
|
|
|
|
type ConfigViewRequest struct {
|
|
Mode string `json:"mode,omitempty"`
|
|
IncludeHotReloadInfo bool `json:"include_hot_reload_info,omitempty"`
|
|
}
|
|
|
|
type ConfigViewResponse struct {
|
|
Config interface{} `json:"config,omitempty"`
|
|
RawConfig interface{} `json:"raw_config,omitempty"`
|
|
PrettyText string `json:"pretty_text,omitempty"`
|
|
HotReloadFields []string `json:"hot_reload_fields,omitempty"`
|
|
HotReloadFieldDetails []map[string]interface{} `json:"hot_reload_field_details,omitempty"`
|
|
}
|
|
|
|
type ConfigSaveRequest struct {
|
|
Mode string `json:"mode,omitempty"`
|
|
ConfirmRisky bool `json:"confirm_risky,omitempty"`
|
|
Config map[string]interface{} `json:"config"`
|
|
}
|
|
|
|
type ConfigSaveResponse struct {
|
|
Saved bool `json:"saved"`
|
|
RequiresConfirm bool `json:"requires_confirm,omitempty"`
|
|
ChangedFields []string `json:"changed_fields,omitempty"`
|
|
Details interface{} `json:"details,omitempty"`
|
|
}
|
|
|
|
type ListCronJobsRequest struct{}
|
|
|
|
type ListCronJobsResponse struct {
|
|
Jobs []interface{} `json:"jobs"`
|
|
}
|
|
|
|
type GetCronJobRequest struct {
|
|
ID string `json:"id"`
|
|
}
|
|
|
|
type GetCronJobResponse struct {
|
|
Job interface{} `json:"job,omitempty"`
|
|
}
|
|
|
|
type MutateCronJobRequest struct {
|
|
Action string `json:"action"`
|
|
Args map[string]interface{} `json:"args,omitempty"`
|
|
}
|
|
|
|
type MutateCronJobResponse struct {
|
|
Result interface{} `json:"result,omitempty"`
|
|
}
|