| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package admin
- import (
- "github.com/gin-gonic/gin"
- "github.com/lejianwen/rustdesk-api/global"
- "github.com/lejianwen/rustdesk-api/http/request/admin"
- "github.com/lejianwen/rustdesk-api/http/response"
- "github.com/lejianwen/rustdesk-api/model"
- "github.com/lejianwen/rustdesk-api/service"
- )
- type Rustdesk struct {
- }
- type RustdeskCmd struct {
- Cmd string `json:"cmd"`
- Option string `json:"option"`
- Target string `json:"target"`
- }
- func (r *Rustdesk) CmdList(c *gin.Context) {
- q := &admin.PageQuery{}
- if err := c.ShouldBindQuery(q); err != nil {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError")+err.Error())
- return
- }
- res := service.AllService.ServerCmdService.List(q.Page, 9999)
- //在列表前添加系统命令
- list := make([]*model.ServerCmd, 0)
- list = append(list, model.SysIdServerCmds...)
- list = append(list, model.SysRelayServerCmds...)
- list = append(list, res.ServerCmds...)
- res.ServerCmds = list
- response.Success(c, res)
- }
- func (r *Rustdesk) CmdDelete(c *gin.Context) {
- f := &model.ServerCmd{}
- if err := c.ShouldBindJSON(f); err != nil {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError")+err.Error())
- return
- }
- if f.Id == 0 {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError"))
- return
- }
- ex := service.AllService.ServerCmdService.Info(f.Id)
- if ex.Id == 0 {
- response.Fail(c, 101, response.TranslateMsg(c, "ItemNotFound"))
- return
- }
- err := service.AllService.ServerCmdService.Delete(ex)
- if err != nil {
- response.Fail(c, 101, err.Error())
- return
- }
- response.Success(c, nil)
- }
- func (r *Rustdesk) CmdCreate(c *gin.Context) {
- f := &model.ServerCmd{}
- if err := c.ShouldBindJSON(f); err != nil {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError")+err.Error())
- return
- }
- errList := global.Validator.ValidStruct(c, f)
- if len(errList) > 0 {
- response.Fail(c, 101, errList[0])
- return
- }
- err := service.AllService.ServerCmdService.Create(f)
- if err != nil {
- response.Fail(c, 101, err.Error())
- return
- }
- response.Success(c, nil)
- }
- func (r *Rustdesk) CmdUpdate(c *gin.Context) {
- f := &model.ServerCmd{}
- if err := c.ShouldBindJSON(f); err != nil {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError")+err.Error())
- return
- }
- errList := global.Validator.ValidStruct(c, f)
- if len(errList) > 0 {
- response.Fail(c, 101, errList[0])
- return
- }
- ex := service.AllService.ServerCmdService.Info(f.Id)
- if ex.Id == 0 {
- response.Fail(c, 101, response.TranslateMsg(c, "ItemNotFound"))
- return
- }
- err := service.AllService.ServerCmdService.Update(f)
- if err != nil {
- response.Fail(c, 101, err.Error())
- return
- }
- response.Success(c, nil)
- }
- func (r *Rustdesk) SendCmd(c *gin.Context) {
- rc := &RustdeskCmd{}
- if err := c.ShouldBindJSON(rc); err != nil {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError")+err.Error())
- return
- }
- if rc.Cmd == "" {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError"))
- return
- }
- if rc.Target == "" {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError"))
- return
- }
- if rc.Target != model.ServerCmdTargetIdServer && rc.Target != model.ServerCmdTargetRelayServer {
- response.Fail(c, 101, response.TranslateMsg(c, "ParamsError"))
- return
- }
- res, err := service.AllService.ServerCmdService.SendCmd(rc.Target, rc.Cmd, rc.Option)
- if err != nil {
- response.Fail(c, 101, err.Error())
- return
- }
- response.Success(c, res)
- }
|