RemoveTag delete tag @Summary delete tag @Description delete tag @Security ApiKeyAuth @Tags Tag @Accept json @Produce json @Param data body schema.RemoveTagReq true "tag" @Success 200 {object} handler.RespBody @Router /answer/api/v1/tag [delete]
(ctx *gin.Context)
| 96 | // @Success 200 {object} handler.RespBody |
| 97 | // @Router /answer/api/v1/tag [delete] |
| 98 | func (tc *TagController) RemoveTag(ctx *gin.Context) { |
| 99 | req := &schema.RemoveTagReq{} |
| 100 | if handler.BindAndCheck(ctx, req) { |
| 101 | return |
| 102 | } |
| 103 | |
| 104 | req.UserID = middleware.GetLoginUserIDFromContext(ctx) |
| 105 | can, err := tc.rankService.CheckOperationPermission(ctx, req.UserID, permission.TagDelete, "") |
| 106 | if err != nil { |
| 107 | handler.HandleResponse(ctx, err, nil) |
| 108 | return |
| 109 | } |
| 110 | if !can { |
| 111 | handler.HandleResponse(ctx, errors.Forbidden(reason.RankFailToMeetTheCondition), nil) |
| 112 | return |
| 113 | } |
| 114 | err = tc.tagService.RemoveTag(ctx, req) |
| 115 | handler.HandleResponse(ctx, err, nil) |
| 116 | } |
| 117 | |
| 118 | // AddTag add tag |
| 119 | // @Summary add tag |
nothing calls this directly
no test coverage detected