MCPcopy
hub / github.com/apache/answer / NewAnswerTemplate

Method NewAnswerTemplate

internal/service/export/email_service.go:233–263  ·  view source on GitHub ↗

NewAnswerTemplate new answer template

(ctx context.Context, raw *schema.NewAnswerTemplateRawData)

Source from the content-addressed store, hash-verified

231
232// NewAnswerTemplate new answer template
233func (es *EmailService) NewAnswerTemplate(ctx context.Context, raw *schema.NewAnswerTemplateRawData) (
234 title, body string, err error) {
235 siteInfo, err := es.siteInfoService.GetSiteGeneral(ctx)
236 if err != nil {
237 return
238 }
239 seoInfo, err := es.siteInfoService.GetSiteSeo(ctx)
240 if err != nil {
241 return
242 }
243 templateData := &schema.NewAnswerTemplateData{
244 SiteName: siteInfo.Name,
245 DisplayName: raw.AnswerUserDisplayName,
246 QuestionTitle: raw.QuestionTitle,
247 AnswerUrl: display.AnswerURL(seoInfo.Permalink, siteInfo.SiteUrl, raw.QuestionID, raw.QuestionTitle, raw.AnswerID),
248 AnswerSummary: raw.AnswerSummary,
249 UnsubscribeUrl: fmt.Sprintf("%s/users/unsubscribe?code=%s", siteInfo.SiteUrl, raw.UnsubscribeCode),
250 }
251
252 lang := handler.GetLangByCtx(ctx)
253 title = translator.TrWithData(lang, constant.EmailTplKeyNewAnswerTitle, templateData)
254 body = translator.TrWithData(lang, constant.EmailTplKeyNewAnswerBody, &schema.NewAnswerTemplateData{
255 SiteName: escapeEmailHTMLText(templateData.SiteName),
256 DisplayName: escapeEmailHTMLText(templateData.DisplayName),
257 QuestionTitle: escapeEmailHTMLText(templateData.QuestionTitle),
258 AnswerUrl: templateData.AnswerUrl,
259 AnswerSummary: escapeEmailHTMLText(templateData.AnswerSummary),
260 UnsubscribeUrl: templateData.UnsubscribeUrl,
261 })
262 return title, body, nil
263}
264
265// NewInviteAnswerTemplate new invite answer template
266func (es *EmailService) NewInviteAnswerTemplate(ctx context.Context, raw *schema.NewInviteAnswerTemplateRawData) (

Callers 1

Calls 6

AnswerURLFunction · 0.92
GetLangByCtxFunction · 0.92
TrWithDataFunction · 0.92
escapeEmailHTMLTextFunction · 0.85
GetSiteGeneralMethod · 0.65
GetSiteSeoMethod · 0.65

Tested by

no test coverage detected