MCPcopy Index your code
hub / github.com/apache/answer / RecoverAnswer

Method RecoverAnswer

internal/controller/answer_controller.go:130–152  ·  view source on GitHub ↗

RecoverAnswer recover answer @Summary recover answer @Description recover the deleted answer @Tags Answer @Accept json @Produce json @Security ApiKeyAuth @Param data body schema.RecoverAnswerReq true "answer" @Success 200 {object} handler.RespBody @Router /answer/api/v1/answer/recover [post]

(ctx *gin.Context)

Source from the content-addressed store, hash-verified

128// @Success 200 {object} handler.RespBody
129// @Router /answer/api/v1/answer/recover [post]
130func (ac *AnswerController) RecoverAnswer(ctx *gin.Context) {
131 req := &schema.RecoverAnswerReq{}
132 if handler.BindAndCheck(ctx, req) {
133 return
134 }
135 req.AnswerID = uid.DeShortID(req.AnswerID)
136 req.UserID = middleware.GetLoginUserIDFromContext(ctx)
137
138 canList, err := ac.rankService.CheckOperationPermissions(ctx, req.UserID, []string{
139 permission.AnswerUnDelete,
140 })
141 if err != nil {
142 handler.HandleResponse(ctx, err, nil)
143 return
144 }
145 if !canList[0] {
146 handler.HandleResponse(ctx, errors.Forbidden(reason.RankFailToMeetTheCondition), nil)
147 return
148 }
149
150 err = ac.answerService.RecoverAnswer(ctx, req)
151 handler.HandleResponse(ctx, err, nil)
152}
153
154// GetAnswerInfo get answer info
155// @Summary Get Answer Detail

Callers

nothing calls this directly

Calls 6

BindAndCheckFunction · 0.92
DeShortIDFunction · 0.92
HandleResponseFunction · 0.92
RecoverAnswerMethod · 0.65

Tested by

no test coverage detected