// MoveToCard updates an existing board card. func MoveToCard(ctx *middleware.Context, form models.CardRequest) { card, code, err := models.UpdateCard(ctx.User, ctx.Provider, &form) if err != nil { ctx.JSON(code, &models.ResponseError{ Success: false, Message: err.Error(), }) return } ctx.JSON(http.StatusOK, &models.Response{ Data: card, }) ctx.Broadcast(card.RoutingKey(), &models.Response{ Data: card, Event: "card.move", }) source := models.ParseLabelToStage(form.Stage["source"]) dest := models.ParseLabelToStage(form.Stage["dest"]) if source.Name != dest.Name { com := models.CommentRequest{ CardId: form.CardId, ProjectId: form.ProjectId, Body: fmt.Sprintf("moved issue from **%s** to **%s**", source.Name, dest.Name), } go func() { models.CreateComment(ctx.User, ctx.Provider, &com) }() } }
// CreateComment creates new kanban comment func CreateComment(ctx *middleware.Context, form models.CommentRequest) { com, code, err := models.CreateComment(ctx.User, ctx.Provider, &form) if err != nil { ctx.JSON(code, &models.ResponseError{ Success: false, Message: err.Error(), }) return } ctx.JSON(http.StatusOK, &models.Response{ Data: com, }) }