diff --git a/docs/docs.go b/docs/docs.go index b28986b7..f7ca566e 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -5778,6 +5778,10 @@ const docTemplate = `{ "title": { "description": "title", "type": "string" + }, + "url_title": { + "description": "url title", + "type": "string" } } }, @@ -6033,6 +6037,10 @@ const docTemplate = `{ "title": { "description": "title", "type": "string" + }, + "url_title": { + "description": "url title", + "type": "string" } } }, @@ -6612,6 +6620,10 @@ const docTemplate = `{ "description": "title", "type": "string" }, + "url_title": { + "description": "url title", + "type": "string" + }, "vote_type": { "description": "vote type", "type": "string" diff --git a/docs/swagger.json b/docs/swagger.json index 21be9a5c..f9cc9422 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -5766,6 +5766,10 @@ "title": { "description": "title", "type": "string" + }, + "url_title": { + "description": "url title", + "type": "string" } } }, @@ -6021,6 +6025,10 @@ "title": { "description": "title", "type": "string" + }, + "url_title": { + "description": "url title", + "type": "string" } } }, @@ -6600,6 +6608,10 @@ "description": "title", "type": "string" }, + "url_title": { + "description": "url title", + "type": "string" + }, "vote_type": { "description": "vote type", "type": "string" diff --git a/docs/swagger.yaml b/docs/swagger.yaml index c57892fa..01fec9cd 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -337,6 +337,9 @@ definitions: title: description: title type: string + url_title: + description: url title + type: string type: object schema.GetCommentResp: properties: @@ -525,6 +528,9 @@ definitions: title: description: title type: string + url_title: + description: url title + type: string type: object schema.GetReportTypeResp: properties: @@ -943,6 +949,9 @@ definitions: title: description: title type: string + url_title: + description: url title + type: string vote_type: description: vote type type: string diff --git a/internal/schema/comment_schema.go b/internal/schema/comment_schema.go index 5b045a07..4d64cf01 100644 --- a/internal/schema/comment_schema.go +++ b/internal/schema/comment_schema.go @@ -198,6 +198,8 @@ type GetCommentPersonalWithPageResp struct { ObjectType string `json:"object_type" enums:"question,answer,tag,comment"` // title Title string `json:"title"` + // url title + UrlTitle string `json:"url_title"` // content Content string `json:"content"` } diff --git a/internal/schema/rank_schema.go b/internal/schema/rank_schema.go index 81505c82..b09eb66b 100644 --- a/internal/schema/rank_schema.go +++ b/internal/schema/rank_schema.go @@ -26,6 +26,8 @@ type GetRankPersonalWithPageResp struct { ObjectType string `json:"object_type" enums:"question,answer,tag,comment"` // title Title string `json:"title"` + // url title + UrlTitle string `json:"url_title"` // content Content string `json:"content"` // reputation diff --git a/internal/schema/vote_schema.go b/internal/schema/vote_schema.go index 8a17666f..4cb86c66 100644 --- a/internal/schema/vote_schema.go +++ b/internal/schema/vote_schema.go @@ -60,6 +60,8 @@ type GetVoteWithPageResp struct { ObjectType string `json:"object_type" enums:"question,answer,tag,comment"` // title Title string `json:"title"` + // url title + UrlTitle string `json:"url_title"` // content Content string `json:"content"` // vote type diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index 30527cb5..38595229 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -18,7 +18,9 @@ import ( "github.com/answerdev/answer/internal/service/permission" usercommon "github.com/answerdev/answer/internal/service/user_common" "github.com/answerdev/answer/pkg/encryption" + "github.com/answerdev/answer/pkg/htmltext" "github.com/answerdev/answer/pkg/uid" + "github.com/davecgh/go-spew/spew" "github.com/jinzhu/copier" "github.com/segmentfault/pacman/errors" "github.com/segmentfault/pacman/log" @@ -446,8 +448,10 @@ func (cs *CommentService) GetCommentPersonalWithPage(ctx context.Context, req *s if err != nil { log.Error(err) } else { + spew.Dump("==", objInfo) commentResp.ObjectType = objInfo.ObjectType commentResp.Title = objInfo.Title + commentResp.UrlTitle = htmltext.UrlTitle(objInfo.Title) commentResp.QuestionID = objInfo.QuestionID commentResp.AnswerID = objInfo.AnswerID } diff --git a/internal/service/rank/rank_service.go b/internal/service/rank/rank_service.go index 111924e9..dac7df20 100644 --- a/internal/service/rank/rank_service.go +++ b/internal/service/rank/rank_service.go @@ -14,6 +14,7 @@ import ( "github.com/answerdev/answer/internal/service/permission" "github.com/answerdev/answer/internal/service/role" usercommon "github.com/answerdev/answer/internal/service/user_common" + "github.com/answerdev/answer/pkg/htmltext" "github.com/segmentfault/pacman/errors" "github.com/segmentfault/pacman/log" "xorm.io/xorm" @@ -260,6 +261,7 @@ func (rs *RankService) GetRankPersonalWithPage(ctx context.Context, req *schema. commentResp.RankType = activity_type.Format(userRankInfo.ActivityType) commentResp.ObjectType = objInfo.ObjectType commentResp.Title = objInfo.Title + commentResp.UrlTitle = htmltext.UrlTitle(objInfo.Title) commentResp.Content = objInfo.Content commentResp.QuestionID = objInfo.QuestionID commentResp.AnswerID = objInfo.AnswerID diff --git a/internal/service/vote_service.go b/internal/service/vote_service.go index ae555bf0..62c20b64 100644 --- a/internal/service/vote_service.go +++ b/internal/service/vote_service.go @@ -9,6 +9,7 @@ import ( "github.com/answerdev/answer/internal/service/comment_common" "github.com/answerdev/answer/internal/service/config" "github.com/answerdev/answer/internal/service/object_info" + "github.com/answerdev/answer/pkg/htmltext" "github.com/answerdev/answer/pkg/obj" "github.com/segmentfault/pacman/log" @@ -190,6 +191,7 @@ func (vs *VoteService) ListUserVotes(ctx context.Context, req schema.GetVoteWith AnswerID: objInfo.AnswerID, ObjectType: objInfo.ObjectType, Title: objInfo.Title, + UrlTitle: htmltext.UrlTitle(objInfo.Title), Content: objInfo.Content, VoteType: activity_type.Format(voteInfo.ActivityType), }