package http import ( "strconv" "go-common/app/admin/main/aegis/model/net" "go-common/library/ecode" "go-common/library/log" bm "go-common/library/net/http/blademaster" ) func listDirection(c *bm.Context) { pm := new(net.ListDirectionParam) if err := c.Bind(pm); err != nil { c.JSON(nil, ecode.RequestErr) return } if pm.Sort != "desc" && pm.Sort != "asc" { pm.Sort = "desc" } //direction只有在确立了flow_id/transition_id后才能选择 if pm.FlowID == 0 && pm.TransitionID == 0 { pm.Direction = 0 } c.JSON(srv.GetDirectionList(c, pm)) } func showDirection(c *bm.Context) { pm := c.Request.Form.Get("id") id, err := strconv.ParseInt(pm, 10, 64) if err != nil { c.JSON(nil, ecode.RequestErr) return } c.JSON(srv.ShowDirection(c, id)) } func preDir(pm *net.DirEditParam) (invalid bool) { if pm.Direction == net.DirInput && pm.Output != "" { pm.Output = "" } invalid = pm.Order == net.DirOrderOrSplit && pm.Guard == "" return } func addDirection(c *bm.Context) { pm := new(net.DirEditParam) if err := c.Bind(pm); err != nil || pm.NetID <= 0 { c.JSON(nil, ecode.RequestErr) return } if preDir(pm) { c.JSON(nil, ecode.RequestErr) return } admin := uid(c) id, err, msg := srv.AddDirection(c, admin, pm) c.JSONMap(map[string]interface{}{ "id": id, "message": msg, }, err) } func updateDirection(c *bm.Context) { pm := new(net.DirEditParam) if err := c.Bind(pm); err != nil || pm.ID <= 0 { log.Error("updateDirection bind error(%+v)", err) c.JSON(nil, ecode.RequestErr) return } if preDir(pm) { c.JSON(nil, ecode.RequestErr) return } admin := uid(c) err, msg := srv.UpdateDirection(c, admin, pm) c.JSONMap(map[string]interface{}{ "message": msg, }, err) } func switchDirection(c *bm.Context) { pm := new(net.SwitchParam) if err := c.Bind(pm); err != nil { c.JSON(nil, ecode.RequestErr) return } err, msg := srv.SwitchDirection(c, pm.ID, pm.Disable) c.JSONMap(map[string]interface{}{ "message": msg, }, err) }