// MoveToCard updates an existing board card. func MoveToCard(ctx *middleware.Context, form models.CardRequest) { card, code, err := ctx.DataSource.UpdateCard(&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() { ctx.DataSource.CreateComment(&com) }() } }
// DeleteCard closed an existing board card. func DeleteCard(ctx *middleware.Context, form models.CardRequest) { card, code, err := ctx.DataSource.DeleteCard(&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.delete", }) }
// UpdateCard updates an existing board card. func UpdateCard(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.update", }) }