SYMBOL INDEX (4070 symbols across 639 files) FILE: cmd/answer/main.go function main (line 35) | func main() { FILE: cmd/command.go function init (line 64) | func init() { function Execute (line 339) | func Execute() { FILE: cmd/main.go function init (line 41) | func init() { function Main (line 69) | func Main() { function runApp (line 75) | func runApp() { function newApplication (line 97) | func newApplication(serverConf *conf.Server, server *gin.Engine, manager... FILE: cmd/wire.go function initApplication (line 46) | func initApplication( FILE: cmd/wire_gen.go function initApplication (line 129) | func initApplication(debug bool, serverConf *conf.Server, dbConf *data.D... FILE: docs/docs.go constant docTemplate (line 25) | docTemplate = `{ function init (line 13502) | func init() { FILE: internal/base/conf/conf.go type AllConfig (line 39) | type AllConfig struct method SetDefault (line 79) | func (c *AllConfig) SetDefault() { method SetEnvironmentOverrides (line 85) | func (c *AllConfig) SetEnvironmentOverrides() { type envConfigOverrides (line 49) | type envConfigOverrides struct function loadEnvs (line 55) | func loadEnvs() (envOverrides *envConfigOverrides) { type PathIgnore (line 63) | type PathIgnore struct type Server (line 68) | type Server struct type Data (line 73) | type Data struct function ReadConfig (line 99) | func ReadConfig(configFilePath string) (c *AllConfig, err error) { function RewriteConfig (line 117) | func RewriteConfig(configFilePath string, allConfig *AllConfig) error { FILE: internal/base/constant/acticity.go type ActivityTypeKey (line 22) | type ActivityTypeKey constant ActEdited (line 25) | ActEdited = "edited" constant ActClosed (line 26) | ActClosed = "closed" constant ActVotedDown (line 27) | ActVotedDown = "voted_down" constant ActVotedUp (line 28) | ActVotedUp = "voted_up" constant ActVoteDown (line 29) | ActVoteDown = "vote_down" constant ActVoteUp (line 30) | ActVoteUp = "vote_up" constant ActUpVote (line 31) | ActUpVote = "upvote" constant ActDownVote (line 32) | ActDownVote = "downvote" constant ActFollow (line 33) | ActFollow = "follow" constant ActAccepted (line 34) | ActAccepted = "accepted" constant ActAccept (line 35) | ActAccept = "accept" constant ActPin (line 36) | ActPin = "pin" constant ActUnPin (line 37) | ActUnPin = "unpin" constant ActShow (line 38) | ActShow = "show" constant ActHide (line 39) | ActHide = "hide" constant ActQuestionAsked (line 43) | ActQuestionAsked ActivityTypeKey = "question.asked" constant ActQuestionClosed (line 44) | ActQuestionClosed ActivityTypeKey = "question.closed" constant ActQuestionReopened (line 45) | ActQuestionReopened ActivityTypeKey = "question.reopened" constant ActQuestionAnswered (line 46) | ActQuestionAnswered ActivityTypeKey = "question.answered" constant ActQuestionCommented (line 47) | ActQuestionCommented ActivityTypeKey = "question.commented" constant ActQuestionAccept (line 48) | ActQuestionAccept ActivityTypeKey = "question.accept" constant ActQuestionUpvote (line 49) | ActQuestionUpvote ActivityTypeKey = "question.upvote" constant ActQuestionDownVote (line 50) | ActQuestionDownVote ActivityTypeKey = "question.downvote" constant ActQuestionEdited (line 51) | ActQuestionEdited ActivityTypeKey = "question.edited" constant ActQuestionRollback (line 52) | ActQuestionRollback ActivityTypeKey = "question.rollback" constant ActQuestionDeleted (line 53) | ActQuestionDeleted ActivityTypeKey = "question.deleted" constant ActQuestionUndeleted (line 54) | ActQuestionUndeleted ActivityTypeKey = "question.undeleted" constant ActQuestionPin (line 55) | ActQuestionPin ActivityTypeKey = "question.pin" constant ActQuestionUnPin (line 56) | ActQuestionUnPin ActivityTypeKey = "question.unpin" constant ActQuestionHide (line 57) | ActQuestionHide ActivityTypeKey = "question.hide" constant ActQuestionShow (line 58) | ActQuestionShow ActivityTypeKey = "question.show" constant ActAnswerAnswered (line 62) | ActAnswerAnswered ActivityTypeKey = "answer.answered" constant ActAnswerCommented (line 63) | ActAnswerCommented ActivityTypeKey = "answer.commented" constant ActAnswerAccept (line 64) | ActAnswerAccept ActivityTypeKey = "answer.accept" constant ActAnswerUpvote (line 65) | ActAnswerUpvote ActivityTypeKey = "answer.upvote" constant ActAnswerDownVote (line 66) | ActAnswerDownVote ActivityTypeKey = "answer.downvote" constant ActAnswerEdited (line 67) | ActAnswerEdited ActivityTypeKey = "answer.edited" constant ActAnswerRollback (line 68) | ActAnswerRollback ActivityTypeKey = "answer.rollback" constant ActAnswerDeleted (line 69) | ActAnswerDeleted ActivityTypeKey = "answer.deleted" constant ActAnswerUndeleted (line 70) | ActAnswerUndeleted ActivityTypeKey = "answer.undeleted" constant ActTagCreated (line 74) | ActTagCreated ActivityTypeKey = "tag.created" constant ActTagEdited (line 75) | ActTagEdited ActivityTypeKey = "tag.edited" constant ActTagRollback (line 76) | ActTagRollback ActivityTypeKey = "tag.rollback" constant ActTagDeleted (line 77) | ActTagDeleted ActivityTypeKey = "tag.deleted" constant ActTagUndeleted (line 78) | ActTagUndeleted ActivityTypeKey = "tag.undeleted" FILE: internal/base/constant/ai_config.go constant AIConfigProvider (line 23) | AIConfigProvider = "ai_config.provider" constant DefaultAIPromptConfigZhCN (line 27) | DefaultAIPromptConfigZhCN = `你是一个智能助手,可以帮助用户查询系统中的信息。用户问题:%s constant DefaultAIPromptConfigEnUS (line 38) | DefaultAIPromptConfigEnUS = `You are an intelligent assistant that can h... FILE: internal/base/constant/cache_key.go constant UserStatusChangedCacheKey (line 25) | UserStatusChangedCacheKey = "answer:user:status:" constant UserStatusChangedCacheTime (line 26) | UserStatusChangedCacheTime = 7 * 24 * time.Hour constant UserTokenCacheKey (line 27) | UserTokenCacheKey = "answer:user:token:" constant UserTokenCacheTime (line 28) | UserTokenCacheTime = 7 * 24 * time.Hour constant UserVisitTokenCacheKey (line 29) | UserVisitTokenCacheKey = "answer:user:visit:" constant UserVisitCacheTime (line 30) | UserVisitCacheTime = 7 * 24 * 60 * 60 constant UserVisitCookiesCacheKey (line 31) | UserVisitCookiesCacheKey = "visit" constant AdminTokenCacheKey (line 32) | AdminTokenCacheKey = "answer:admin:token:" constant AdminTokenCacheTime (line 33) | AdminTokenCacheTime = 7 * 24 * time.Hour constant UserTokenMappingCacheKey (line 34) | UserTokenMappingCacheKey = "answer:user-token:mapping:" constant UserEmailCodeCacheKey (line 35) | UserEmailCodeCacheKey = "answer:user:email-code:" constant UserEmailCodeCacheTime (line 36) | UserEmailCodeCacheTime = 10 * time.Minute constant UserLatestEmailCodeCacheKey (line 37) | UserLatestEmailCodeCacheKey = "answer:user-id:email-code:" constant SiteInfoCacheKey (line 38) | SiteInfoCacheKey = "answer:site-info:" constant SiteInfoCacheTime (line 39) | SiteInfoCacheTime = 1 * time.Hour constant ConfigID2KEYCacheKeyPrefix (line 40) | ConfigID2KEYCacheKeyPrefix = "answer:config:id:" constant ConfigKEY2ContentCacheKeyPrefix (line 41) | ConfigKEY2ContentCacheKeyPrefix = "answer:config:key:" constant ConfigCacheTime (line 42) | ConfigCacheTime = 1 * time.Hour constant ConnectorUserExternalInfoCacheKey (line 43) | ConnectorUserExternalInfoCacheKey = "answer:connector:" constant ConnectorUserExternalInfoCacheTime (line 44) | ConnectorUserExternalInfoCacheTime = 10 * time.Minute constant SiteMapQuestionCacheKeyPrefix (line 45) | SiteMapQuestionCacheKeyPrefix = "answer:sitemap:question:%d" constant SiteMapQuestionCacheTime (line 46) | SiteMapQuestionCacheTime = time.Hour constant SitemapMaxSize (line 47) | SitemapMaxSize = 50000 constant NewQuestionNotificationLimitCacheKeyPrefix (line 48) | NewQuestionNotificationLimitCacheKeyPrefix = "answer:new-question-notifi... constant NewQuestionNotificationLimitCacheTime (line 49) | NewQuestionNotificationLimitCacheTime = 7 * 24 * time.Hour constant NewQuestionNotificationLimitMax (line 50) | NewQuestionNotificationLimitMax = 50 constant RateLimitCacheKeyPrefix (line 51) | RateLimitCacheKeyPrefix = "answer:rate-limit:" constant RateLimitCacheTime (line 52) | RateLimitCacheTime = 5 * time.Minute constant RedDotCacheKey (line 53) | RedDotCacheKey = "answer:red-dot:%s:%s" constant RedDotCacheTime (line 54) | RedDotCacheTime = 30 * 24 * time.Hour FILE: internal/base/constant/comment.go constant CommentEditDeadline (line 25) | CommentEditDeadline = time.Minute * 5 FILE: internal/base/constant/constant.go constant DefaultPageSize (line 23) | DefaultPageSize = 20 constant DefaultBulkUser (line 24) | DefaultBulkUser = 5000 FILE: internal/base/constant/ctx_flag.go constant AcceptLanguageFlag (line 23) | AcceptLanguageFlag = "Accept-Language" constant ShortIDFlag (line 24) | ShortIDFlag = "Short-ID-Enabled" type ContextKey (line 27) | type ContextKey constant AcceptLanguageContextKey (line 30) | AcceptLanguageContextKey ContextKey = ContextKey(AcceptLanguageFlag) constant ShortIDContextKey (line 31) | ShortIDContextKey ContextKey = ContextKey(ShortIDFlag) FILE: internal/base/constant/email_tpl_key.go constant EmailTplKeyChangeEmailTitle (line 23) | EmailTplKeyChangeEmailTitle = "email_tpl.change_email.title" constant EmailTplKeyChangeEmailBody (line 24) | EmailTplKeyChangeEmailBody = "email_tpl.change_email.body" constant EmailTplKeyNewAnswerTitle (line 26) | EmailTplKeyNewAnswerTitle = "email_tpl.new_answer.title" constant EmailTplKeyNewAnswerBody (line 27) | EmailTplKeyNewAnswerBody = "email_tpl.new_answer.body" constant EmailTplKeyNewCommentTitle (line 29) | EmailTplKeyNewCommentTitle = "email_tpl.new_comment.title" constant EmailTplKeyNewCommentBody (line 30) | EmailTplKeyNewCommentBody = "email_tpl.new_comment.body" constant EmailTplKeyPassResetTitle (line 32) | EmailTplKeyPassResetTitle = "email_tpl.pass_reset.title" constant EmailTplKeyPassResetBody (line 33) | EmailTplKeyPassResetBody = "email_tpl.pass_reset.body" constant EmailTplKeyRegisterTitle (line 35) | EmailTplKeyRegisterTitle = "email_tpl.register.title" constant EmailTplKeyRegisterBody (line 36) | EmailTplKeyRegisterBody = "email_tpl.register.body" constant EmailTplKeyTestTitle (line 38) | EmailTplKeyTestTitle = "email_tpl.test.title" constant EmailTplKeyTestBody (line 39) | EmailTplKeyTestBody = "email_tpl.test.body" constant EmailTplKeyInvitedAnswerTitle (line 41) | EmailTplKeyInvitedAnswerTitle = "email_tpl.invited_you_to_answer.title" constant EmailTplKeyInvitedAnswerBody (line 42) | EmailTplKeyInvitedAnswerBody = "email_tpl.invited_you_to_answer.body" constant EmailTplKeyNewQuestionTitle (line 44) | EmailTplKeyNewQuestionTitle = "email_tpl.new_question.title" constant EmailTplKeyNewQuestionBody (line 45) | EmailTplKeyNewQuestionBody = "email_tpl.new_question.body" FILE: internal/base/constant/event.go type EventType (line 23) | type EventType constant eventQuestion (line 27) | eventQuestion = "question" constant eventAnswer (line 28) | eventAnswer = "answer" constant eventComment (line 29) | eventComment = "comment" constant eventUser (line 30) | eventUser = "user" constant eventCreate (line 35) | eventCreate = "create" constant eventUpdate (line 36) | eventUpdate = "update" constant eventDelete (line 37) | eventDelete = "delete" constant eventVote (line 38) | eventVote = "vote" constant eventAccept (line 39) | eventAccept = "accept" constant eventShare (line 40) | eventShare = "share" constant eventFlag (line 41) | eventFlag = "flag" constant eventReact (line 42) | eventReact = "react" constant EventUserUpdate (line 46) | EventUserUpdate EventType = eventUser + "." + eventUpdate constant EventUserShare (line 47) | EventUserShare EventType = eventUser + "." + eventShare constant EventQuestionCreate (line 51) | EventQuestionCreate EventType = eventQuestion + "." + eventCreate constant EventQuestionUpdate (line 52) | EventQuestionUpdate EventType = eventQuestion + "." + eventUpdate constant EventQuestionDelete (line 53) | EventQuestionDelete EventType = eventQuestion + "." + eventDelete constant EventQuestionVote (line 54) | EventQuestionVote EventType = eventQuestion + "." + eventVote constant EventQuestionAccept (line 55) | EventQuestionAccept EventType = eventQuestion + "." + eventAccept constant EventQuestionFlag (line 56) | EventQuestionFlag EventType = eventQuestion + "." + eventFlag constant EventQuestionReact (line 57) | EventQuestionReact EventType = eventQuestion + "." + eventReact constant EventAnswerCreate (line 61) | EventAnswerCreate EventType = eventAnswer + "." + eventCreate constant EventAnswerUpdate (line 62) | EventAnswerUpdate EventType = eventAnswer + "." + eventUpdate constant EventAnswerDelete (line 63) | EventAnswerDelete EventType = eventAnswer + "." + eventDelete constant EventAnswerVote (line 64) | EventAnswerVote EventType = eventAnswer + "." + eventVote constant EventAnswerFlag (line 65) | EventAnswerFlag EventType = eventAnswer + "." + eventFlag constant EventAnswerReact (line 66) | EventAnswerReact EventType = eventAnswer + "." + eventReact constant EventCommentCreate (line 70) | EventCommentCreate EventType = eventComment + "." + eventCreate constant EventCommentUpdate (line 71) | EventCommentUpdate EventType = eventComment + "." + eventUpdate constant EventCommentDelete (line 72) | EventCommentDelete EventType = eventComment + "." + eventDelete constant EventCommentVote (line 73) | EventCommentVote EventType = eventComment + "." + eventVote constant EventCommentFlag (line 74) | EventCommentFlag EventType = eventComment + "." + eventFlag FILE: internal/base/constant/meta.go constant ReactionTooltipLabel (line 23) | ReactionTooltipLabel = "reaction.tooltip" FILE: internal/base/constant/notification.go constant NotificationUpdateQuestion (line 24) | NotificationUpdateQuestion = "notification.action.update_question" constant NotificationAnswerTheQuestion (line 26) | NotificationAnswerTheQuestion = "notification.action.answer_the_question" constant NotificationUpVotedTheQuestion (line 28) | NotificationUpVotedTheQuestion = "notification.action.up_voted_question" constant NotificationDownVotedTheQuestion (line 30) | NotificationDownVotedTheQuestion = "notification.action.down_voted_quest... constant NotificationUpdateAnswer (line 32) | NotificationUpdateAnswer = "notification.action.update_answer" constant NotificationAcceptAnswer (line 34) | NotificationAcceptAnswer = "notification.action.accept_answer" constant NotificationUpVotedTheAnswer (line 36) | NotificationUpVotedTheAnswer = "notification.action.up_voted_answer" constant NotificationDownVotedTheAnswer (line 38) | NotificationDownVotedTheAnswer = "notification.action.down_voted_answer" constant NotificationCommentQuestion (line 40) | NotificationCommentQuestion = "notification.action.comment_question" constant NotificationCommentAnswer (line 42) | NotificationCommentAnswer = "notification.action.comment_answer" constant NotificationUpVotedTheComment (line 44) | NotificationUpVotedTheComment = "notification.action.up_voted_comment" constant NotificationReplyToYou (line 46) | NotificationReplyToYou = "notification.action.reply_to_you" constant NotificationMentionYou (line 48) | NotificationMentionYou = "notification.action.mention_you" constant NotificationYourQuestionIsClosed (line 50) | NotificationYourQuestionIsClosed = "notification.action.your_question_is... constant NotificationYourQuestionWasDeleted (line 52) | NotificationYourQuestionWasDeleted = "notification.action.your_question_... constant NotificationYourAnswerWasDeleted (line 54) | NotificationYourAnswerWasDeleted = "notification.action.your_answer_was_... constant NotificationYourCommentWasDeleted (line 56) | NotificationYourCommentWasDeleted = "notification.action.your_comment_wa... constant NotificationInvitedYouToAnswer (line 58) | NotificationInvitedYouToAnswer = "notification.action.invited_you_to_ans... constant NotificationEarnedBadge (line 60) | NotificationEarnedBadge = "notification.action.earned_badge" type NotificationChannelKey (line 63) | type NotificationChannelKey type NotificationSource (line 64) | type NotificationSource constant InboxSource (line 67) | InboxSource NotificationSource = "inbox" constant AllNewQuestionSource (line 68) | AllNewQuestionSource NotificationSource = "all_new_quest... constant AllNewQuestionForFollowingTagsSource (line 69) | AllNewQuestionForFollowingTagsSource NotificationSource = "all_new_quest... constant EmailChannel (line 73) | EmailChannel NotificationChannelKey = "email" constant NotificationTypeInbox (line 77) | NotificationTypeInbox = "inbox" constant NotificationTypeAchievement (line 78) | NotificationTypeAchievement = "achievement" constant NotificationTypeBadgeAchievement (line 79) | NotificationTypeBadgeAchievement = "badge" FILE: internal/base/constant/object_type.go constant QuestionObjectType (line 23) | QuestionObjectType = "question" constant AnswerObjectType (line 24) | AnswerObjectType = "answer" constant TagObjectType (line 25) | TagObjectType = "tag" constant UserObjectType (line 26) | UserObjectType = "user" constant CollectionObjectType (line 27) | CollectionObjectType = "collection" constant CommentObjectType (line 28) | CommentObjectType = "comment" constant ReportObjectType (line 29) | ReportObjectType = "report" constant BadgeObjectType (line 30) | BadgeObjectType = "badge" constant BadgeAwardObjectType (line 31) | BadgeAwardObjectType = "badge_award" FILE: internal/base/constant/plugin_config_key.go constant PluginStatus (line 23) | PluginStatus = "plugin.status" FILE: internal/base/constant/privilege.go type Privilege (line 24) | type Privilege struct constant RankQuestionAddKey (line 31) | RankQuestionAddKey = "rank.question.add" constant RankQuestionEditKey (line 32) | RankQuestionEditKey = "rank.question.edit" constant RankQuestionDeleteKey (line 33) | RankQuestionDeleteKey = "rank.question.delete" constant RankQuestionVoteUpKey (line 34) | RankQuestionVoteUpKey = "rank.question.vote_up" constant RankQuestionVoteDownKey (line 35) | RankQuestionVoteDownKey = "rank.question.vote_down" constant RankAnswerAddKey (line 36) | RankAnswerAddKey = "rank.answer.add" constant RankAnswerEditKey (line 37) | RankAnswerEditKey = "rank.answer.edit" constant RankAnswerDeleteKey (line 38) | RankAnswerDeleteKey = "rank.answer.delete" constant RankAnswerAcceptKey (line 39) | RankAnswerAcceptKey = "rank.answer.accept" constant RankAnswerVoteUpKey (line 40) | RankAnswerVoteUpKey = "rank.answer.vote_up" constant RankAnswerVoteDownKey (line 41) | RankAnswerVoteDownKey = "rank.answer.vote_down" constant RankInviteSomeoneToAnswerKey (line 42) | RankInviteSomeoneToAnswerKey = "rank.answer.invite_someone_to_answer" constant RankCommentAddKey (line 43) | RankCommentAddKey = "rank.comment.add" constant RankCommentEditKey (line 44) | RankCommentEditKey = "rank.comment.edit" constant RankCommentDeleteKey (line 45) | RankCommentDeleteKey = "rank.comment.delete" constant RankReportAddKey (line 46) | RankReportAddKey = "rank.report.add" constant RankTagAddKey (line 47) | RankTagAddKey = "rank.tag.add" constant RankTagEditKey (line 48) | RankTagEditKey = "rank.tag.edit" constant RankTagDeleteKey (line 49) | RankTagDeleteKey = "rank.tag.delete" constant RankTagSynonymKey (line 50) | RankTagSynonymKey = "rank.tag.synonym" constant RankLinkUrlLimitKey (line 51) | RankLinkUrlLimitKey = "rank.link.url_limit" constant RankVoteDetailKey (line 52) | RankVoteDetailKey = "rank.vote.detail" constant RankCommentVoteUpKey (line 53) | RankCommentVoteUpKey = "rank.comment.vote_up" constant RankCommentVoteDownKey (line 54) | RankCommentVoteDownKey = "rank.comment.vote_down" constant RankQuestionEditWithoutReviewKey (line 55) | RankQuestionEditWithoutReviewKey = "rank.question.edit_without_review" constant RankAnswerEditWithoutReviewKey (line 56) | RankAnswerEditWithoutReviewKey = "rank.answer.edit_without_review" constant RankTagEditWithoutReviewKey (line 57) | RankTagEditWithoutReviewKey = "rank.tag.edit_without_review" constant RankAnswerAuditKey (line 58) | RankAnswerAuditKey = "rank.answer.audit" constant RankQuestionAuditKey (line 59) | RankQuestionAuditKey = "rank.question.audit" constant RankTagAuditKey (line 60) | RankTagAuditKey = "rank.tag.audit" constant RankQuestionCloseKey (line 61) | RankQuestionCloseKey = "rank.question.close" constant RankQuestionReopenKey (line 62) | RankQuestionReopenKey = "rank.question.reopen" constant RankTagUseReservedTagKey (line 63) | RankTagUseReservedTagKey = "rank.tag.use_reserved_tag" FILE: internal/base/constant/question.go constant DeletedQuestionTitleTrKey (line 23) | DeletedQuestionTitleTrKey = "question.deleted_title" constant QuestionsTitleTrKey (line 24) | QuestionsTitleTrKey = "question.questions_title" constant TagsListTitleTrKey (line 25) | TagsListTitleTrKey = "tag.tags_title" constant TagHasNoDescription (line 26) | TagHasNoDescription = "tag.no_description" FILE: internal/base/constant/reason.go constant ReasonSpam (line 23) | ReasonSpam = "reason.spam" constant ReasonRudeOrAbusive (line 24) | ReasonRudeOrAbusive = "reason.rude_or_abusive" constant ReasonSomething (line 25) | ReasonSomething = "reason.something" constant ReasonADuplicate (line 26) | ReasonADuplicate = "reason.a_duplicate" constant ReasonNotAAnswer (line 27) | ReasonNotAAnswer = "reason.not_a_answer" constant ReasonNoLongerNeeded (line 28) | ReasonNoLongerNeeded = "reason.no_longer_needed" constant ReasonCommunitySpecific (line 29) | ReasonCommunitySpecific = "reason.community_specific" constant ReasonNotClarity (line 30) | ReasonNotClarity = "reason.not_clarity" constant ReasonNormal (line 31) | ReasonNormal = "reason.normal" constant ReasonNormalUser (line 32) | ReasonNormalUser = "reason.normal.user" constant ReasonClosed (line 33) | ReasonClosed = "reason.closed" constant ReasonDeleted (line 34) | ReasonDeleted = "reason.deleted" constant ReasonDeletedUser (line 35) | ReasonDeletedUser = "reason.deleted.user" constant ReasonSuspended (line 36) | ReasonSuspended = "reason.suspended" constant ReasonInactive (line 37) | ReasonInactive = "reason.inactive" constant ReasonLooksOk (line 38) | ReasonLooksOk = "reason.looks_ok" constant ReasonNeedsEdit (line 39) | ReasonNeedsEdit = "reason.needs_edit" constant ReasonNeedsClose (line 40) | ReasonNeedsClose = "reason.needs_close" constant ReasonNeedsDelete (line 41) | ReasonNeedsDelete = "reason.needs_delete" FILE: internal/base/constant/revision.go type ReviewingType (line 22) | type ReviewingType constant QueuedPost (line 25) | QueuedPost ReviewingType = "queued_post" constant QueuedUser (line 26) | QueuedUser ReviewingType = "queued_user" constant FlaggedPost (line 27) | FlaggedPost ReviewingType = "flagged_post" constant FlaggedUser (line 28) | FlaggedUser ReviewingType = "flagged_user" constant SuggestedPostEdit (line 29) | SuggestedPostEdit ReviewingType = "suggested_post_edit" constant ReportOperationEditPost (line 33) | ReportOperationEditPost = "edit_post" constant ReportOperationClosePost (line 34) | ReportOperationClosePost = "close_post" constant ReportOperationDeletePost (line 35) | ReportOperationDeletePost = "delete_post" constant ReportOperationUnlistPost (line 36) | ReportOperationUnlistPost = "unlist_post" constant ReportOperationIgnoreReport (line 37) | ReportOperationIgnoreReport = "ignore_report" constant ReviewQueuedPostLabel (line 41) | ReviewQueuedPostLabel = "review.queued_post" constant ReviewFlaggedPostLabel (line 42) | ReviewFlaggedPostLabel = "review.flagged_post" constant ReviewSuggestedPostEditLabel (line 43) | ReviewSuggestedPostEditLabel = "review.suggested_post_edit" FILE: internal/base/constant/site_info.go constant DefaultGravatarBaseURL (line 23) | DefaultGravatarBaseURL = "https://www.gravatar.com/avatar/" constant DefaultAvatar (line 24) | DefaultAvatar = "system" constant AvatarTypeDefault (line 25) | AvatarTypeDefault = "default" constant AvatarTypeGravatar (line 26) | AvatarTypeGravatar = "gravatar" constant AvatarTypeCustom (line 27) | AvatarTypeCustom = "custom" constant PermalinkQuestionIDAndTitle (line 32) | PermalinkQuestionIDAndTitle = iota + 1 constant PermalinkQuestionID (line 34) | PermalinkQuestionID constant PermalinkQuestionIDAndTitleByShortID (line 36) | PermalinkQuestionIDAndTitleByShortID constant PermalinkQuestionIDByShortID (line 38) | PermalinkQuestionIDByShortID constant ColorSchemeDefault (line 42) | ColorSchemeDefault = "default" constant ColorSchemeLight (line 43) | ColorSchemeLight = "light" constant ColorSchemeDark (line 44) | ColorSchemeDark = "dark" constant ColorSchemeSystem (line 45) | ColorSchemeSystem = "system" constant ThemeLayoutFullWidth (line 47) | ThemeLayoutFullWidth = "Full-width" constant ThemeLayoutFixedWidth (line 48) | ThemeLayoutFixedWidth = "Fixed-width" constant EmailConfigKey (line 52) | EmailConfigKey = "email.config" constant DefaultMaxImageMegapixel (line 56) | DefaultMaxImageMegapixel = 40 * 1000 * 1000 constant DefaultMaxImageSize (line 57) | DefaultMaxImageSize = 4 * 1024 * 1024 constant DefaultMaxAttachmentSize (line 58) | DefaultMaxAttachmentSize = 8 * 1024 * 1024 FILE: internal/base/constant/site_type.go constant SiteTypeLegal (line 24) | SiteTypeLegal = "legal" constant SiteTypeInterface (line 25) | SiteTypeInterface = "interface" constant SiteTypeWrite (line 26) | SiteTypeWrite = "write" constant SiteTypeGeneral (line 28) | SiteTypeGeneral = "general" constant SiteTypeBranding (line 29) | SiteTypeBranding = "branding" constant SiteTypeSeo (line 30) | SiteTypeSeo = "seo" constant SiteTypeLogin (line 31) | SiteTypeLogin = "login" constant SiteTypeCustomCssHTML (line 32) | SiteTypeCustomCssHTML = "css-html" constant SiteTypeTheme (line 33) | SiteTypeTheme = "theme" constant SiteTypePrivileges (line 34) | SiteTypePrivileges = "privileges" constant SiteTypeUsers (line 35) | SiteTypeUsers = "users" constant SiteTypeAdvanced (line 37) | SiteTypeAdvanced = "advanced" constant SiteTypeQuestions (line 38) | SiteTypeQuestions = "questions" constant SiteTypeTags (line 39) | SiteTypeTags = "tags" constant SiteTypeUsersSettings (line 41) | SiteTypeUsersSettings = "users_settings" constant SiteTypeInterfaceSettings (line 42) | SiteTypeInterfaceSettings = "interface_settings" constant SiteTypePolicies (line 44) | SiteTypePolicies = "policies" constant SiteTypeSecurity (line 45) | SiteTypeSecurity = "security" constant SiteTypeAI (line 46) | SiteTypeAI = "ai" constant SiteTypeFeatureToggle (line 47) | SiteTypeFeatureToggle = "feature-toggle" constant SiteTypeMCP (line 48) | SiteTypeMCP = "mcp" FILE: internal/base/constant/upload.go constant AvatarSubPath (line 23) | AvatarSubPath = "avatar" constant AvatarThumbSubPath (line 24) | AvatarThumbSubPath = "avatar_thumb" constant PostSubPath (line 25) | PostSubPath = "post" constant BrandingSubPath (line 26) | BrandingSubPath = "branding" constant FilesPostSubPath (line 27) | FilesPostSubPath = "files/post" constant DeletedSubPath (line 28) | DeletedSubPath = "deleted" FILE: internal/base/constant/user.go constant UserNormal (line 23) | UserNormal = "normal" constant UserSuspended (line 24) | UserSuspended = "suspended" constant UserDeleted (line 25) | UserDeleted = "deleted" constant UserInactive (line 26) | UserInactive = "inactive" constant EmailStatusAvailable (line 29) | EmailStatusAvailable = 1 constant EmailStatusToBeVerified (line 30) | EmailStatusToBeVerified = 2 constant DeletePermanentlyUsers (line 34) | DeletePermanentlyUsers = "users" constant DeletePermanentlyQuestions (line 35) | DeletePermanentlyQuestions = "questions" constant DeletePermanentlyAnswers (line 36) | DeletePermanentlyAnswers = "answers" function ConvertUserStatus (line 39) | func ConvertUserStatus(status, mailStatus int) string { FILE: internal/base/cron/cron.go type ScheduledTaskManager (line 36) | type ScheduledTaskManager struct method Run (line 62) | func (s *ScheduledTaskManager) Run() { function NewScheduledTaskManager (line 45) | func NewScheduledTaskManager( FILE: internal/base/data/config.go type Database (line 23) | type Database struct type CacheConf (line 32) | type CacheConf struct FILE: internal/base/data/data.go type Data (line 41) | type Data struct function NewData (line 47) | func NewData(db *xorm.Engine, cache cache.Cache) (*Data, func(), error) { function NewDB (line 56) | func NewDB(debug bool, dataConf *Database) (*xorm.Engine, error) { function NewCache (line 98) | func NewCache(c *CacheConf) (cache.Cache, func(), error) { FILE: internal/base/handler/handler.go function HandleResponse (line 34) | func HandleResponse(ctx *gin.Context, err error, data any) { function BindAndCheck (line 64) | func BindAndCheck(ctx *gin.Context, data any) bool { function BindAndCheckReturnErr (line 81) | func BindAndCheckReturnErr(ctx *gin.Context, data any) (errFields []*val... FILE: internal/base/handler/lang.go function GetLangByCtx (line 31) | func GetLangByCtx(ctx context.Context) i18n.Language { FILE: internal/base/handler/response.go type RespBody (line 29) | type RespBody struct method TrMsg (line 41) | func (r *RespBody) TrMsg(lang i18n.Language) *RespBody { function NewRespBody (line 49) | func NewRespBody(code int, reason string) *RespBody { function NewRespBodyFromError (line 57) | func NewRespBodyFromError(e *errors.Error) *RespBody { function NewRespBodyData (line 66) | func NewRespBodyData(code int, reason string, data any) *RespBody { FILE: internal/base/handler/short_id.go function GetEnableShortID (line 29) | func GetEnableShortID(ctx context.Context) bool { FILE: internal/base/middleware/accept_language.go function ExtractAndSetAcceptLanguage (line 33) | func ExtractAndSetAcceptLanguage(ctx *gin.Context) { FILE: internal/base/middleware/api_key_auth.go method AuthAPIKey (line 30) | func (am *AuthUserMiddleware) AuthAPIKey() gin.HandlerFunc { FILE: internal/base/middleware/auth.go type AuthUserMiddleware (line 44) | type AuthUserMiddleware struct method Auth (line 60) | func (am *AuthUserMiddleware) Auth() gin.HandlerFunc { method EjectUserBySiteInfo (line 80) | func (am *AuthUserMiddleware) EjectUserBySiteInfo() gin.HandlerFunc { method MustAuthWithoutAccountAvailable (line 111) | func (am *AuthUserMiddleware) MustAuthWithoutAccountAvailable() gin.Ha... method MustAuthAndAccountAvailable (line 136) | func (am *AuthUserMiddleware) MustAuthAndAccountAvailable() gin.Handle... method AdminAuth (line 172) | func (am *AuthUserMiddleware) AdminAuth() gin.HandlerFunc { method CheckPrivateMode (line 198) | func (am *AuthUserMiddleware) CheckPrivateMode() gin.HandlerFunc { function NewAuthUserMiddleware (line 50) | func NewAuthUserMiddleware( function ShowIndexPage (line 214) | func ShowIndexPage(ctx *gin.Context) { function GetLoginUserIDFromContext (line 227) | func GetLoginUserIDFromContext(ctx *gin.Context) (userID string) { function GetIsAdminFromContext (line 236) | func GetIsAdminFromContext(ctx *gin.Context) (isAdmin bool) { function GetUserInfoFromContext (line 245) | func GetUserInfoFromContext(ctx *gin.Context) (u *entity.UserCacheInfo) { function GetUserIsAdminModerator (line 257) | func GetUserIsAdminModerator(ctx *gin.Context) (isAdminModerator bool) { function GetLoginUserIDInt64FromContext (line 272) | func GetLoginUserIDInt64FromContext(ctx *gin.Context) (userID int64) { function ExtractToken (line 278) | func ExtractToken(ctx *gin.Context) (token string) { FILE: internal/base/middleware/avatar.go type AvatarMiddleware (line 38) | type AvatarMiddleware struct method AvatarThumb (line 53) | func (am *AvatarMiddleware) AvatarThumb() gin.HandlerFunc { function NewAvatarMiddleware (line 44) | func NewAvatarMiddleware(serviceConfig *service_config.ServiceConfig, FILE: internal/base/middleware/header.go function HeadersByRequestURI (line 28) | func HeadersByRequestURI() gin.HandlerFunc { FILE: internal/base/middleware/mcp_auth.go method AuthMcpEnable (line 31) | func (am *AuthUserMiddleware) AuthMcpEnable() gin.HandlerFunc { FILE: internal/base/middleware/rate_limit.go type RateLimitMiddleware (line 35) | type RateLimitMiddleware struct method DuplicateRequestRejection (line 48) | func (rm *RateLimitMiddleware) DuplicateRequestRejection(ctx *gin.Cont... method DuplicateRequestClear (line 68) | func (rm *RateLimitMiddleware) DuplicateRequestClear(ctx *gin.Context,... function NewRateLimitMiddleware (line 40) | func NewRateLimitMiddleware(limitRepo *limit.LimitRepo) *RateLimitMiddle... FILE: internal/base/middleware/short_id.go type ShortIDMiddleware (line 29) | type ShortIDMiddleware struct method SetShortIDFlag (line 39) | func (sm *ShortIDMiddleware) SetShortIDFlag() gin.HandlerFunc { function NewShortIDMiddleware (line 33) | func NewShortIDMiddleware(siteInfoService siteinfo_common.SiteInfoCommon... FILE: internal/base/middleware/user_center_plugin_auth.go function BanAPIForUserCenter (line 31) | func BanAPIForUserCenter(ctx *gin.Context) { FILE: internal/base/middleware/visit_img_auth.go method VisitAuth (line 32) | func (am *AuthUserMiddleware) VisitAuth() gin.HandlerFunc { FILE: internal/base/pager/pager.go function Help (line 30) | func Help(page, pageSize int, rowsSlicePtr any, rowElement any, session ... FILE: internal/base/pager/pagination.go type PageModel (line 27) | type PageModel struct type PageCond (line 33) | type PageCond struct function NewPageModel (line 39) | func NewPageModel(totalRecords int64, records any) *PageModel { function ValPageAndPageSize (line 56) | func ValPageAndPageSize(page, pageSize int) (int, int) { function ValPageOutOfRange (line 67) | func ValPageOutOfRange(total int64, page, pageSize int) bool { FILE: internal/base/path/path.go constant DefaultConfigFileName (line 28) | DefaultConfigFileName = "config.yaml" constant DefaultCacheFileName (line 29) | DefaultCacheFileName = "cache.db" constant DefaultReservedUsernamesConfigFileName (line 30) | DefaultReservedUsernamesConfigFileName = "reserved-usernames.json" function FormatAllPath (line 41) | func FormatAllPath(dataDirPath string) { function GetConfigFilePath (line 51) | func GetConfigFilePath() string { FILE: internal/base/queue/queue.go type Service (line 29) | type Service interface type Queue (line 42) | type Queue struct function New (line 52) | func New[T any](name string, bufferSize int) *Queue[T] { method Send (line 63) | func (q *Queue[T]) Send(ctx context.Context, msg T) { method RegisterHandler (line 82) | func (q *Queue[T]) RegisterHandler(handler func(ctx context.Context, msg... method Close (line 89) | func (q *Queue[T]) Close() { method startWorker (line 104) | func (q *Queue[T]) startWorker() { method processMessage (line 115) | func (q *Queue[T]) processMessage(msg T) { FILE: internal/base/queue/queue_test.go type testMessage (line 31) | type testMessage struct function TestQueue_SendAndReceive (line 36) | func TestQueue_SendAndReceive(t *testing.T) { function TestQueue_MultipleMessages (line 59) | func TestQueue_MultipleMessages(t *testing.T) { function TestQueue_NoHandlerDropsMessage (line 94) | func TestQueue_NoHandlerDropsMessage(t *testing.T) { function TestQueue_RegisterHandlerAfterSend (line 105) | func TestQueue_RegisterHandlerAfterSend(t *testing.T) { function TestQueue_Close (line 135) | func TestQueue_Close(t *testing.T) { function TestQueue_ConcurrentSend (line 161) | func TestQueue_ConcurrentSend(t *testing.T) { function TestQueue_ConcurrentRegisterHandler (line 196) | func TestQueue_ConcurrentRegisterHandler(t *testing.T) { function TestQueue_SendCloseRace (line 218) | func TestQueue_SendCloseRace(t *testing.T) { FILE: internal/base/reason/privilege.go constant PrivilegeLevel1Desc (line 23) | PrivilegeLevel1Desc = "privilege.level_1.description" constant PrivilegeLevel2Desc (line 24) | PrivilegeLevel2Desc = "privilege.level_2.description" constant PrivilegeLevel3Desc (line 25) | PrivilegeLevel3Desc = "privilege.level_3.description" constant PrivilegeLevelCustomDesc (line 26) | PrivilegeLevelCustomDesc = "privilege.level_custom.description" constant RankQuestionAddLabel (line 28) | RankQuestionAddLabel = "privilege.rank_question_add_label" constant RankAnswerAddLabel (line 29) | RankAnswerAddLabel = "privilege.rank_answer_add_label" constant RankCommentAddLabel (line 30) | RankCommentAddLabel = "privilege.rank_comment_add_label" constant RankReportAddLabel (line 31) | RankReportAddLabel = "privilege.rank_report_add_label" constant RankCommentVoteUpLabel (line 32) | RankCommentVoteUpLabel = "privilege.rank_comment_vote_up_label" constant RankLinkUrlLimitLabel (line 33) | RankLinkUrlLimitLabel = "privilege.rank_link_url_limit_label" constant RankQuestionVoteUpLabel (line 34) | RankQuestionVoteUpLabel = "privilege.rank_question_vote_up_la... constant RankAnswerVoteUpLabel (line 35) | RankAnswerVoteUpLabel = "privilege.rank_answer_vote_up_label" constant RankQuestionVoteDownLabel (line 36) | RankQuestionVoteDownLabel = "privilege.rank_question_vote_down_... constant RankAnswerVoteDownLabel (line 37) | RankAnswerVoteDownLabel = "privilege.rank_answer_vote_down_la... constant RankInviteSomeoneToAnswerLabel (line 38) | RankInviteSomeoneToAnswerLabel = "privilege.rank_invite_someone_to_a... constant RankTagAddLabel (line 39) | RankTagAddLabel = "privilege.rank_tag_add_label" constant RankTagEditLabel (line 40) | RankTagEditLabel = "privilege.rank_tag_edit_label" constant RankQuestionEditLabel (line 41) | RankQuestionEditLabel = "privilege.rank_question_edit_label" constant RankAnswerEditLabel (line 42) | RankAnswerEditLabel = "privilege.rank_answer_edit_label" constant RankQuestionEditWithoutReviewLabel (line 43) | RankQuestionEditWithoutReviewLabel = "privilege.rank_question_edit_witho... constant RankAnswerEditWithoutReviewLabel (line 44) | RankAnswerEditWithoutReviewLabel = "privilege.rank_answer_edit_without... constant RankQuestionAuditLabel (line 45) | RankQuestionAuditLabel = "privilege.rank_question_audit_label" constant RankAnswerAuditLabel (line 46) | RankAnswerAuditLabel = "privilege.rank_answer_audit_label" constant RankTagAuditLabel (line 47) | RankTagAuditLabel = "privilege.rank_tag_audit_label" constant RankTagEditWithoutReviewLabel (line 48) | RankTagEditWithoutReviewLabel = "privilege.rank_tag_edit_without_re... constant RankTagSynonymLabel (line 49) | RankTagSynonymLabel = "privilege.rank_tag_synonym_label" FILE: internal/base/reason/reason.go constant Success (line 24) | Success = "base.success" constant UnknownError (line 26) | UnknownError = "base.unknown" constant RequestFormatError (line 28) | RequestFormatError = "base.request_format_error" constant UnauthorizedError (line 30) | UnauthorizedError = "base.unauthorized_error" constant DatabaseError (line 32) | DatabaseError = "base.database_error" constant ForbiddenError (line 34) | ForbiddenError = "base.forbidden_error" constant DuplicateRequestError (line 36) | DuplicateRequestError = "base.duplicate_request_error" constant EmailOrPasswordWrong (line 40) | EmailOrPasswordWrong = "error.object.email_or_password_incor... constant CommentNotFound (line 41) | CommentNotFound = "error.comment.not_found" constant CommentCannotEditAfterDeadline (line 42) | CommentCannotEditAfterDeadline = "error.comment.cannot_edit_after_dead... constant QuestionNotFound (line 43) | QuestionNotFound = "error.question.not_found" constant QuestionCannotDeleted (line 44) | QuestionCannotDeleted = "error.question.cannot_deleted" constant QuestionCannotClose (line 45) | QuestionCannotClose = "error.question.cannot_close" constant QuestionCannotUpdate (line 46) | QuestionCannotUpdate = "error.question.cannot_update" constant QuestionAlreadyDeleted (line 47) | QuestionAlreadyDeleted = "error.question.already_deleted" constant QuestionUnderReview (line 48) | QuestionUnderReview = "error.question.under_review" constant QuestionContentCannotEmpty (line 49) | QuestionContentCannotEmpty = "error.question.content_cannot_empty" constant QuestionContentLessThanMinimum (line 50) | QuestionContentLessThanMinimum = "error.question.content_less_than_min... constant AnswerNotFound (line 51) | AnswerNotFound = "error.answer.not_found" constant AnswerCannotDeleted (line 52) | AnswerCannotDeleted = "error.answer.cannot_deleted" constant AnswerCannotUpdate (line 53) | AnswerCannotUpdate = "error.answer.cannot_update" constant AnswerCannotAddByClosedQuestion (line 54) | AnswerCannotAddByClosedQuestion = "error.answer.question_closed_cannot_... constant AnswerRestrictAnswer (line 55) | AnswerRestrictAnswer = "error.answer.restrict_answer" constant AnswerContentCannotEmpty (line 56) | AnswerContentCannotEmpty = "error.answer.content_cannot_empty" constant CommentEditWithoutPermission (line 57) | CommentEditWithoutPermission = "error.comment.edit_without_permission" constant CommentContentCannotEmpty (line 58) | CommentContentCannotEmpty = "error.comment.content_cannot_empty" constant DisallowVote (line 59) | DisallowVote = "error.object.disallow_vote" constant DisallowFollow (line 60) | DisallowFollow = "error.object.disallow_follow" constant DisallowVoteYourSelf (line 61) | DisallowVoteYourSelf = "error.object.disallow_vote_your_self" constant CaptchaVerificationFailed (line 62) | CaptchaVerificationFailed = "error.object.captcha_verification_fa... constant OldPasswordVerificationFailed (line 63) | OldPasswordVerificationFailed = "error.object.old_password_verificati... constant NewPasswordSameAsPreviousSetting (line 64) | NewPasswordSameAsPreviousSetting = "error.object.new_password_same_as_pr... constant NewObjectAlreadyDeleted (line 65) | NewObjectAlreadyDeleted = "error.object.already_deleted" constant UserNotFound (line 66) | UserNotFound = "error.user.not_found" constant UsernameInvalid (line 67) | UsernameInvalid = "error.user.username_invalid" constant UsernameDuplicate (line 68) | UsernameDuplicate = "error.user.username_duplicate" constant UserSetAvatar (line 69) | UserSetAvatar = "error.user.set_avatar" constant EmailDuplicate (line 70) | EmailDuplicate = "error.email.duplicate" constant EmailVerifyURLExpired (line 71) | EmailVerifyURLExpired = "error.email.verify_url_expired" constant EmailNeedToBeVerified (line 72) | EmailNeedToBeVerified = "error.email.need_to_be_verified" constant EmailIllegalDomainError (line 73) | EmailIllegalDomainError = "error.email.illegal_email_domain_error" constant UserSuspended (line 74) | UserSuspended = "error.user.suspended" constant ObjectNotFound (line 75) | ObjectNotFound = "error.object.not_found" constant TagNotFound (line 76) | TagNotFound = "error.tag.not_found" constant TagNotContainSynonym (line 77) | TagNotContainSynonym = "error.tag.not_contain_synonym_tags" constant TagCannotUpdate (line 78) | TagCannotUpdate = "error.tag.cannot_update" constant TagIsUsedCannotDelete (line 79) | TagIsUsedCannotDelete = "error.tag.is_used_cannot_delete" constant TagAlreadyExist (line 80) | TagAlreadyExist = "error.tag.already_exist" constant TagMinCount (line 81) | TagMinCount = "error.tag.minimum_count" constant RankFailToMeetTheCondition (line 82) | RankFailToMeetTheCondition = "error.rank.fail_to_meet_the_condition" constant VoteRankFailToMeetTheCondition (line 83) | VoteRankFailToMeetTheCondition = "error.rank.vote_fail_to_meet_the_con... constant NoEnoughRankToOperate (line 84) | NoEnoughRankToOperate = "error.rank.no_enough_rank_to_operate" constant ThemeNotFound (line 85) | ThemeNotFound = "error.theme.not_found" constant LangNotFound (line 86) | LangNotFound = "error.lang.not_found" constant ReportHandleFailed (line 87) | ReportHandleFailed = "error.report.handle_failed" constant ReportNotFound (line 88) | ReportNotFound = "error.report.not_found" constant ReadConfigFailed (line 89) | ReadConfigFailed = "error.config.read_config_failed" constant DatabaseConnectionFailed (line 90) | DatabaseConnectionFailed = "error.database.connection_failed" constant InstallCreateTableFailed (line 91) | InstallCreateTableFailed = "error.database.create_table_failed" constant InstallConfigFailed (line 92) | InstallConfigFailed = "error.install.create_config_failed" constant SiteInfoConfigNotFound (line 93) | SiteInfoConfigNotFound = "error.site_info.config_not_found" constant UploadFileSourceUnsupported (line 94) | UploadFileSourceUnsupported = "error.upload.source_unsupported" constant UploadFileUnsupportedFileFormat (line 95) | UploadFileUnsupportedFileFormat = "error.upload.unsupported_file_format" constant RecommendTagNotExist (line 96) | RecommendTagNotExist = "error.tag.recommend_tag_not_found" constant RecommendTagEnter (line 97) | RecommendTagEnter = "error.tag.recommend_tag_enter" constant RevisionReviewUnderway (line 98) | RevisionReviewUnderway = "error.revision.review_underway" constant RevisionNoPermission (line 99) | RevisionNoPermission = "error.revision.no_permission" constant UserCannotUpdateYourRole (line 100) | UserCannotUpdateYourRole = "error.user.cannot_update_your_role" constant TagCannotSetSynonymAsItself (line 101) | TagCannotSetSynonymAsItself = "error.tag.cannot_set_synonym_as_itself" constant NotAllowedRegistration (line 102) | NotAllowedRegistration = "error.user.not_allowed_registration" constant NotAllowedLoginViaPassword (line 103) | NotAllowedLoginViaPassword = "error.user.not_allowed_login_via_pas... constant SMTPConfigFromNameCannotBeEmail (line 104) | SMTPConfigFromNameCannotBeEmail = "error.smtp.config_from_name_cannot_b... constant AdminCannotUpdateTheirPassword (line 105) | AdminCannotUpdateTheirPassword = "error.admin.cannot_update_their_pass... constant AdminCannotEditTheirProfile (line 106) | AdminCannotEditTheirProfile = "error.admin.cannot_edit_their_profile" constant AdminCannotModifySelfStatus (line 107) | AdminCannotModifySelfStatus = "error.admin.cannot_modify_self_status" constant UserAccessDenied (line 108) | UserAccessDenied = "error.user.access_denied" constant UserPageAccessDenied (line 109) | UserPageAccessDenied = "error.user.page_access_denied" constant AddBulkUsersFormatError (line 110) | AddBulkUsersFormatError = "error.user.add_bulk_users_format_error" constant AddBulkUsersAmountError (line 111) | AddBulkUsersAmountError = "error.user.add_bulk_users_amount_error" constant InvalidURLError (line 112) | InvalidURLError = "error.common.invalid_url" constant MetaObjectNotFound (line 113) | MetaObjectNotFound = "error.meta.object_not_found" constant BadgeObjectNotFound (line 114) | BadgeObjectNotFound = "error.badge.object_not_found" constant StatusInvalid (line 115) | StatusInvalid = "error.common.status_invalid" constant UserStatusInactive (line 116) | UserStatusInactive = "error.user.status_inactive" constant UserStatusSuspendedForever (line 117) | UserStatusSuspendedForever = "error.user.status_suspended_forever" constant UserStatusSuspendedUntil (line 118) | UserStatusSuspendedUntil = "error.user.status_suspended_until" constant UserStatusDeleted (line 119) | UserStatusDeleted = "error.user.status_deleted" constant ErrFeatureDisabled (line 120) | ErrFeatureDisabled = "error.feature.disabled" constant UserExternalLoginUnbindingForbidden (line 125) | UserExternalLoginUnbindingForbidden = "error.user.external_login_unbindi... constant UserExternalLoginMissingUserID (line 126) | UserExternalLoginMissingUserID = "error.user.external_login_missing... FILE: internal/base/server/config.go type HTTP (line 23) | type HTTP struct type UI (line 28) | type UI struct FILE: internal/base/server/http.go function NewHTTPServer (line 37) | func NewHTTPServer(debug bool, FILE: internal/base/server/http_funcmap.go function FormatLinkNofollow (line 140) | func FormatLinkNofollow(html string) string { FILE: internal/base/translator/config.go type I18n (line 23) | type I18n struct FILE: internal/base/translator/provider.go type LangOption (line 41) | type LangOption struct constant DefaultLangOption (line 49) | DefaultLangOption = "Default" function NewTranslator (line 57) | func NewTranslator(c *I18n) (tr i18n.Translator, err error) { function CheckLanguageIsValid (line 131) | func CheckLanguageIsValid(lang string) bool { function Tr (line 144) | func Tr(lang i18n.Language, data string) string { function TrWithData (line 156) | func TrWithData(lang i18n.Language, key string, templateData any) string { function reportTranslatorFormatError (line 169) | func reportTranslatorFormatError(fileName string, content []byte) { function inspectTranslatorNode (line 180) | func inspectTranslatorNode(node any, path []string, isRoot bool) error { function isMessageMap (line 270) | func isMessageMap(data any) bool { function formatTranslationPath (line 306) | func formatTranslationPath(path []string) string { FILE: internal/base/validator/validator.go type TranslatorLocal (line 62) | type TranslatorLocal struct type MyValidator (line 86) | type MyValidator struct method Check (line 190) | func (m *MyValidator) Check(value any) (errFields []*FormErrorField, e... type FormErrorField (line 93) | type FormErrorField struct function init (line 101) | func init() { function getTran (line 113) | func getTran(lo locales.Translator) ut.Translator { function NotBlank (line 121) | func NotBlank(fl validator.FieldLevel) (res bool) { function Sanitizer (line 140) | func Sanitizer(fl validator.FieldLevel) (res bool) { function createDefaultValidator (line 157) | func createDefaultValidator(la i18n.Language) *validator.Validate { function GetValidatorByLang (line 182) | func GetValidatorByLang(lang i18n.Language) *MyValidator { type Checker (line 260) | type Checker interface function getObjectTagByFieldName (line 264) | func getObjectTagByFieldName(obj any, fieldName string) (tag string) { FILE: internal/cli/build.go constant mainGoTpl (line 42) | mainGoTpl = `package main constant goModTpl (line 62) | goModTpl = `module answer type answerBuilder (line 68) | type answerBuilder struct method DoTask (line 115) | func (a *answerBuilder) DoTask(task func(b *buildingMaterial) error) { type buildingMaterial (line 73) | type buildingMaterial struct method newExecCmd (line 513) | func (b *buildingMaterial) newExecCmd(command string, args ...string) ... type OriginalAnswerInfo (line 81) | type OriginalAnswerInfo struct type pluginInfo (line 87) | type pluginInfo struct function newAnswerBuilder (line 96) | func newAnswerBuilder(buildDir, outputPath string, plugins []string, ori... function BuildNewAnswer (line 123) | func BuildNewAnswer(buildDir, outputPath string, plugins []string, origi... function formatPlugins (line 136) | func formatPlugins(plugins []string) (formatted []*pluginInfo) { function createMainGoFile (line 149) | func createMainGoFile(b *buildingMaterial) (err error) { function downloadGoModFile (line 202) | func downloadGoModFile(b *buildingMaterial) (err error) { function movePluginToVendor (line 226) | func movePluginToVendor(b *buildingMaterial) (err error) { function copyUIFiles (line 243) | func copyUIFiles(b *buildingMaterial) (err error) { function buildUI (line 303) | func buildUI(b *buildingMaterial) (err error) { function mergeI18nFiles (line 321) | func mergeI18nFiles(b *buildingMaterial) (err error) { function copyDirEntries (line 408) | func copyDirEntries(sourceFs fs.FS, sourceDir, targetDir string, ignoreD... function formatUIPluginsDirName (line 475) | func formatUIPluginsDirName(dirPath string) { function buildBinary (line 495) | func buildBinary(b *buildingMaterial) (err error) { function cleanByproduct (line 509) | func cleanByproduct(b *buildingMaterial) (err error) { function versionedModulePath (line 522) | func versionedModulePath(modulePath, moduleVersion string) string { FILE: internal/cli/config.go type ConfigField (line 33) | type ConfigField struct function SetDefaultConfig (line 40) | func SetDefaultConfig(dbConf *data.Database, cacheConf *data.CacheConf, ... function defaultLoginConfig (line 70) | func defaultLoginConfig(x *xorm.Engine) (err error) { function deactivatePlugin (line 94) | func deactivatePlugin(x *xorm.Engine, pluginSlugName string) (err error) { FILE: internal/cli/dump.go function DumpAllData (line 32) | func DumpAllData(dataConf *data.Database, dumpDataPath string) error { FILE: internal/cli/i18n.go type YamlPluginContent (line 34) | type YamlPluginContent struct function ReplaceI18nFilesLocal (line 39) | func ReplaceI18nFilesLocal(i18nDir string) error { function MergeI18nFilesLocal (line 71) | func MergeI18nFilesLocal(originalI18nDir, targetI18nDir string) (err err... function findI18nFileInDir (line 118) | func findI18nFileInDir(pluginAllTranslations map[string]*YamlPluginConte... FILE: internal/cli/install.go function InstallAllInitialEnvironment (line 35) | func InstallAllInitialEnvironment(dataDirPath string) { function InstallConfigFile (line 42) | func InstallConfigFile(configFilePath string) error { function installUploadDir (line 68) | func installUploadDir() { function InstallI18nBundle (line 77) | func InstallI18nBundle(replace bool) { FILE: internal/cli/install_check.go function CheckConfigFile (line 31) | func CheckConfigFile(configPath string) bool { function CheckUploadDir (line 35) | func CheckUploadDir() bool { function CheckDBConnection (line 40) | func CheckDBConnection(dataConf *data.Database) bool { function CheckDBTableExist (line 58) | func CheckDBTableExist(dataConf *data.Database) bool { FILE: internal/cli/reset_password.go constant charsetLower (line 49) | charsetLower = "abcdefghijklmnopqrstuvwxyz" constant charsetUpper (line 50) | charsetUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" constant charsetDigits (line 51) | charsetDigits = "0123456789" constant charsetSpecial (line 52) | charsetSpecial = "!@#$%^&*~?_-" constant maxRetries (line 53) | maxRetries = 10 constant defaultRandomPasswordLength (line 54) | defaultRandomPasswordLength = 12 type ResetPasswordOptions (line 64) | type ResetPasswordOptions struct function ResetPassword (line 69) | func ResetPassword(ctx context.Context, dataDirPath string, opts *ResetP... function promptForPassword (line 160) | func promptForPassword() (string, error) { function generateRandomPasswordWithRetry (line 197) | func generateRandomPasswordWithRetry() (string, error) { function getPasswordInput (line 217) | func getPasswordInput(prompt string) (string, error) { function generateRandomPassword (line 227) | func generateRandomPassword(length int) (string, error) { function initDatabase (line 261) | func initDatabase(driver, connection string) (*xorm.Engine, error) { function printWarning (line 275) | func printWarning(msg string) { function confirmAction (line 283) | func confirmAction(prompt string) bool { FILE: internal/controller/activity_controller.go type ActivityController (line 32) | type ActivityController struct method GetObjectTimeline (line 53) | func (ac *ActivityController) GetObjectTimeline(ctx *gin.Context) { method GetObjectTimelineDetail (line 77) | func (ac *ActivityController) GetObjectTimelineDetail(ctx *gin.Context) { function NewActivityController (line 37) | func NewActivityController( FILE: internal/controller/ai_controller.go type AIController (line 54) | type AIController struct method ensureAIChatEnabled (line 94) | func (c *AIController) ensureAIChatEnabled(ctx *gin.Context) bool { method ChatCompletions (line 189) | func (c *AIController) ChatCompletions(ctx *gin.Context) { method redirectRequestToAI (line 271) | func (c *AIController) redirectRequestToAI(ctx *gin.Context, w http.Re... method createOpenAIClient (line 278) | func (c *AIController) createOpenAIClient() *openai.Client { method getPromptByLanguage (line 304) | func (c *AIController) getPromptByLanguage(language i18n.Language, que... method getDefaultPrompt (line 330) | func (c *AIController) getDefaultPrompt(language i18n.Language, questi... method initializeConversationContext (line 342) | func (c *AIController) initializeConversationContext(ctx *gin.Context,... method buildInitialMessages (line 384) | func (c *AIController) buildInitialMessages(ctx *gin.Context, req *Cha... method saveConversationRecord (line 407) | func (c *AIController) saveConversationRecord(ctx context.Context, cha... method handleAIConversation (line 432) | func (c *AIController) handleAIConversation(ctx *gin.Context, w http.R... method processAIStream (line 471) | func (c *AIController) processAIStream( method executeToolCalls (line 587) | func (c *AIController) executeToolCalls(ctx *gin.Context, _ http.Respo... method sendErrorResponse (line 648) | func (c *AIController) sendErrorResponse(w http.ResponseWriter, id, mo... method getMCPTools (line 668) | func (c *AIController) getMCPTools() []openai.Tool { method convertMCPToolToOpenAI (line 679) | func (c *AIController) convertMCPToolToOpenAI(mcpTool mcp.Tool) openai... method callMCPTool (line 707) | func (c *AIController) callMCPTool(ctx context.Context, toolName strin... function NewAIController (line 68) | func NewAIController( type ChatCompletionsRequest (line 105) | type ChatCompletionsRequest struct type Message (line 111) | type Message struct type ChatCompletionsResponse (line 116) | type ChatCompletionsResponse struct type StreamResponse (line 125) | type StreamResponse struct type Choice (line 133) | type Choice struct type StreamChoice (line 139) | type StreamChoice struct type Delta (line 145) | type Delta struct type Usage (line 150) | type Usage struct type ConversationContext (line 156) | type ConversationContext struct method GetOpenAIMessages (line 165) | func (c *ConversationContext) GetOpenAIMessages() []openai.ChatComplet... function sendStreamData (line 177) | func sendStreamData(w http.ResponseWriter, data StreamResponse) { FILE: internal/controller/ai_conversation_controller.go type AIConversationController (line 32) | type AIConversationController struct method ensureEnabled (line 48) | func (ctrl *AIConversationController) ensureEnabled(ctx *gin.Context) ... method GetConversationList (line 69) | func (ctrl *AIConversationController) GetConversationList(ctx *gin.Con... method GetConversationDetail (line 93) | func (ctrl *AIConversationController) GetConversationDetail(ctx *gin.C... method VoteRecord (line 117) | func (ctrl *AIConversationController) VoteRecord(ctx *gin.Context) { function NewAIConversationController (line 38) | func NewAIConversationController( FILE: internal/controller/answer_controller.go type AnswerController (line 44) | type AnswerController struct method RemoveAnswer (line 79) | func (ac *AnswerController) RemoveAnswer(ctx *gin.Context) { method RecoverAnswer (line 130) | func (ac *AnswerController) RecoverAnswer(ctx *gin.Context) { method GetAnswerInfo (line 163) | func (ac *AnswerController) GetAnswerInfo(ctx *gin.Context) { method AddAnswer (line 193) | func (ac *AnswerController) AddAnswer(ctx *gin.Context) { method UpdateAnswer (line 305) | func (ac *AnswerController) UpdateAnswer(ctx *gin.Context) { method AnswerList (line 371) | func (ac *AnswerController) AnswerList(ctx *gin.Context) { method AcceptAnswer (line 414) | func (ac *AnswerController) AcceptAnswer(ctx *gin.Context) { method AdminUpdateAnswerStatus (line 447) | func (ac *AnswerController) AdminUpdateAnswerStatus(ctx *gin.Context) { function NewAnswerController (line 53) | func NewAnswerController( FILE: internal/controller/badge_controller.go type BadgeController (line 32) | type BadgeController struct method GetBadgeList (line 54) | func (b *BadgeController) GetBadgeList(ctx *gin.Context) { method GetBadgeInfo (line 69) | func (b *BadgeController) GetBadgeInfo(ctx *gin.Context) { method GetBadgeAwardList (line 90) | func (b *BadgeController) GetBadgeAwardList(ctx *gin.Context) { method GetAllBadgeAwardListByUsername (line 114) | func (b *BadgeController) GetAllBadgeAwardListByUsername(ctx *gin.Cont... method GetRecentBadgeAwardListByUsername (line 138) | func (b *BadgeController) GetRecentBadgeAwardListByUsername(ctx *gin.C... function NewBadgeController (line 37) | func NewBadgeController( FILE: internal/controller/collection_controller.go type CollectionController (line 32) | type CollectionController struct method CollectionSwitch (line 51) | func (cc *CollectionController) CollectionSwitch(ctx *gin.Context) { function NewCollectionController (line 37) | func NewCollectionController(collectionService *collection.CollectionSer... FILE: internal/controller/comment_controller.go type CommentController (line 42) | type CommentController struct method AddComment (line 74) | func (cc *CommentController) AddComment(ctx *gin.Context) { method RemoveComment (line 144) | func (cc *CommentController) RemoveComment(ctx *gin.Context) { method UpdateComment (line 190) | func (cc *CommentController) UpdateComment(ctx *gin.Context) { method GetCommentWithPage (line 243) | func (cc *CommentController) GetCommentWithPage(ctx *gin.Context) { method GetCommentPersonalWithPage (line 276) | func (cc *CommentController) GetCommentPersonalWithPage(ctx *gin.Conte... method GetComment (line 296) | func (cc *CommentController) GetComment(ctx *gin.Context) { function NewCommentController (line 50) | func NewCommentController( FILE: internal/controller/connector_controller.go constant commonRouterPrefix (line 38) | commonRouterPrefix = "/answer/api/v1" constant ConnectorLoginRouterPrefix (line 39) | ConnectorLoginRouterPrefix = "/connector/login/" constant ConnectorRedirectRouterPrefix (line 40) | ConnectorRedirectRouterPrefix = "/connector/redirect/" type ConnectorController (line 44) | type ConnectorController struct method ConnectorLoginDispatcher (line 66) | func (cc *ConnectorController) ConnectorLoginDispatcher(ctx *gin.Conte... method ConnectorRedirectDispatcher (line 83) | func (cc *ConnectorController) ConnectorRedirectDispatcher(ctx *gin.Co... method ConnectorLogin (line 100) | func (cc *ConnectorController) ConnectorLogin(connector plugin.Connect... method ConnectorRedirect (line 118) | func (cc *ConnectorController) ConnectorRedirect(connector plugin.Conn... method ConnectorsInfo (line 172) | func (cc *ConnectorController) ConnectorsInfo(ctx *gin.Context) { method ExternalLoginBindingUserSendEmail (line 202) | func (cc *ConnectorController) ExternalLoginBindingUserSendEmail(ctx *... method ConnectorsUserInfo (line 220) | func (cc *ConnectorController) ConnectorsUserInfo(ctx *gin.Context) { method ExternalLoginUnbinding (line 266) | func (cc *ConnectorController) ExternalLoginUnbinding(ctx *gin.Context) { function NewConnectorController (line 51) | func NewConnectorController( FILE: internal/controller/dashboard_controller.go type DashboardController (line 28) | type DashboardController struct method DashboardInfo (line 50) | func (ac *DashboardController) DashboardInfo(ctx *gin.Context) { function NewDashboardController (line 33) | func NewDashboardController( FILE: internal/controller/embed_controller.go type EmbedController (line 28) | type EmbedController struct method GetEmbedConfig (line 43) | func (c *EmbedController) GetEmbedConfig(ctx *gin.Context) { function NewEmbedController (line 31) | func NewEmbedController() *EmbedController { FILE: internal/controller/follow_controller.go type FollowController (line 33) | type FollowController struct method Follow (line 52) | func (fc *FollowController) Follow(ctx *gin.Context) { method UpdateFollowTags (line 80) | func (fc *FollowController) UpdateFollowTags(ctx *gin.Context) { function NewFollowController (line 38) | func NewFollowController(followService *follow.FollowService) *FollowCon... FILE: internal/controller/lang_controller.go type LangController (line 32) | type LangController struct method GetLangMapping (line 50) | func (u *LangController) GetLangMapping(ctx *gin.Context) { method GetAdminLangOptions (line 65) | func (u *LangController) GetAdminLangOptions(ctx *gin.Context) { method GetUserLangOptions (line 76) | func (u *LangController) GetUserLangOptions(ctx *gin.Context) { function NewLangController (line 38) | func NewLangController(tr i18n.Translator, siteInfoService siteinfo_comm... FILE: internal/controller/mcp_controller.go type MCPController (line 43) | type MCPController struct method ensureMCPEnabled (line 77) | func (c *MCPController) ensureMCPEnabled(ctx context.Context) error { method MCPQuestionsHandler (line 84) | func (c *MCPController) MCPQuestionsHandler() func(ctx context.Context... method MCPQuestionDetailHandler (line 123) | func (c *MCPController) MCPQuestionDetailHandler() func(ctx context.Co... method MCPAnswersHandler (line 153) | func (c *MCPController) MCPAnswersHandler() func(ctx context.Context, ... method MCPCommentsHandler (line 206) | func (c *MCPController) MCPCommentsHandler() func(ctx context.Context,... method MCPTagsHandler (line 247) | func (c *MCPController) MCPTagsHandler() func(ctx context.Context, req... method MCPTagDetailsHandler (line 287) | func (c *MCPController) MCPTagDetailsHandler() func(ctx context.Contex... method MCPUserDetailsHandler (line 320) | func (c *MCPController) MCPUserDetailsHandler() func(ctx context.Conte... function NewMCPController (line 55) | func NewMCPController( FILE: internal/controller/meta_controller.go type MetaController (line 31) | type MetaController struct method AddOrUpdateReaction (line 53) | func (mc *MetaController) AddOrUpdateReaction(ctx *gin.Context) { method GetReaction (line 74) | func (mc *MetaController) GetReaction(ctx *gin.Context) { function NewMetaController (line 35) | func NewMetaController( FILE: internal/controller/notification_controller.go type NotificationController (line 33) | type NotificationController struct method GetRedDot (line 58) | func (nc *NotificationController) GetRedDot(ctx *gin.Context) { method ClearRedDot (line 89) | func (nc *NotificationController) ClearRedDot(ctx *gin.Context) { method ClearUnRead (line 122) | func (nc *NotificationController) ClearUnRead(ctx *gin.Context) { method ClearIDUnRead (line 142) | func (nc *NotificationController) ClearIDUnRead(ctx *gin.Context) { method GetList (line 165) | func (nc *NotificationController) GetList(ctx *gin.Context) { function NewNotificationController (line 39) | func NewNotificationController( FILE: internal/controller/permission_controller.go type PermissionController (line 30) | type PermissionController struct method GetPermission (line 49) | func (u *PermissionController) GetPermission(ctx *gin.Context) { function NewPermissionController (line 35) | func NewPermissionController(rankService *rank.RankService) *PermissionC... FILE: internal/controller/plugin_captcha_controller.go type CaptchaController (line 31) | type CaptchaController struct method GetCaptchaConfig (line 45) | func (uc *CaptchaController) GetCaptchaConfig(ctx *gin.Context) { function NewCaptchaController (line 35) | func NewCaptchaController() *CaptchaController { type GetCaptchaConfigResp (line 39) | type GetCaptchaConfigResp struct FILE: internal/controller/plugin_sidebar_controller.go type SidebarController (line 29) | type SidebarController struct method GetSidebarConfig (line 37) | func (uc *SidebarController) GetSidebarConfig(ctx *gin.Context) { function NewSidebarController (line 32) | func NewSidebarController() *SidebarController { FILE: internal/controller/plugin_user_center_controller.go constant UserCenterLoginRouter (line 37) | UserCenterLoginRouter = "/user-center/login/redirect" constant UserCenterSignUpRedirectRouter (line 38) | UserCenterSignUpRedirectRouter = "/user-center/sign-up/redirect" type UserCenterController (line 42) | type UserCenterController struct method UserCenterAgent (line 59) | func (uc *UserCenterController) UserCenterAgent(ctx *gin.Context) { method UserCenterPersonalBranding (line 102) | func (uc *UserCenterController) UserCenterPersonalBranding(ctx *gin.Co... method UserCenterLoginRedirect (line 112) | func (uc *UserCenterController) UserCenterLoginRedirect(ctx *gin.Conte... method UserCenterSignUpRedirect (line 122) | func (uc *UserCenterController) UserCenterSignUpRedirect(ctx *gin.Cont... method UserCenterLoginCallback (line 132) | func (uc *UserCenterController) UserCenterLoginCallback(ctx *gin.Conte... method UserCenterSignUpCallback (line 169) | func (uc *UserCenterController) UserCenterSignUpCallback(ctx *gin.Cont... method UserCenterUserSettings (line 205) | func (uc *UserCenterController) UserCenterUserSettings(ctx *gin.Contex... method UserCenterAdminFunctionAgent (line 212) | func (uc *UserCenterController) UserCenterAdminFunctionAgent(ctx *gin.... function NewUserCenterController (line 48) | func NewUserCenterController( FILE: internal/controller/question_controller.go type QuestionController (line 45) | type QuestionController struct method RemoveQuestion (line 83) | func (qc *QuestionController) RemoveQuestion(ctx *gin.Context) { method OperationQuestion (line 130) | func (qc *QuestionController) OperationQuestion(ctx *gin.Context) { method CloseQuestion (line 171) | func (qc *QuestionController) CloseQuestion(ctx *gin.Context) { method ReopenQuestion (line 202) | func (qc *QuestionController) ReopenQuestion(ctx *gin.Context) { method GetQuestion (line 232) | func (qc *QuestionController) GetQuestion(ctx *gin.Context) { method GetQuestionInviteUserInfo (line 286) | func (qc *QuestionController) GetQuestionInviteUserInfo(ctx *gin.Conte... method SimilarQuestion (line 301) | func (qc *QuestionController) SimilarQuestion(ctx *gin.Context) { method QuestionPage (line 325) | func (qc *QuestionController) QuestionPage(ctx *gin.Context) { method QuestionRecommendPage (line 353) | func (qc *QuestionController) QuestionRecommendPage(ctx *gin.Context) { method AddQuestion (line 383) | func (qc *QuestionController) AddQuestion(ctx *gin.Context) { method AddQuestionByAnswer (line 498) | func (qc *QuestionController) AddQuestionByAnswer(ctx *gin.Context) { method UpdateQuestion (line 622) | func (qc *QuestionController) UpdateQuestion(ctx *gin.Context) { method QuestionRecover (line 716) | func (qc *QuestionController) QuestionRecover(ctx *gin.Context) { method UpdateQuestionInviteUser (line 750) | func (qc *QuestionController) UpdateQuestionInviteUser(ctx *gin.Contex... method GetSimilarQuestions (line 809) | func (qc *QuestionController) GetSimilarQuestions(ctx *gin.Context) { method UserTop (line 824) | func (qc *QuestionController) UserTop(ctx *gin.Context) { method PersonalQuestionPage (line 847) | func (qc *QuestionController) PersonalQuestionPage(ctx *gin.Context) { method PersonalAnswerPage (line 872) | func (qc *QuestionController) PersonalAnswerPage(ctx *gin.Context) { method PersonalCollectionPage (line 895) | func (qc *QuestionController) PersonalCollectionPage(ctx *gin.Context) { method AdminQuestionPage (line 920) | func (qc *QuestionController) AdminQuestionPage(ctx *gin.Context) { method AdminAnswerPage (line 945) | func (qc *QuestionController) AdminAnswerPage(ctx *gin.Context) { method AdminUpdateQuestionStatus (line 966) | func (qc *QuestionController) AdminUpdateQuestionStatus(ctx *gin.Conte... method GetQuestionLink (line 985) | func (qc *QuestionController) GetQuestionLink(ctx *gin.Context) { function NewQuestionController (line 55) | func NewQuestionController( FILE: internal/controller/rank_controller.go type RankController (line 31) | type RankController struct method GetRankPersonalWithPage (line 51) | func (cc *RankController) GetRankPersonalWithPage(ctx *gin.Context) { function NewRankController (line 36) | func NewRankController( FILE: internal/controller/reason_controller.go type ReasonController (line 30) | type ReasonController struct method Reasons (line 51) | func (rc *ReasonController) Reasons(ctx *gin.Context) { function NewReasonController (line 35) | func NewReasonController(answerService *reason.ReasonService) *ReasonCon... FILE: internal/controller/render_controller.go type RenderController (line 28) | type RenderController struct method GetRenderConfig (line 43) | func (c *RenderController) GetRenderConfig(ctx *gin.Context) { function NewRenderController (line 31) | func NewRenderController() *RenderController { FILE: internal/controller/report_controller.go type ReportController (line 40) | type ReportController struct method AddReport (line 69) | func (rc *ReportController) AddReport(ctx *gin.Context) { method GetUnreviewedReportPostPage (line 116) | func (rc *ReportController) GetUnreviewedReportPostPage(ctx *gin.Conte... method ReviewReport (line 139) | func (rc *ReportController) ReviewReport(ctx *gin.Context) { function NewReportController (line 47) | func NewReportController( FILE: internal/controller/review_controller.go type ReviewController (line 36) | type ReviewController struct method GetUnreviewedPostPage (line 66) | func (rc *ReviewController) GetUnreviewedPostPage(ctx *gin.Context) { method UpdateReview (line 96) | func (rc *ReviewController) UpdateReview(ctx *gin.Context) { function NewReviewController (line 43) | func NewReviewController( FILE: internal/controller/revision_controller.go type RevisionController (line 39) | type RevisionController struct method GetRevisionList (line 63) | func (rc *RevisionController) GetRevisionList(ctx *gin.Context) { method GetUnreviewedRevisionList (line 95) | func (rc *RevisionController) GetUnreviewedRevisionList(ctx *gin.Conte... method RevisionAudit (line 128) | func (rc *RevisionController) RevisionAudit(ctx *gin.Context) { method CheckCanUpdateRevision (line 161) | func (rc *RevisionController) CheckCanUpdateRevision(ctx *gin.Context) { method GetReviewingType (line 205) | func (rc *RevisionController) GetReviewingType(ctx *gin.Context) { function NewRevisionController (line 45) | func NewRevisionController( FILE: internal/controller/search_controller.go type SearchController (line 38) | type SearchController struct method Search (line 64) | func (sc *SearchController) Search(ctx *gin.Context) { method SearchDesc (line 102) | func (sc *SearchController) SearchDesc(ctx *gin.Context) { function NewSearchController (line 44) | func NewSearchController( FILE: internal/controller/siteinfo_controller.go type SiteInfoController (line 33) | type SiteInfoController struct method GetSiteInfo (line 51) | func (sc *SiteInfoController) GetSiteInfo(ctx *gin.Context) { method GetSiteLegalInfo (line 132) | func (sc *SiteInfoController) GetSiteLegalInfo(ctx *gin.Context) { method GetManifestJson (line 154) | func (sc *SiteInfoController) GetManifestJson(ctx *gin.Context) { function NewSiteInfoController (line 38) | func NewSiteInfoController(siteInfoService siteinfo_common.SiteInfoCommo... FILE: internal/controller/tag_controller.go type TagController (line 37) | type TagController struct method SearchTagLike (line 61) | func (tc *TagController) SearchTagLike(ctx *gin.Context) { method GetTagsBySlugName (line 78) | func (tc *TagController) GetTagsBySlugName(ctx *gin.Context) { method RemoveTag (line 98) | func (tc *TagController) RemoveTag(ctx *gin.Context) { method AddTag (line 128) | func (tc *TagController) AddTag(ctx *gin.Context) { method UpdateTag (line 161) | func (tc *TagController) UpdateTag(ctx *gin.Context) { method RecoverTag (line 200) | func (tc *TagController) RecoverTag(ctx *gin.Context) { method GetTagInfo (line 233) | func (tc *TagController) GetTagInfo(ctx *gin.Context) { method GetTagWithPage (line 269) | func (tc *TagController) GetTagWithPage(ctx *gin.Context) { method GetFollowingTags (line 297) | func (tc *TagController) GetFollowingTags(ctx *gin.Context) { method GetTagSynonyms (line 311) | func (tc *TagController) GetTagSynonyms(ctx *gin.Context) { method UpdateTagSynonym (line 339) | func (tc *TagController) UpdateTagSynonym(ctx *gin.Context) { method MergeTag (line 370) | func (tc *TagController) MergeTag(ctx *gin.Context) { function NewTagController (line 44) | func NewTagController( FILE: internal/controller/template_controller.go type TemplateController (line 57) | type TemplateController struct method SiteInfo (line 106) | func (tc *TemplateController) SiteInfo(ctx *gin.Context) *schema.Templ... method Index (line 138) | func (tc *TemplateController) Index(ctx *gin.Context) { method QuestionList (line 178) | func (tc *TemplateController) QuestionList(ctx *gin.Context) { method QuestionInfoRedirect (line 218) | func (tc *TemplateController) QuestionInfoRedirect(ctx *gin.Context, s... method QuestionInfo (line 298) | func (tc *TemplateController) QuestionInfo(ctx *gin.Context) { method TagList (line 444) | func (tc *TemplateController) TagList(ctx *gin.Context) { method TagInfo (line 472) | func (tc *TemplateController) TagInfo(ctx *gin.Context) { method UserInfo (line 513) | func (tc *TemplateController) UserInfo(ctx *gin.Context) { method Page404 (line 557) | func (tc *TemplateController) Page404(ctx *gin.Context) { method html (line 561) | func (tc *TemplateController) html(ctx *gin.Context, code int, tpl str... method OpenSearch (line 617) | func (tc *TemplateController) OpenSearch(ctx *gin.Context) { method Sitemap (line 625) | func (tc *TemplateController) Sitemap(ctx *gin.Context) { method SitemapPage (line 633) | func (tc *TemplateController) SitemapPage(ctx *gin.Context) { method checkPrivateMode (line 658) | func (tc *TemplateController) checkPrivateMode(ctx *gin.Context) bool { function NewTemplateController (line 68) | func NewTemplateController( function GetStyle (line 86) | func GetStyle() (script []string, css string) { FILE: internal/controller/template_render/answer.go method AnswerList (line 28) | func (t *TemplateRenderController) AnswerList(ctx context.Context, req *... method AnswerDetail (line 32) | func (t *TemplateRenderController) AnswerDetail(ctx context.Context, id ... FILE: internal/controller/template_render/comment.go method CommentList (line 29) | func (t *TemplateRenderController) CommentList( FILE: internal/controller/template_render/controller.go type TemplateRenderController (line 41) | type TemplateRenderController struct function NewTemplateRenderController (line 51) | func NewTemplateRenderController( function Paginator (line 76) | func Paginator(page, pageSize int, nums int64) *schema.Paginator { FILE: internal/controller/template_render/question.go method Index (line 33) | func (t *TemplateRenderController) Index(ctx *gin.Context, req *schema.Q... method QuestionDetail (line 37) | func (t *TemplateRenderController) QuestionDetail(ctx *gin.Context, id s... method Sitemap (line 41) | func (t *TemplateRenderController) Sitemap(ctx *gin.Context) { method OpenSearch (line 92) | func (t *TemplateRenderController) OpenSearch(ctx *gin.Context) { method SitemapPage (line 114) | func (t *TemplateRenderController) SitemapPage(ctx *gin.Context, page in... FILE: internal/controller/template_render/tags.go method TagList (line 29) | func (q *TemplateRenderController) TagList(ctx context.Context, req *sch... method TagInfo (line 37) | func (q *TemplateRenderController) TagInfo(ctx context.Context, req *sch... FILE: internal/controller/template_render/userinfo.go method UserInfo (line 27) | func (q *TemplateRenderController) UserInfo(ctx context.Context, req *sc... FILE: internal/controller/upload_controller.go constant fileFromPost (line 35) | fileFromPost = "post" constant fileFromPostAttachment (line 37) | fileFromPostAttachment = "post_attachment" constant fileFromAvatar (line 39) | fileFromAvatar = "avatar" constant fileFromBranding (line 41) | fileFromBranding = "branding" type UploadController (line 45) | type UploadController struct method UploadFile (line 66) | func (uc *UploadController) UploadFile(ctx *gin.Context) { method PostRender (line 108) | func (uc *UploadController) PostRender(ctx *gin.Context) { function NewUploadController (line 50) | func NewUploadController(uploaderService uploader.UploaderService) *Uplo... FILE: internal/controller/user_controller.go type UserController (line 46) | type UserController struct method GetUserInfoByUserID (line 83) | func (uc *UserController) GetUserInfoByUserID(ctx *gin.Context) { method GetOtherUserInfoByUsername (line 112) | func (uc *UserController) GetOtherUserInfoByUsername(ctx *gin.Context) { method UserEmailLogin (line 134) | func (uc *UserController) UserEmailLogin(ctx *gin.Context) { method RetrievePassWord (line 183) | func (uc *UserController) RetrievePassWord(ctx *gin.Context) { method UseRePassWord (line 213) | func (uc *UserController) UseRePassWord(ctx *gin.Context) { method UserLogout (line 240) | func (uc *UserController) UserLogout(ctx *gin.Context) { method UserRegisterByEmail (line 262) | func (uc *UserController) UserRegisterByEmail(ctx *gin.Context) { method UserVerifyEmail (line 317) | func (uc *UserController) UserVerifyEmail(ctx *gin.Context) { method UserVerifyEmailSend (line 351) | func (uc *UserController) UserVerifyEmailSend(ctx *gin.Context) { method UserModifyPassWord (line 388) | func (uc *UserController) UserModifyPassWord(ctx *gin.Context) { method UserUpdateInfo (line 450) | func (uc *UserController) UserUpdateInfo(ctx *gin.Context) { method UserUpdateInterface (line 475) | func (uc *UserController) UserUpdateInterface(ctx *gin.Context) { method ActionRecord (line 493) | func (uc *UserController) ActionRecord(ctx *gin.Context) { method GetUserNotificationConfig (line 523) | func (uc *UserController) GetUserNotificationConfig(ctx *gin.Context) { method UpdateUserNotificationConfig (line 539) | func (uc *UserController) UpdateUserNotificationConfig(ctx *gin.Contex... method UserChangeEmailSendCode (line 560) | func (uc *UserController) UserChangeEmailSendCode(ctx *gin.Context) { method UserChangeEmailVerify (line 619) | func (uc *UserController) UserChangeEmailVerify(ctx *gin.Context) { method UserRanking (line 644) | func (uc *UserController) UserRanking(ctx *gin.Context) { method UserStaff (line 659) | func (uc *UserController) UserStaff(ctx *gin.Context) { method UserUnsubscribeNotification (line 678) | func (uc *UserController) UserUnsubscribeNotification(ctx *gin.Context) { method SearchUserListByName (line 705) | func (uc *UserController) SearchUserListByName(ctx *gin.Context) { method setVisitCookies (line 715) | func (uc *UserController) setVisitCookies(ctx *gin.Context, visitToken... function NewUserController (line 56) | func NewUserController( FILE: internal/controller/user_plugin_controller.go type UserPluginController (line 38) | type UserPluginController struct method GetUserPluginList (line 56) | func (pc *UserPluginController) GetUserPluginList(ctx *gin.Context) { method GetUserPluginConfig (line 80) | func (pc *UserPluginController) GetUserPluginConfig(ctx *gin.Context) { method UpdatePluginUserConfig (line 128) | func (pc *UserPluginController) UpdatePluginUserConfig(ctx *gin.Contex... function NewUserPluginController (line 43) | func NewUserPluginController(pluginCommonService *plugin_common.PluginCo... FILE: internal/controller/vote_controller.go type VoteController (line 39) | type VoteController struct method VoteUp (line 68) | func (vc *VoteController) VoteUp(ctx *gin.Context) { method VoteDown (line 122) | func (vc *VoteController) VoteDown(ctx *gin.Context) { method UserVotes (line 176) | func (vc *VoteController) UserVotes(ctx *gin.Context) { function NewVoteController (line 46) | func NewVoteController( FILE: internal/controller_admin/ai_conversation_admin_controller.go type AIConversationAdminController (line 31) | type AIConversationAdminController struct method ensureEnabled (line 47) | func (ctrl *AIConversationAdminController) ensureEnabled(ctx *gin.Cont... method GetConversationList (line 68) | func (ctrl *AIConversationAdminController) GetConversationList(ctx *gi... method GetConversationDetail (line 90) | func (ctrl *AIConversationAdminController) GetConversationDetail(ctx *... method DeleteConversation (line 112) | func (ctrl *AIConversationAdminController) DeleteConversation(ctx *gin... function NewAIConversationAdminController (line 37) | func NewAIConversationAdminController( FILE: internal/controller_admin/badge_controller.go type BadgeController (line 30) | type BadgeController struct method GetBadgeList (line 53) | func (b *BadgeController) GetBadgeList(ctx *gin.Context) { method UpdateBadgeStatus (line 78) | func (b *BadgeController) UpdateBadgeStatus(ctx *gin.Context) { function NewBadgeController (line 34) | func NewBadgeController(badgeService *badge.BadgeService) *BadgeControll... FILE: internal/controller_admin/e_api_key_controller.go type AdminAPIKeyController (line 31) | type AdminAPIKeyController struct method GetAllAPIKeys (line 50) | func (sc *AdminAPIKeyController) GetAllAPIKeys(ctx *gin.Context) { method AddAPIKey (line 64) | func (sc *AdminAPIKeyController) AddAPIKey(ctx *gin.Context) { method UpdateAPIKey (line 85) | func (sc *AdminAPIKeyController) UpdateAPIKey(ctx *gin.Context) { method DeleteAPIKey (line 106) | func (sc *AdminAPIKeyController) DeleteAPIKey(ctx *gin.Context) { function NewAdminAPIKeyController (line 36) | func NewAdminAPIKeyController(apiKeyService *apikey.APIKeyService) *Admi... FILE: internal/controller_admin/plugin_controller.go type PluginController (line 33) | type PluginController struct method GetAllPluginStatus (line 50) | func (pc *PluginController) GetAllPluginStatus(ctx *gin.Context) { method GetPluginList (line 74) | func (pc *PluginController) GetPluginList(ctx *gin.Context) { method filterNoConfigPlugin (line 112) | func (pc *PluginController) filterNoConfigPlugin(list []*schema.GetPlu... method filterPluginByStatus (line 122) | func (pc *PluginController) filterPluginByStatus(list []*schema.GetPlu... method UpdatePluginStatus (line 145) | func (pc *PluginController) UpdatePluginStatus(ctx *gin.Context) { method GetPluginConfig (line 165) | func (pc *PluginController) GetPluginConfig(ctx *gin.Context) { method UpdatePluginConfig (line 204) | func (pc *PluginController) UpdatePluginConfig(ctx *gin.Context) { function NewPluginController (line 38) | func NewPluginController(pluginCommonService *plugin_common.PluginCommon... FILE: internal/controller_admin/role_controller.go type RoleController (line 30) | type RoleController struct method GetRoleList (line 47) | func (rc *RoleController) GetRoleList(ctx *gin.Context) { function NewRoleController (line 35) | func NewRoleController(roleService *service.RoleService) *RoleController { FILE: internal/controller_admin/siteinfo_controller.go type SiteInfoController (line 35) | type SiteInfoController struct method GetGeneral (line 54) | func (sc *SiteInfoController) GetGeneral(ctx *gin.Context) { method GetInterface (line 67) | func (sc *SiteInfoController) GetInterface(ctx *gin.Context) { method GetUsersSettings (line 80) | func (sc *SiteInfoController) GetUsersSettings(ctx *gin.Context) { method GetSiteBranding (line 93) | func (sc *SiteInfoController) GetSiteBranding(ctx *gin.Context) { method GetSiteTag (line 106) | func (sc *SiteInfoController) GetSiteTag(ctx *gin.Context) { method GetSiteQuestion (line 119) | func (sc *SiteInfoController) GetSiteQuestion(ctx *gin.Context) { method GetSiteAdvanced (line 132) | func (sc *SiteInfoController) GetSiteAdvanced(ctx *gin.Context) { method GetSitePolicies (line 145) | func (sc *SiteInfoController) GetSitePolicies(ctx *gin.Context) { method GetSiteSecurity (line 158) | func (sc *SiteInfoController) GetSiteSecurity(ctx *gin.Context) { method GetSeo (line 171) | func (sc *SiteInfoController) GetSeo(ctx *gin.Context) { method GetSiteLogin (line 184) | func (sc *SiteInfoController) GetSiteLogin(ctx *gin.Context) { method GetSiteCustomCssHTML (line 197) | func (sc *SiteInfoController) GetSiteCustomCssHTML(ctx *gin.Context) { method GetSiteTheme (line 210) | func (sc *SiteInfoController) GetSiteTheme(ctx *gin.Context) { method GetSiteUsers (line 223) | func (sc *SiteInfoController) GetSiteUsers(ctx *gin.Context) { method GetRobots (line 235) | func (sc *SiteInfoController) GetRobots(ctx *gin.Context) { method GetCss (line 251) | func (sc *SiteInfoController) GetCss(ctx *gin.Context) { method UpdateSeo (line 270) | func (sc *SiteInfoController) UpdateSeo(ctx *gin.Context) { method UpdateGeneral (line 288) | func (sc *SiteInfoController) UpdateGeneral(ctx *gin.Context) { method UpdateInterface (line 307) | func (sc *SiteInfoController) UpdateInterface(ctx *gin.Context) { method UpdateUsersSettings (line 325) | func (sc *SiteInfoController) UpdateUsersSettings(ctx *gin.Context) { method UpdateBranding (line 343) | func (sc *SiteInfoController) UpdateBranding(ctx *gin.Context) { method UpdateSiteQuestion (line 370) | func (sc *SiteInfoController) UpdateSiteQuestion(ctx *gin.Context) { method UpdateSiteTag (line 389) | func (sc *SiteInfoController) UpdateSiteTag(ctx *gin.Context) { method UpdateSiteAdvanced (line 409) | func (sc *SiteInfoController) UpdateSiteAdvanced(ctx *gin.Context) { method UpdateSitePolices (line 428) | func (sc *SiteInfoController) UpdateSitePolices(ctx *gin.Context) { method UpdateSiteSecurity (line 446) | func (sc *SiteInfoController) UpdateSiteSecurity(ctx *gin.Context) { method UpdateSiteLogin (line 464) | func (sc *SiteInfoController) UpdateSiteLogin(ctx *gin.Context) { method UpdateSiteCustomCssHTML (line 482) | func (sc *SiteInfoController) UpdateSiteCustomCssHTML(ctx *gin.Context) { method SaveSiteTheme (line 500) | func (sc *SiteInfoController) SaveSiteTheme(ctx *gin.Context) { method UpdateSiteUsers (line 518) | func (sc *SiteInfoController) UpdateSiteUsers(ctx *gin.Context) { method GetSMTPConfig (line 535) | func (sc *SiteInfoController) GetSMTPConfig(ctx *gin.Context) { method UpdateSMTPConfig (line 549) | func (sc *SiteInfoController) UpdateSMTPConfig(ctx *gin.Context) { method GetPrivilegesConfig (line 566) | func (sc *SiteInfoController) GetPrivilegesConfig(ctx *gin.Context) { method UpdatePrivilegesConfig (line 580) | func (sc *SiteInfoController) UpdatePrivilegesConfig(ctx *gin.Context) { method GetAIConfig (line 597) | func (sc *SiteInfoController) GetAIConfig(ctx *gin.Context) { method UpdateAIConfig (line 611) | func (sc *SiteInfoController) UpdateAIConfig(ctx *gin.Context) { method GetAIProvider (line 629) | func (sc *SiteInfoController) GetAIProvider(ctx *gin.Context) { method RequestAIModels (line 646) | func (sc *SiteInfoController) RequestAIModels(ctx *gin.Context) { method GetMCPConfig (line 667) | func (sc *SiteInfoController) GetMCPConfig(ctx *gin.Context) { method UpdateMCPConfig (line 681) | func (sc *SiteInfoController) UpdateMCPConfig(ctx *gin.Context) { function NewSiteInfoController (line 40) | func NewSiteInfoController(siteInfoService *siteinfo.SiteInfoService) *S... FILE: internal/controller_admin/theme_controller.go type ThemeController (line 28) | type ThemeController struct method GetThemeOptions (line 43) | func (t *ThemeController) GetThemeOptions(ctx *gin.Context) { function NewThemeController (line 31) | func NewThemeController() *ThemeController { FILE: internal/controller_admin/user_backyard_controller.go type UserAdminController (line 35) | type UserAdminController struct method UpdateUserStatus (line 54) | func (uc *UserAdminController) UpdateUserStatus(ctx *gin.Context) { method UpdateUserRole (line 80) | func (uc *UserAdminController) UpdateUserRole(ctx *gin.Context) { method AddUser (line 102) | func (uc *UserAdminController) AddUser(ctx *gin.Context) { method AddUsers (line 124) | func (uc *UserAdminController) AddUsers(ctx *gin.Context) { method UpdateUserPassword (line 144) | func (uc *UserAdminController) UpdateUserPassword(ctx *gin.Context) { method EditUserProfile (line 166) | func (uc *UserAdminController) EditUserProfile(ctx *gin.Context) { method GetUserPage (line 198) | func (uc *UserAdminController) GetUserPage(ctx *gin.Context) { method GetUserActivation (line 217) | func (uc *UserAdminController) GetUserActivation(ctx *gin.Context) { method SendUserActivation (line 236) | func (uc *UserAdminController) SendUserActivation(ctx *gin.Context) { method DeletePermanently (line 256) | func (uc *UserAdminController) DeletePermanently(ctx *gin.Context) { function NewUserAdminController (line 40) | func NewUserAdminController(userService *user_admin.UserAdminService) *U... FILE: internal/entity/activity_entity.go constant ActivityAvailable (line 25) | ActivityAvailable = 0 constant ActivityCancelled (line 26) | ActivityCancelled = 1 type Activity (line 30) | type Activity struct method TableName (line 61) | func (Activity) TableName() string { type ActivityRankSum (line 46) | type ActivityRankSum struct type ActivityUserRankStat (line 50) | type ActivityUserRankStat struct type ActivityUserVoteStat (line 55) | type ActivityUserVoteStat struct FILE: internal/entity/ai_conversation.go type AIConversation (line 25) | type AIConversation struct method TableName (line 35) | func (AIConversation) TableName() string { FILE: internal/entity/ai_conversation_record.go type AIConversationRecord (line 25) | type AIConversationRecord struct method TableName (line 38) | func (AIConversationRecord) TableName() string { FILE: internal/entity/answer_entity.go constant AnswerSearchOrderByDefault (line 25) | AnswerSearchOrderByDefault = "default" constant AnswerSearchOrderByTime (line 26) | AnswerSearchOrderByTime = "updated" constant AnswerSearchOrderByVote (line 27) | AnswerSearchOrderByVote = "vote" constant AnswerSearchOrderByTimeAsc (line 28) | AnswerSearchOrderByTimeAsc = "created" constant AnswerStatusAvailable (line 30) | AnswerStatusAvailable = 1 constant AnswerStatusDeleted (line 31) | AnswerStatusDeleted = 10 constant AnswerStatusPending (line 32) | AnswerStatusPending = 11 type Answer (line 42) | type Answer struct method TableName (line 76) | func (Answer) TableName() string { type AnswerSearch (line 58) | type AnswerSearch struct type PersonalAnswerPageQueryCond (line 67) | type PersonalAnswerPageQueryCond struct FILE: internal/entity/api_key_entity.go type APIKey (line 27) | type APIKey struct method TableName (line 40) | func (c *APIKey) TableName() string { FILE: internal/entity/auth_user_entity.go type UserCacheInfo (line 23) | type UserCacheInfo struct FILE: internal/entity/badge_award_entity.go constant IsBadgeNotDeleted (line 25) | IsBadgeNotDeleted = 0 constant IsBadgeDeleted (line 26) | IsBadgeDeleted = 1 constant BadgeEmptyAwardKey (line 28) | BadgeEmptyAwardKey = "0" type BadgeAward (line 32) | type BadgeAward struct method TableName (line 44) | func (BadgeAward) TableName() string { type BadgeEarnedCount (line 48) | type BadgeEarnedCount struct method TableName (line 54) | func (BadgeEarnedCount) TableName() string { type BadgeAwardRecent (line 58) | type BadgeAwardRecent struct method TableName (line 67) | func (BadgeAwardRecent) TableName() string { FILE: internal/entity/badge_entity.go type BadgeLevel (line 28) | type BadgeLevel constant BadgeStatusActive (line 31) | BadgeStatusActive = 1 constant BadgeStatusDeleted (line 32) | BadgeStatusDeleted = 10 constant BadgeStatusInactive (line 33) | BadgeStatusInactive = 11 constant BadgeLevelBronze (line 35) | BadgeLevelBronze BadgeLevel = 1 constant BadgeLevelSilver (line 36) | BadgeLevelSilver BadgeLevel = 2 constant BadgeLevelGold (line 37) | BadgeLevelGold BadgeLevel = 3 constant BadgeSingleAward (line 39) | BadgeSingleAward = 1 constant BadgeMultiAward (line 40) | BadgeMultiAward = 2 type Badge (line 44) | type Badge struct method TableName (line 62) | func (b *Badge) TableName() string { method GetIntParam (line 66) | func (b *Badge) GetIntParam(key string) int64 { method GetStringParam (line 70) | func (b *Badge) GetStringParam(key string) string { FILE: internal/entity/badge_group_entity.go type BadgeGroup (line 25) | type BadgeGroup struct method TableName (line 33) | func (BadgeGroup) TableName() string { FILE: internal/entity/captcha_entity.go constant CaptchaActionEmail (line 23) | CaptchaActionEmail = "email" constant CaptchaActionPassword (line 24) | CaptchaActionPassword = "password" constant CaptchaActionEditUserinfo (line 25) | CaptchaActionEditUserinfo = "edit_userinfo" constant CaptchaActionQuestion (line 26) | CaptchaActionQuestion = "question" constant CaptchaActionAnswer (line 27) | CaptchaActionAnswer = "answer" constant CaptchaActionComment (line 28) | CaptchaActionComment = "comment" constant CaptchaActionEdit (line 29) | CaptchaActionEdit = "edit" constant CaptchaActionInvitationAnswer (line 30) | CaptchaActionInvitationAnswer = "invitation_answer" constant CaptchaActionSearch (line 31) | CaptchaActionSearch = "search" constant CaptchaActionReport (line 32) | CaptchaActionReport = "report" constant CaptchaActionDelete (line 33) | CaptchaActionDelete = "delete" constant CaptchaActionVote (line 34) | CaptchaActionVote = "vote" type ActionRecordInfo (line 37) | type ActionRecordInfo struct FILE: internal/entity/collection_entity.go type Collection (line 25) | type Collection struct method TableName (line 41) | func (Collection) TableName() string { type CollectionSearch (line 34) | type CollectionSearch struct FILE: internal/entity/collection_group_entity.go type CollectionGroup (line 25) | type CollectionGroup struct method TableName (line 35) | func (CollectionGroup) TableName() string { FILE: internal/entity/comment_entity.go constant CommentStatusAvailable (line 31) | CommentStatusAvailable = 1 constant CommentStatusDeleted (line 32) | CommentStatusDeleted = 10 constant CommentStatusPending (line 33) | CommentStatusPending = 11 type Comment (line 37) | type Comment struct method TableName (line 53) | func (c *Comment) TableName() string { method GetReplyUserID (line 58) | func (c *Comment) GetReplyUserID() string { method GetReplyCommentID (line 66) | func (c *Comment) GetReplyCommentID() string { method SetReplyUserID (line 74) | func (c *Comment) SetReplyUserID(str string) { method SetReplyCommentID (line 83) | func (c *Comment) SetReplyCommentID(str string) { method GetMentionUsernameList (line 92) | func (c *Comment) GetMentionUsernameList() []string { FILE: internal/entity/config_entity.go type Config (line 31) | type Config struct method TableName (line 38) | func (c *Config) TableName() string { method BuildByJSON (line 42) | func (c *Config) BuildByJSON(data []byte) { method JsonString (line 50) | func (c *Config) JsonString() string { method GetIntValue (line 56) | func (c *Config) GetIntValue() int { method GetArrayStringValue (line 64) | func (c *Config) GetArrayStringValue() []string { method GetByteValue (line 71) | func (c *Config) GetByteValue() []byte { FILE: internal/entity/file_record_entity.go constant FileRecordStatusAvailable (line 25) | FileRecordStatusAvailable = 1 constant FileRecordStatusDeleted (line 26) | FileRecordStatusDeleted = 10 type FileRecord (line 30) | type FileRecord struct method TableName (line 43) | func (FileRecord) TableName() string { FILE: internal/entity/meta_entity.go constant QuestionEditSummaryKey (line 25) | QuestionEditSummaryKey = "question.edit.summary" constant QuestionCloseReasonKey (line 26) | QuestionCloseReasonKey = "question.close.reason" constant AnswerEditSummaryKey (line 27) | AnswerEditSummaryKey = "answer.edit.summary" constant TagEditSummaryKey (line 28) | TagEditSummaryKey = "tag.edit.summary" constant ObjectReactSummaryKey (line 29) | ObjectReactSummaryKey = "object.react.summary" type Meta (line 33) | type Meta struct method TableName (line 43) | func (Meta) TableName() string { FILE: internal/entity/notification_entity.go type Notification (line 25) | type Notification struct method TableName (line 39) | func (Notification) TableName() string { FILE: internal/entity/plugin_config_entity.go type PluginConfig (line 23) | type PluginConfig struct method TableName (line 30) | func (PluginConfig) TableName() string { FILE: internal/entity/plugin_kv_storage_entity.go type PluginKVStorage (line 22) | type PluginKVStorage struct method TableName (line 30) | func (PluginKVStorage) TableName() string { FILE: internal/entity/plugin_user_config_entity.go type PluginUserConfig (line 23) | type PluginUserConfig struct method TableName (line 31) | func (PluginUserConfig) TableName() string { FILE: internal/entity/power_entity.go type Power (line 25) | type Power struct method TableName (line 35) | func (Power) TableName() string { FILE: internal/entity/question_entity.go constant QuestionStatusAvailable (line 27) | QuestionStatusAvailable = 1 constant QuestionStatusClosed (line 28) | QuestionStatusClosed = 2 constant QuestionStatusDeleted (line 29) | QuestionStatusDeleted = 10 constant QuestionStatusPending (line 30) | QuestionStatusPending = 11 constant QuestionUnPin (line 31) | QuestionUnPin = 1 constant QuestionPin (line 32) | QuestionPin = 2 constant QuestionShow (line 33) | QuestionShow = 1 constant QuestionHide (line 34) | QuestionHide = 2 type Question (line 52) | type Question struct method TableName (line 80) | func (Question) TableName() string { type QuestionWithTagsRevision (line 85) | type QuestionWithTagsRevision struct type TagSimpleInfoForRevision (line 91) | type TagSimpleInfoForRevision struct FILE: internal/entity/question_link_entity.go constant QuestionLinkStatusAvailable (line 27) | QuestionLinkStatusAvailable = 1 constant QuestionLinkStatusDeleted (line 28) | QuestionLinkStatusDeleted = 2 type QuestionLink (line 31) | type QuestionLink struct method TableName (line 42) | func (QuestionLink) TableName() string { FILE: internal/entity/report_entity.go constant ReportStatusPending (line 25) | ReportStatusPending = 1 constant ReportStatusCompleted (line 26) | ReportStatusCompleted = 2 constant ReportStatusIgnore (line 27) | ReportStatusIgnore = 3 constant ReportStatusDeleted (line 28) | ReportStatusDeleted = 10 type Report (line 40) | type Report struct method TableName (line 56) | func (Report) TableName() string { FILE: internal/entity/review_entity.go constant ReviewStatusPending (line 25) | ReviewStatusPending = 1 constant ReviewStatusApproved (line 26) | ReviewStatusApproved = 2 constant ReviewStatusRejected (line 27) | ReviewStatusRejected = 3 type Review (line 31) | type Review struct method TableName (line 45) | func (Review) TableName() string { FILE: internal/entity/revision_entity.go constant RevisionNormalStatus (line 28) | RevisionNormalStatus = 0 constant RevisionUnreviewedStatus (line 30) | RevisionUnreviewedStatus = 1 constant RevisionReviewPassStatus (line 32) | RevisionReviewPassStatus = 2 constant RevisionReviewRejectStatus (line 34) | RevisionReviewRejectStatus = 3 type Revision (line 38) | type Revision struct method TableName (line 53) | func (Revision) TableName() string { FILE: internal/entity/role_entity.go type Role (line 25) | type Role struct method TableName (line 34) | func (Role) TableName() string { FILE: internal/entity/role_power_rel_entity.go type RolePowerRel (line 25) | type RolePowerRel struct method TableName (line 34) | func (RolePowerRel) TableName() string { FILE: internal/entity/site_info.go type SiteInfo (line 25) | type SiteInfo struct method TableName (line 35) | func (*SiteInfo) TableName() string { FILE: internal/entity/tag_entity.go constant TagStatusAvailable (line 25) | TagStatusAvailable = 1 constant TagStatusDeleted (line 26) | TagStatusDeleted = 10 type Tag (line 35) | type Tag struct method TableName (line 55) | func (Tag) TableName() string { FILE: internal/entity/tag_rel_entity.go constant TagRelStatusAvailable (line 25) | TagRelStatusAvailable = 1 constant TagRelStatusHide (line 26) | TagRelStatusHide = 2 constant TagRelStatusDeleted (line 27) | TagRelStatusDeleted = 10 type TagRel (line 31) | type TagRel struct method TableName (line 41) | func (TagRel) TableName() string { FILE: internal/entity/uniqid_entity.go type Uniqid (line 23) | type Uniqid struct method TableName (line 29) | func (Uniqid) TableName() string { FILE: internal/entity/user_entity.go constant UserStatusAvailable (line 25) | UserStatusAvailable = 1 constant UserStatusSuspended (line 26) | UserStatusSuspended = 9 constant UserStatusDeleted (line 27) | UserStatusDeleted = 10 constant EmailStatusAvailable (line 31) | EmailStatusAvailable = 1 constant EmailStatusToBeVerified (line 32) | EmailStatusToBeVerified = 2 constant UserAdminFlag (line 36) | UserAdminFlag = 1 type User (line 43) | type User struct method TableName (line 76) | func (User) TableName() string { type UserSearch (line 80) | type UserSearch struct FILE: internal/entity/user_external_login_entity.go type UserExternalLogin (line 25) | type UserExternalLogin struct method TableName (line 36) | func (UserExternalLogin) TableName() string { FILE: internal/entity/user_notification_config_entity.go type UserNotificationConfig (line 25) | type UserNotificationConfig struct method TableName (line 36) | func (UserNotificationConfig) TableName() string { FILE: internal/entity/user_role_rel_entity.go type UserRoleRel (line 25) | type UserRoleRel struct method TableName (line 34) | func (UserRoleRel) TableName() string { FILE: internal/entity/version_entity.go type Version (line 23) | type Version struct method TableName (line 29) | func (Version) TableName() string { FILE: internal/install/install_controller.go function LangOptions (line 53) | func LangOptions(ctx *gin.Context) { function GetLangMapping (line 65) | func GetLangMapping(ctx *gin.Context) { function CheckConfigFileAndRedirectToInstallPage (line 85) | func CheckConfigFileAndRedirectToInstallPage(ctx *gin.Context) { function CheckConfigFile (line 101) | func CheckConfigFile(ctx *gin.Context) { function CheckDatabase (line 131) | func CheckDatabase(ctx *gin.Context) { function InitEnvironment (line 159) | func InitEnvironment(ctx *gin.Context) { function InitBaseInfo (line 211) | func InitBaseInfo(ctx *gin.Context) { FILE: internal/install/install_from_env.go type Env (line 35) | type Env struct function TryToInstallByEnv (line 55) | func TryToInstallByEnv() (installByEnv bool, err error) { function loadEnv (line 64) | func loadEnv() (env *Env) { function initByEnv (line 84) | func initByEnv(env *Env) (err error) { function dbCheck (line 98) | func dbCheck(env *Env) (err error) { function initConfigAndDb (line 110) | func initConfigAndDb(env *Env) (err error) { function initBaseInfo (line 122) | func initBaseInfo(env *Env) (err error) { function requestAPI (line 137) | func requestAPI(req any, method, url string, handlerFunc gin.HandlerFunc... FILE: internal/install/install_main.go function init (line 36) | func init() { function Run (line 41) | func Run(configPath string) { FILE: internal/install/install_req.go type CheckConfigFileResp (line 36) | type CheckConfigFileResp struct type CheckDatabaseReq (line 43) | type CheckDatabaseReq struct method GetConnection (line 58) | func (r *CheckDatabaseReq) GetConnection() string { function parsePgSQLHostPort (line 93) | func parsePgSQLHostPort(dbHost string) (host string, port string) { type CheckDatabaseResp (line 110) | type CheckDatabaseResp struct type InitEnvironmentResp (line 115) | type InitEnvironmentResp struct type InitBaseInfoReq (line 123) | type InitBaseInfoReq struct method Check (line 135) | func (r *InitBaseInfoReq) Check() (errFields []*validator.FormErrorFie... method FormatSiteUrl (line 147) | func (r *InitBaseInfoReq) FormatSiteUrl() { FILE: internal/install/install_server.go constant UIStaticPath (line 36) | UIStaticPath = "build/static" type _resource (line 38) | type _resource struct method Open (line 43) | func (r *_resource) Open(name string) (fs.File, error) { function NewInstallHTTPServer (line 50) | func NewInstallHTTPServer() *gin.Engine { function WebPage (line 80) | func WebPage(c *gin.Context) { FILE: internal/migrations/init.go type Mentor (line 41) | type Mentor struct method InitDB (line 65) | func (m *Mentor) InitDB() error { method do (line 95) | func (m *Mentor) do(taskName string, fn func()) { method checkTableExist (line 105) | func (m *Mentor) checkTableExist() { method syncTable (line 112) | func (m *Mentor) syncTable() { method initVersionTable (line 116) | func (m *Mentor) initVersionTable() { method initAdminUser (line 120) | func (m *Mentor) initAdminUser() { method initConfig (line 135) | func (m *Mentor) initConfig() { method initDefaultRankPrivileges (line 139) | func (m *Mentor) initDefaultRankPrivileges() { method initRole (line 152) | func (m *Mentor) initRole() { method initPower (line 156) | func (m *Mentor) initPower() { method initRolePowerRel (line 160) | func (m *Mentor) initRolePowerRel() { method initAdminUserRoleRel (line 164) | func (m *Mentor) initAdminUserRoleRel() { method initSiteInfoInterface (line 168) | func (m *Mentor) initSiteInfoInterface() { method initSiteInfoUsersSettings (line 200) | func (m *Mentor) initSiteInfoUsersSettings() { method initSiteInfoGeneralData (line 213) | func (m *Mentor) initSiteInfoGeneralData() { method initSiteInfoLoginConfig (line 227) | func (m *Mentor) initSiteInfoLoginConfig() { method initSiteInfoSecurityConfig (line 241) | func (m *Mentor) initSiteInfoSecurityConfig() { method initSiteInfoThemeConfig (line 255) | func (m *Mentor) initSiteInfoThemeConfig() { method initSiteInfoSEOConfig (line 264) | func (m *Mentor) initSiteInfoSEOConfig() { method initSiteInfoUsersConfig (line 277) | func (m *Mentor) initSiteInfoUsersConfig() { method initSiteInfoPrivilegeRank (line 296) | func (m *Mentor) initSiteInfoPrivilegeRank() { method initSiteInfoAdvanced (line 308) | func (m *Mentor) initSiteInfoAdvanced() { method initSiteInfoQuestions (line 324) | func (m *Mentor) initSiteInfoQuestions() { method initSiteInfoTags (line 338) | func (m *Mentor) initSiteInfoTags() { method initDefaultContent (line 352) | func (m *Mentor) initDefaultContent() { method initDefaultBadges (line 594) | func (m *Mentor) initDefaultBadges() { method initSiteInfoAI (line 612) | func (m *Mentor) initSiteInfoAI() { method initSiteInfoMCP (line 626) | func (m *Mentor) initSiteInfoMCP() { function NewMentor (line 49) | func NewMentor(ctx context.Context, engine *xorm.Engine, data *InitNeedU... type InitNeedUserInputData (line 53) | type InitNeedUserInputData struct FILE: internal/migrations/init_data.go constant defaultSEORobotTxt (line 28) | defaultSEORobotTxt = `User-agent: * FILE: internal/migrations/migrations.go constant minDBVersion (line 31) | minDBVersion = 0 type Migration (line 34) | type Migration interface type migration (line 41) | type migration struct method Version (line 49) | func (m *migration) Version() string { method Description (line 54) | func (m *migration) Description() string { method Migrate (line 59) | func (m *migration) Migrate(ctx context.Context, x *xorm.Engine) error { method ShouldCleanCache (line 64) | func (m *migration) ShouldCleanCache() bool { function NewMigration (line 69) | func NewMigration(version, desc string, fn func(ctx context.Context, x *... function GetMigrations (line 112) | func GetMigrations() []Migration { function GetCurrentDBVersion (line 117) | func GetCurrentDBVersion(engine *xorm.Engine) (int64, error) { function ExpectedVersion (line 138) | func ExpectedVersion() int64 { function Migrate (line 143) | func Migrate(debug bool, dbConf *data.Database, cacheConf *data.CacheCon... FILE: internal/migrations/v1.go function addUserLanguage (line 28) | func addUserLanguage(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v10.go function addLoginLimitations (line 34) | func addLoginLimitations(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v11.go function updateRolePinAndHideFeatures (line 31) | func updateRolePinAndHideFeatures(ctx context.Context, x *xorm.Engine) e... FILE: internal/migrations/v12.go type QuestionPostTime (line 32) | type QuestionPostTime struct method TableName (line 56) | func (QuestionPostTime) TableName() string { function updateQuestionPostTime (line 60) | func updateQuestionPostTime(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v13.go function updateCount (line 38) | func updateCount(ctx context.Context, x *xorm.Engine) error { function addGravatarBaseURL (line 57) | func addGravatarBaseURL(ctx context.Context, x *xorm.Engine) error { function addPrivilegeForInviteSomeoneToAnswer (line 80) | func addPrivilegeForInviteSomeoneToAnswer(ctx context.Context, x *xorm.E... function updateQuestionCount (line 138) | func updateQuestionCount(ctx context.Context, x *xorm.Engine) error { function updateTagCount (line 174) | func updateTagCount(ctx context.Context, x *xorm.Engine) error { function updateUserQuestionCount (line 259) | func updateUserQuestionCount(ctx context.Context, x *xorm.Engine) error { type AnswerV13 (line 298) | type AnswerV13 struct method TableName (line 306) | func (AnswerV13) TableName() string { function updateUserAnswerCount (line 311) | func updateUserAnswerCount(ctx context.Context, x *xorm.Engine) error { type QuestionV13 (line 350) | type QuestionV13 struct method TableName (line 375) | func (QuestionV13) TableName() string { function inviteAnswer (line 379) | func inviteAnswer(ctx context.Context, x *xorm.Engine) error { function inBoxData (line 388) | func inBoxData(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v14.go function updateTheLengthOfRevisionContent (line 31) | func updateTheLengthOfRevisionContent(ctx context.Context, x *xorm.Engin... type RevisionV14 (line 39) | type RevisionV14 struct method TableName (line 53) | func (RevisionV14) TableName() string { FILE: internal/migrations/v15.go function addNoticeConfig (line 29) | func addNoticeConfig(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v16.go function setDefaultUserNotificationConfig (line 31) | func setDefaultUserNotificationConfig(ctx context.Context, x *xorm.Engin... FILE: internal/migrations/v17.go function addRecoverPermission (line 32) | func addRecoverPermission(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v18.go function addPasswordLoginControl (line 33) | func addPasswordLoginControl(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v19.go function addNotificationPluginAndThemeConfig (line 29) | func addNotificationPluginAndThemeConfig(ctx context.Context, x *xorm.En... FILE: internal/migrations/v2.go function addTagRecommendedAndReserved (line 28) | func addTagRecommendedAndReserved(ctx context.Context, x *xorm.Engine) e... FILE: internal/migrations/v20.go function addReview (line 31) | func addReview(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v21.go function addQuestionHotScore (line 28) | func addQuestionHotScore(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v22.go function addBadges (line 32) | func addBadges(ctx context.Context, x *xorm.Engine) (err error) { FILE: internal/migrations/v23.go function addQuestionLink (line 29) | func addQuestionLink(ctx context.Context, x *xorm.Engine) (err error) { FILE: internal/migrations/v24.go function addQuestionLinkedCount (line 34) | func addQuestionLinkedCount(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v25.go function addFileRecord (line 31) | func addFileRecord(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v26.go function addPluginKVStorage (line 29) | func addPluginKVStorage(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v27.go function addSuspendedUntilToUser (line 34) | func addSuspendedUntilToUser(ctx context.Context, x *xorm.Engine) error { function moveUserConfigToInterface (line 41) | func moveUserConfigToInterface(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v28.go function addOptionalTags (line 34) | func addOptionalTags(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v29.go function expandAvatarColumnLength (line 29) | func expandAvatarColumnLength(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v3.go function addActivityTimeline (line 33) | func addActivityTimeline(ctx context.Context, x *xorm.Engine) (err error) { FILE: internal/migrations/v30.go function updateAdminMenuSettings (line 35) | func updateAdminMenuSettings(ctx context.Context, x *xorm.Engine) (err e... function splitWriteMenu (line 54) | func splitWriteMenu(ctx context.Context, x *xorm.Engine) error { function splitInterfaceMenu (line 159) | func splitInterfaceMenu(ctx context.Context, x *xorm.Engine) error { function splitLegalMenu (line 238) | func splitLegalMenu(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v31.go function aiFeat (line 34) | func aiFeat(ctx context.Context, x *xorm.Engine) error { function addAIConversationTables (line 45) | func addAIConversationTables(ctx context.Context, x *xorm.Engine) error { function addAPIKey (line 57) | func addAPIKey(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v4.go function addRoleFeatures (line 32) | func addRoleFeatures(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v5.go function addThemeAndPrivateMode (line 32) | func addThemeAndPrivateMode(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v6.go function addNewAnswerNotification (line 31) | func addNewAnswerNotification(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v7.go function addPlugin (line 31) | func addPlugin(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v8.go function addRolePinAndHideFeatures (line 33) | func addRolePinAndHideFeatures(ctx context.Context, x *xorm.Engine) error { FILE: internal/migrations/v9.go function updateAcceptAnswerRank (line 31) | func updateAcceptAnswerRank(ctx context.Context, x *xorm.Engine) error { FILE: internal/repo/activity/activity_repo.go type activityRepo (line 36) | type activityRepo struct method GetObjectAllActivity (line 52) | func (ar *activityRepo) GetObjectAllActivity(ctx context.Context, obje... method getAllActivityType (line 68) | func (ar *activityRepo) getAllActivityType(ctx context.Context) (activ... function NewActivityRepo (line 42) | func NewActivityRepo( FILE: internal/repo/activity/answer_repo.go type AnswerActivityRepo (line 45) | type AnswerActivityRepo struct method SaveAcceptAnswerActivity (line 67) | func (ar *AnswerActivityRepo) SaveAcceptAnswerActivity(ctx context.Con... method SaveCancelAcceptAnswerActivity (line 98) | func (ar *AnswerActivityRepo) SaveCancelAcceptAnswerActivity(ctx conte... method acquireUserInfo (line 145) | func (ar *AnswerActivityRepo) acquireUserInfo(session *xorm.Session, u... method saveActivitiesAvailable (line 164) | func (ar *AnswerActivityRepo) saveActivitiesAvailable(session *xorm.Se... method cancelActivities (line 214) | func (ar *AnswerActivityRepo) cancelActivities(session *xorm.Session, ... method changeUserRank (line 242) | func (ar *AnswerActivityRepo) changeUserRank(ctx context.Context, sess... method rollbackUserRank (line 262) | func (ar *AnswerActivityRepo) rollbackUserRank(ctx context.Context, se... method getExistActivity (line 282) | func (ar *AnswerActivityRepo) getExistActivity(ctx context.Context, op... method sendAcceptAnswerNotification (line 301) | func (ar *AnswerActivityRepo) sendAcceptAnswerNotification( method sendCancelAcceptAnswerNotification (line 331) | func (ar *AnswerActivityRepo) sendCancelAcceptAnswerNotification( function NewAnswerActivityRepo (line 53) | func NewAnswerActivityRepo( FILE: internal/repo/activity/follow_repo.go type FollowRepo (line 41) | type FollowRepo struct method Follow (line 60) | func (ar *FollowRepo) Follow(ctx context.Context, objectID, userID str... method FollowCancel (line 127) | func (ar *FollowRepo) FollowCancel(ctx context.Context, objectID, user... method updateFollows (line 171) | func (ar *FollowRepo) updateFollows(_ context.Context, session *xorm.S... function NewFollowRepo (line 48) | func NewFollowRepo( FILE: internal/repo/activity/review_repo.go type ReviewActivityRepo (line 42) | type ReviewActivityRepo struct method Review (line 69) | func (ar *ReviewActivityRepo) Review(ctx context.Context, act *schema.... constant EditAccepted (line 50) | EditAccepted = "edit.accepted" function NewReviewActivityRepo (line 54) | func NewReviewActivityRepo( FILE: internal/repo/activity/user_active_repo.go type UserActiveActivityRepo (line 40) | type UserActiveActivityRepo struct method UserActive (line 67) | func (ar *UserActiveActivityRepo) UserActive(ctx context.Context, user... constant UserActivated (line 48) | UserActivated = "user.activated" function NewUserActiveActivityRepo (line 52) | func NewUserActiveActivityRepo( FILE: internal/repo/activity/vote_repo.go type VoteRepo (line 50) | type VoteRepo struct method Vote (line 72) | func (vr *VoteRepo) Vote(ctx context.Context, op *schema.VoteOperation... method CancelVote (line 131) | func (vr *VoteRepo) CancelVote(ctx context.Context, op *schema.VoteOpe... method GetAndSaveVoteResult (line 183) | func (vr *VoteRepo) GetAndSaveVoteResult(ctx context.Context, objectID... method ListUserVotes (line 191) | func (vr *VoteRepo) ListUserVotes(ctx context.Context, userID string, method votePreCheck (line 210) | func (vr *VoteRepo) votePreCheck(ctx context.Context, op *schema.VoteO... method acquireUserInfo (line 224) | func (vr *VoteRepo) acquireUserInfo(session *xorm.Session, userIDs []s... method setActivityRankToZeroIfUserReachLimit (line 239) | func (vr *VoteRepo) setActivityRankToZeroIfUserReachLimit(ctx context.... method changeUserRank (line 268) | func (vr *VoteRepo) changeUserRank(ctx context.Context, session *xorm.... method rollbackUserRank (line 288) | func (vr *VoteRepo) rollbackUserRank(ctx context.Context, session *xor... method saveActivitiesAvailable (line 312) | func (vr *VoteRepo) saveActivitiesAvailable(session *xorm.Session, op ... method cancelActivities (line 363) | func (vr *VoteRepo) cancelActivities(session *xorm.Session, activities... method getExistActivity (line 391) | func (vr *VoteRepo) getExistActivity(ctx context.Context, op *schema.V... method countVoteUp (line 411) | func (vr *VoteRepo) countVoteUp(ctx context.Context, objectID, objectT... method countVoteDown (line 419) | func (vr *VoteRepo) countVoteDown(ctx context.Context, objectID, objec... method countVote (line 427) | func (vr *VoteRepo) countVote(ctx context.Context, objectID, objectTyp... method updateVotes (line 440) | func (vr *VoteRepo) updateVotes(ctx context.Context, objectID, objectT... method sendAchievementNotification (line 456) | func (vr *VoteRepo) sendAchievementNotification(ctx context.Context, a... method sendVoteInboxNotification (line 472) | func (vr *VoteRepo) sendVoteInboxNotification(ctx context.Context, tri... function NewVoteRepo (line 58) | func NewVoteRepo( FILE: internal/repo/activity_common/activity_repo.go type ActivityRepo (line 42) | type ActivityRepo struct method GetActivityTypeByObjID (line 61) | func (ar *ActivityRepo) GetActivityTypeByObjID(ctx context.Context, ob... method GetActivityTypeByObjectType (line 81) | func (ar *ActivityRepo) GetActivityTypeByObjectType(ctx context.Contex... method GetActivityTypeByConfigKey (line 90) | func (ar *ActivityRepo) GetActivityTypeByConfigKey(ctx context.Context... method GetActivity (line 98) | func (ar *ActivityRepo) GetActivity(ctx context.Context, session *xorm... method GetUserActivitiesByActivityType (line 110) | func (ar *ActivityRepo) GetUserActivitiesByActivityType(ctx context.Co... method GetUserIDObjectIDActivitySum (line 123) | func (ar *ActivityRepo) GetUserIDObjectIDActivitySum(ctx context.Conte... method AddActivity (line 139) | func (ar *ActivityRepo) AddActivity(ctx context.Context, activity *ent... method GetUsersWhoHasGainedTheMostReputation (line 148) | func (ar *ActivityRepo) GetUsersWhoHasGainedTheMostReputation( method GetUsersWhoHasVoteMost (line 166) | func (ar *ActivityRepo) GetUsersWhoHasVoteMost( function NewActivityRepo (line 49) | func NewActivityRepo( FILE: internal/repo/activity_common/follow.go type FollowRepo (line 39) | type FollowRepo struct method GetFollowAmount (line 59) | func (ar *FollowRepo) GetFollowAmount(ctx context.Context, objectID st... method GetFollowUserIDs (line 94) | func (ar *FollowRepo) GetFollowUserIDs(ctx context.Context, objectID s... method GetFollowIDs (line 119) | func (ar *FollowRepo) GetFollowIDs(ctx context.Context, userID, object... method IsFollowed (line 137) | func (ar *FollowRepo) IsFollowed(ctx context.Context, userID, objectID... method MigrateFollowers (line 164) | func (ar *FollowRepo) MigrateFollowers(ctx context.Context, sourceObje... function NewFollowRepo (line 46) | func NewFollowRepo( FILE: internal/repo/activity_common/vote.go type VoteRepo (line 36) | type VoteRepo struct method GetVoteStatus (line 49) | func (vr *VoteRepo) GetVoteStatus(ctx context.Context, objectID, userI... method GetVoteCount (line 76) | func (vr *VoteRepo) GetVoteCount(ctx context.Context, activityTypes []... function NewVoteRepo (line 42) | func NewVoteRepo(data *data.Data, activityRepo activity_common.ActivityR... FILE: internal/repo/ai_conversation/ai_conversation_repo.go type AIConversationRepo (line 36) | type AIConversationRepo interface type aiConversationRepo (line 51) | type aiConversationRepo struct method CreateConversation (line 63) | func (r *aiConversationRepo) CreateConversation(ctx context.Context, c... method GetConversation (line 73) | func (r *aiConversationRepo) GetConversation(ctx context.Context, conv... method UpdateConversation (line 84) | func (r *aiConversationRepo) UpdateConversation(ctx context.Context, c... method GetConversationsPage (line 94) | func (r *aiConversationRepo) GetConversationsPage(ctx context.Context,... method CreateRecord (line 104) | func (r *aiConversationRepo) CreateRecord(ctx context.Context, record ... method GetRecordsByConversationID (line 114) | func (r *aiConversationRepo) GetRecordsByConversationID(ctx context.Co... method UpdateRecordVote (line 128) | func (r *aiConversationRepo) UpdateRecordVote(ctx context.Context, con... method GetRecord (line 138) | func (r *aiConversationRepo) GetRecord(ctx context.Context, recordID i... method GetRecordByChatCompletionID (line 149) | func (r *aiConversationRepo) GetRecordByChatCompletionID(ctx context.C... method GetConversationsForAdmin (line 161) | func (r *aiConversationRepo) GetConversationsForAdmin(ctx context.Cont... method GetConversationWithVoteStats (line 171) | func (r *aiConversationRepo) GetConversationWithVoteStats(ctx context.... method DeleteConversation (line 185) | func (r *aiConversationRepo) DeleteConversation(ctx context.Context, c... function NewAIConversationRepo (line 56) | func NewAIConversationRepo(data *data.Data) AIConversationRepo { FILE: internal/repo/answer/answer_repo.go type answerRepo (line 44) | type answerRepo struct method AddAnswer (line 67) | func (ar *answerRepo) AddAnswer(ctx context.Context, answer *entity.An... method RemoveAnswer (line 88) | func (ar *answerRepo) RemoveAnswer(ctx context.Context, answerID strin... method RecoverAnswer (line 101) | func (ar *answerRepo) RecoverAnswer(ctx context.Context, answerID stri... method RemoveAllUserAnswer (line 114) | func (ar *answerRepo) RemoveAllUserAnswer(ctx context.Context, userID ... method UpdateAnswer (line 148) | func (ar *answerRepo) UpdateAnswer(ctx context.Context, answer *entity... method UpdateAnswerStatus (line 159) | func (ar *answerRepo) UpdateAnswerStatus(ctx context.Context, answerID... method GetAnswer (line 170) | func (ar *answerRepo) GetAnswer(ctx context.Context, id string) ( method GetAnswerCount (line 187) | func (ar *answerRepo) GetAnswerCount(ctx context.Context) (count int64... method GetAnswerList (line 197) | func (ar *answerRepo) GetAnswerList(ctx context.Context, answer *entit... method GetAnswerPage (line 215) | func (ar *answerRepo) GetAnswerPage(ctx context.Context, page, pageSiz... method UpdateAcceptedStatus (line 233) | func (ar *answerRepo) UpdateAcceptedStatus(ctx context.Context, accept... method GetByID (line 259) | func (ar *answerRepo) GetByID(ctx context.Context, answerID string) (*... method GetByIDs (line 273) | func (ar *answerRepo) GetByIDs(ctx context.Context, answerIDs ...strin... method GetCountByQuestionID (line 291) | func (ar *answerRepo) GetCountByQuestionID(ctx context.Context, questi... method GetCountByUserID (line 301) | func (ar *answerRepo) GetCountByUserID(ctx context.Context, userID str... method GetIDsByUserIDAndQuestionID (line 310) | func (ar *answerRepo) GetIDsByUserIDAndQuestionID(ctx context.Context,... method SearchList (line 329) | func (ar *answerRepo) SearchList(ctx context.Context, search *entity.A... method GetPersonalAnswerPage (line 387) | func (ar *answerRepo) GetPersonalAnswerPage(ctx context.Context, req *... method AdminSearchList (line 422) | func (ar *answerRepo) AdminSearchList(ctx context.Context, req *schema... method SumVotesByQuestionID (line 452) | func (ar *answerRepo) SumVotesByQuestionID(ctx context.Context, questi... method updateSearch (line 463) | func (ar *answerRepo) updateSearch(ctx context.Context, answerID strin... method DeletePermanentlyAnswers (line 532) | func (ar *answerRepo) DeletePermanentlyAnswers(ctx context.Context) er... function NewAnswerRepo (line 52) | func NewAnswerRepo( FILE: internal/repo/api_key/api_key_repo.go type apiKeyRepo (line 32) | type apiKeyRepo struct method GetAPIKeyList (line 43) | func (ar *apiKeyRepo) GetAPIKeyList(ctx context.Context) (keys []*enti... method GetAPIKey (line 52) | func (ar *apiKeyRepo) GetAPIKey(ctx context.Context, apiKey string) (k... method UpdateAPIKey (line 61) | func (ar *apiKeyRepo) UpdateAPIKey(ctx context.Context, apiKey entity.... method AddAPIKey (line 69) | func (ar *apiKeyRepo) AddAPIKey(ctx context.Context, apiKey entity.API... method DeleteAPIKey (line 77) | func (ar *apiKeyRepo) DeleteAPIKey(ctx context.Context, id int) (err e... function NewAPIKeyRepo (line 37) | func NewAPIKeyRepo(data *data.Data) apikey.APIKeyRepo { FILE: internal/repo/auth/auth.go type authRepo (line 37) | type authRepo struct method GetUserCacheInfo (line 49) | func (ar *authRepo) GetUserCacheInfo(ctx context.Context, accessToken ... method SetUserCacheInfo (line 63) | func (ar *authRepo) SetUserCacheInfo(ctx context.Context, method GetUserVisitCacheInfo (line 89) | func (ar *authRepo) GetUserVisitCacheInfo(ctx context.Context, visitTo... method RemoveUserCacheInfo (line 101) | func (ar *authRepo) RemoveUserCacheInfo(ctx context.Context, accessTok... method RemoveUserVisitCacheInfo (line 110) | func (ar *authRepo) RemoveUserVisitCacheInfo(ctx context.Context, visi... method SetUserStatus (line 119) | func (ar *authRepo) SetUserStatus(ctx context.Context, userID string, ... method GetUserStatus (line 133) | func (ar *authRepo) GetUserStatus(ctx context.Context, userID string) ... method RemoveUserStatus (line 147) | func (ar *authRepo) RemoveUserStatus(ctx context.Context, userID strin... method GetAdminUserCacheInfo (line 156) | func (ar *authRepo) GetAdminUserCacheInfo(ctx context.Context, accessT... method SetAdminUserCacheInfo (line 171) | func (ar *authRepo) SetAdminUserCacheInfo(ctx context.Context, accessT... method RemoveAdminUserCacheInfo (line 186) | func (ar *authRepo) RemoveAdminUserCacheInfo(ctx context.Context, acce... method AddUserTokenMapping (line 195) | func (ar *authRepo) AddUserTokenMapping(ctx context.Context, userID, a... method RemoveUserTokens (line 211) | func (ar *authRepo) RemoveUserTokens(ctx context.Context, userID strin... function NewAuthRepo (line 42) | func NewAuthRepo(data *data.Data) auth.AuthRepo { FILE: internal/repo/badge/badge_event_rule.go type eventRuleRepo (line 37) | type eventRuleRepo struct method HandleEventWithRule (line 73) | func (br *eventRuleRepo) HandleEventWithRule(ctx context.Context, msg ... method FirstUpdateUserProfile (line 88) | func (br *eventRuleRepo) FirstUpdateUserProfile(ctx context.Context, method FirstPostEdit (line 108) | func (br *eventRuleRepo) FirstPostEdit(ctx context.Context, method FirstFlaggedPost (line 118) | func (br *eventRuleRepo) FirstFlaggedPost(ctx context.Context, method FirstVotedPost (line 128) | func (br *eventRuleRepo) FirstVotedPost(ctx context.Context, method FirstReactedPost (line 138) | func (br *eventRuleRepo) FirstReactedPost(ctx context.Context, method FirstSharedPost (line 148) | func (br *eventRuleRepo) FirstSharedPost(ctx context.Context, method FirstAcceptAnswer (line 158) | func (br *eventRuleRepo) FirstAcceptAnswer(ctx context.Context, method ReachAnswerAcceptedAmount (line 168) | func (br *eventRuleRepo) ReachAnswerAcceptedAmount(ctx context.Context, method ReachAnswerVote (line 197) | func (br *eventRuleRepo) ReachAnswerVote(ctx context.Context, method ReachQuestionVote (line 218) | func (br *eventRuleRepo) ReachQuestionVote(ctx context.Context, method getBadgesByHandler (line 238) | func (br *eventRuleRepo) getBadgesByHandler(ctx context.Context, handl... method createBadgeAward (line 248) | func (br *eventRuleRepo) createBadgeAward(userID, awardKey string, bad... function NewEventRuleRepo (line 43) | func NewEventRuleRepo(data *data.Data) badge.EventRuleRepo { FILE: internal/repo/badge/badge_repo.go type badgeRepo (line 35) | type badgeRepo struct method GetByID (line 48) | func (r *badgeRepo) GetByID(ctx context.Context, id string) (badge *en... method GetByIDs (line 57) | func (r *badgeRepo) GetByIDs(ctx context.Context, ids []string) (badge... method ListPaged (line 67) | func (r *badgeRepo) ListPaged(ctx context.Context, page int, pageSize ... method ListActivated (line 85) | func (r *badgeRepo) ListActivated(ctx context.Context, page int, pageS... method ListInactivated (line 103) | func (r *badgeRepo) ListInactivated(ctx context.Context, page int, pag... method UpdateStatus (line 121) | func (r *badgeRepo) UpdateStatus(ctx context.Context, id string, statu... method UpdateAwardCount (line 146) | func (r *badgeRepo) UpdateAwardCount(ctx context.Context, badgeID stri... function NewBadgeRepo (line 41) | func NewBadgeRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo) bad... FILE: internal/repo/badge_award/badge_award_repo.go type badgeAwardRepo (line 36) | type badgeAwardRepo struct method AwardBadgeForUser (line 49) | func (r *badgeAwardRepo) AwardBadgeForUser(ctx context.Context, badgeA... method CheckIsAward (line 97) | func (r *badgeAwardRepo) CheckIsAward(ctx context.Context, badgeID, us... method CountByUserIdAndBadgeId (line 110) | func (r *badgeAwardRepo) CountByUserIdAndBadgeId(ctx context.Context, ... method CountByBadgeID (line 118) | func (r *badgeAwardRepo) CountByBadgeID(ctx context.Context, badgeID s... method SumUserEarnedGroupByBadgeID (line 126) | func (r *badgeAwardRepo) SumUserEarnedGroupByBadgeID(ctx context.Conte... method ListPagedByBadgeId (line 132) | func (r *badgeAwardRepo) ListPagedByBadgeId(ctx context.Context, badge... method ListPagedByBadgeIdAndUserId (line 143) | func (r *badgeAwardRepo) ListPagedByBadgeIdAndUserId(ctx context.Conte... method ListNewestEarned (line 154) | func (r *badgeAwardRepo) ListNewestEarned(ctx context.Context, userID ... method GetByUserIdAndBadgeId (line 166) | func (r *badgeAwardRepo) GetByUserIdAndBadgeId(ctx context.Context, us... method GetByUserIdAndBadgeIdAndAwardKey (line 178) | func (r *badgeAwardRepo) GetByUserIdAndBadgeIdAndAwardKey(ctx context.... method DeleteUserBadgeAward (line 190) | func (r *badgeAwardRepo) DeleteUserBadgeAward(ctx context.Context, use... function NewBadgeAwardRepo (line 41) | func NewBadgeAwardRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo... FILE: internal/repo/badge_group/badge_group_repo.go type badgeGroupRepo (line 31) | type badgeGroupRepo struct method ListGroups (line 43) | func (r *badgeGroupRepo) ListGroups(ctx context.Context) (groups []*en... method AddGroup (line 49) | func (r *badgeGroupRepo) AddGroup(ctx context.Context, group *entity.B... function NewBadgeGroupRepo (line 36) | func NewBadgeGroupRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo... FILE: internal/repo/captcha/captcha.go type captchaRepo (line 37) | type captchaRepo struct method SetActionType (line 48) | func (cr *captchaRepo) SetActionType(ctx context.Context, unit, action... method GetActionType (line 65) | func (cr *captchaRepo) GetActionType(ctx context.Context, unit, action... method DelActionType (line 80) | func (cr *captchaRepo) DelActionType(ctx context.Context, unit, action... method SetCaptcha (line 91) | func (cr *captchaRepo) SetCaptcha(ctx context.Context, key, captcha st... method GetCaptcha (line 100) | func (cr *captchaRepo) GetCaptcha(ctx context.Context, key string) (ca... method DelCaptcha (line 111) | func (cr *captchaRepo) DelCaptcha(ctx context.Context, key string) (er... function NewCaptchaRepo (line 42) | func NewCaptchaRepo(data *data.Data) action.CaptchaRepo { FILE: internal/repo/collection/collection_group_repo.go type collectionGroupRepo (line 37) | type collectionGroupRepo struct method AddCollectionGroup (line 49) | func (cr *collectionGroupRepo) AddCollectionGroup(ctx context.Context,... method AddCollectionDefaultGroup (line 58) | func (cr *collectionGroupRepo) AddCollectionDefaultGroup(ctx context.C... method CreateDefaultGroupIfNotExist (line 74) | func (cr *collectionGroupRepo) CreateDefaultGroupIfNotExist(ctx contex... method UpdateCollectionGroup (line 110) | func (cr *collectionGroupRepo) UpdateCollectionGroup(ctx context.Conte... method GetCollectionGroup (line 119) | func (cr *collectionGroupRepo) GetCollectionGroup(ctx context.Context,... method GetCollectionGroupPage (line 131) | func (cr *collectionGroupRepo) GetCollectionGroupPage(ctx context.Cont... method GetDefaultID (line 145) | func (cr *collectionGroupRepo) GetDefaultID(ctx context.Context, userI... function NewCollectionGroupRepo (line 42) | func NewCollectionGroupRepo(data *data.Data) collection.CollectionGroupR... FILE: internal/repo/collection/collection_repo.go type collectionRepo (line 39) | type collectionRepo struct method AddCollection (line 53) | func (cr *collectionRepo) AddCollection(ctx context.Context, collectio... method RemoveCollection (line 85) | func (cr *collectionRepo) RemoveCollection(ctx context.Context, id str... method UpdateCollection (line 94) | func (cr *collectionRepo) UpdateCollection(ctx context.Context, collec... method GetCollection (line 100) | func (cr *collectionRepo) GetCollection(ctx context.Context, id int) (... method GetCollectionList (line 110) | func (cr *collectionRepo) GetCollectionList(ctx context.Context, colle... method GetOneByObjectIDAndUser (line 118) | func (cr *collectionRepo) GetOneByObjectIDAndUser(ctx context.Context,... method SearchByObjectIDsAndUser (line 128) | func (cr *collectionRepo) SearchByObjectIDsAndUser(ctx context.Context... method CountByObjectID (line 138) | func (cr *collectionRepo) CountByObjectID(ctx context.Context, objectI... method GetCollectionPage (line 148) | func (cr *collectionRepo) GetCollectionPage(ctx context.Context, page,... method SearchObjectCollected (line 169) | func (cr *collectionRepo) SearchObjectCollected(ctx context.Context, u... method SearchList (line 191) | func (cr *collectionRepo) SearchList(ctx context.Context, search *enti... function NewCollectionRepo (line 45) | func NewCollectionRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo... FILE: internal/repo/comment/comment_repo.go type commentRepo (line 38) | type commentRepo struct method AddComment (line 60) | func (cr *commentRepo) AddComment(ctx context.Context, comment *entity... method RemoveComment (line 73) | func (cr *commentRepo) RemoveComment(ctx context.Context, commentID st... method UpdateCommentContent (line 83) | func (cr *commentRepo) UpdateCommentContent( method UpdateCommentStatus (line 96) | func (cr *commentRepo) UpdateCommentStatus(ctx context.Context, commen... method GetComment (line 107) | func (cr *commentRepo) GetComment(ctx context.Context, commentID strin... method GetCommentWithoutStatus (line 118) | func (cr *commentRepo) GetCommentWithoutStatus(ctx context.Context, co... method GetCommentCount (line 128) | func (cr *commentRepo) GetCommentCount(ctx context.Context) (count int... method GetCommentPage (line 138) | func (cr *commentRepo) GetCommentPage(ctx context.Context, commentQuer... method RemoveAllUserComment (line 156) | func (cr *commentRepo) RemoveAllUserComment(ctx context.Context, userI... function NewCommentRepo (line 44) | func NewCommentRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo) c... function NewCommentCommonRepo (line 52) | func NewCommentCommonRepo(data *data.Data, uniqueIDRepo unique.UniqueIDR... FILE: internal/repo/config/config_repo.go type configRepo (line 36) | type configRepo struct method GetConfigByID (line 48) | func (cr configRepo) GetConfigByID(ctx context.Context, id int) (c *en... method GetConfigByKey (line 75) | func (cr configRepo) GetConfigByKey(ctx context.Context, key string) (... method GetConfigByKeyFromDB (line 102) | func (cr configRepo) GetConfigByKeyFromDB(ctx context.Context, key str... method UpdateConfig (line 114) | func (cr configRepo) UpdateConfig(ctx context.Context, key string, val... function NewConfigRepo (line 41) | func NewConfigRepo(data *data.Data) config.ConfigRepo { FILE: internal/repo/export/email_repo.go type emailRepo (line 36) | type emailRepo struct method SetCode (line 48) | func (e *emailRepo) SetCode(ctx context.Context, userID, code, content... method VerifyCode (line 63) | func (e *emailRepo) VerifyCode(ctx context.Context, code string) (cont... function NewEmailRepo (line 41) | func NewEmailRepo(data *data.Data) export.EmailRepo { FILE: internal/repo/file_record/file_record_repo.go type fileRecordRepo (line 35) | type fileRecordRepo struct method AddFileRecord (line 47) | func (fr *fileRecordRepo) AddFileRecord(ctx context.Context, fileRecor... method GetFileRecordPage (line 56) | func (fr *fileRecordRepo) GetFileRecordPage(ctx context.Context, page,... method DeleteFileRecord (line 69) | func (fr *fileRecordRepo) DeleteFileRecord(ctx context.Context, id int... method UpdateFileRecord (line 78) | func (fr *fileRecordRepo) UpdateFileRecord(ctx context.Context, fileRe... method GetFileRecordByURL (line 87) | func (fr *fileRecordRepo) GetFileRecordByURL(ctx context.Context, file... function NewFileRecordRepo (line 40) | func NewFileRecordRepo(data *data.Data) file_record.FileRecordRepo { FILE: internal/repo/limit/limit.go type LimitRepo (line 34) | type LimitRepo struct method CheckAndRecord (line 46) | func (lr *LimitRepo) CheckAndRecord(ctx context.Context, key string) (... method ClearRecord (line 63) | func (lr *LimitRepo) ClearRecord(ctx context.Context, key string) error { function NewRateLimitRepo (line 39) | func NewRateLimitRepo(data *data.Data) *LimitRepo { FILE: internal/repo/meta/meta_repo.go type metaRepo (line 35) | type metaRepo struct method AddMeta (line 47) | func (mr *metaRepo) AddMeta(ctx context.Context, meta *entity.Meta) (e... method RemoveMeta (line 56) | func (mr *metaRepo) RemoveMeta(ctx context.Context, id int) (err error) { method UpdateMeta (line 65) | func (mr *metaRepo) UpdateMeta(ctx context.Context, meta *entity.Meta)... method AddOrUpdateMetaByObjectIdAndKey (line 74) | func (mr *metaRepo) AddOrUpdateMetaByObjectIdAndKey(ctx context.Contex... method GetMetaByObjectIdAndKey (line 103) | func (mr *metaRepo) GetMetaByObjectIdAndKey(ctx context.Context, objec... method GetMetaList (line 114) | func (mr *metaRepo) GetMetaList(ctx context.Context, meta *entity.Meta... function NewMetaRepo (line 40) | func NewMetaRepo(data *data.Data) metacommon.MetaRepo { FILE: internal/repo/notification/notification_repo.go type notificationRepo (line 37) | type notificationRepo struct method AddNotification (line 49) | func (nr *notificationRepo) AddNotification(ctx context.Context, notif... method UpdateNotificationContent (line 58) | func (nr *notificationRepo) UpdateNotificationContent(ctx context.Cont... method ClearUnRead (line 69) | func (nr *notificationRepo) ClearUnRead(ctx context.Context, userID st... method ClearIDUnRead (line 79) | func (nr *notificationRepo) ClearIDUnRead(ctx context.Context, userID ... method GetById (line 89) | func (nr *notificationRepo) GetById(ctx context.Context, id string) (*... method GetByUserIdObjectIdTypeId (line 99) | func (nr *notificationRepo) GetByUserIdObjectIdTypeId(ctx context.Cont... method GetNotificationPage (line 109) | func (nr *notificationRepo) GetNotificationPage(ctx context.Context, s... method CountNotificationByUser (line 133) | func (nr *notificationRepo) CountNotificationByUser(ctx context.Contex... method DeleteNotification (line 141) | func (nr *notificationRepo) DeleteNotification(ctx context.Context, us... method DeleteUserNotificationConfig (line 149) | func (nr *notificationRepo) DeleteUserNotificationConfig(ctx context.C... function NewNotificationRepo (line 42) | func NewNotificationRepo(data *data.Data) notficationcommon.Notification... FILE: internal/repo/plugin_config/plugin_config_repo.go type pluginConfigRepo (line 32) | type pluginConfigRepo struct method SavePluginConfig (line 43) | func (ur *pluginConfigRepo) SavePluginConfig(ctx context.Context, plug... method GetPluginConfigAll (line 61) | func (ur *pluginConfigRepo) GetPluginConfigAll(ctx context.Context) (p... function NewPluginConfigRepo (line 37) | func NewPluginConfigRepo(data *data.Data) plugin_common.PluginConfigRepo { FILE: internal/repo/plugin_config/plugin_user_config_repo.go type pluginUserConfigRepo (line 35) | type pluginUserConfigRepo struct method SaveUserPluginConfig (line 46) | func (ur *pluginUserConfigRepo) SaveUserPluginConfig(ctx context.Conte... method GetPluginUserConfig (line 79) | func (ur *pluginUserConfigRepo) GetPluginUserConfig(ctx context.Contex... method GetPluginUserConfigPage (line 92) | func (ur *pluginUserConfigRepo) GetPluginUserConfigPage(ctx context.Co... method DeleteUserPluginConfig (line 102) | func (ur *pluginUserConfigRepo) DeleteUserPluginConfig(ctx context.Con... function NewPluginUserConfigRepo (line 40) | func NewPluginUserConfigRepo(data *data.Data) plugin_common.PluginUserCo... FILE: internal/repo/question/question_repo.go type questionRepo (line 49) | type questionRepo struct method AddQuestion (line 66) | func (qr *questionRepo) AddQuestion(ctx context.Context, question *ent... method RemoveQuestion (line 82) | func (qr *questionRepo) RemoveQuestion(ctx context.Context, id string)... method UpdateQuestion (line 92) | func (qr *questionRepo) UpdateQuestion(ctx context.Context, question *... method UpdatePvCount (line 105) | func (qr *questionRepo) UpdatePvCount(ctx context.Context, questionID ... method UpdateAnswerCount (line 116) | func (qr *questionRepo) UpdateAnswerCount(ctx context.Context, questio... method UpdateCollectionCount (line 128) | func (qr *questionRepo) UpdateCollectionCount(ctx context.Context, que... method UpdateQuestionStatus (line 150) | func (qr *questionRepo) UpdateQuestionStatus(ctx context.Context, ques... method UpdateQuestionStatusWithOutUpdateTime (line 160) | func (qr *questionRepo) UpdateQuestionStatusWithOutUpdateTime(ctx cont... method DeletePermanentlyQuestions (line 170) | func (qr *questionRepo) DeletePermanentlyQuestions(ctx context.Context... method RecoverQuestion (line 195) | func (qr *questionRepo) RecoverQuestion(ctx context.Context, questionI... method UpdateQuestionOperation (line 205) | func (qr *questionRepo) UpdateQuestionOperation(ctx context.Context, q... method UpdateAccepted (line 214) | func (qr *questionRepo) UpdateAccepted(ctx context.Context, question *... method UpdateLastAnswer (line 224) | func (qr *questionRepo) UpdateLastAnswer(ctx context.Context, question... method GetQuestion (line 235) | func (qr *questionRepo) GetQuestion(ctx context.Context, id string) ( method GetQuestionsByTitle (line 252) | func (qr *questionRepo) GetQuestionsByTitle(ctx context.Context, title... method FindByID (line 271) | func (qr *questionRepo) FindByID(ctx context.Context, id []string) (qu... method GetQuestionList (line 289) | func (qr *questionRepo) GetQuestionList(ctx context.Context, question ... method GetQuestionCount (line 302) | func (qr *questionRepo) GetQuestionCount(ctx context.Context) (count i... method GetUnansweredQuestionCount (line 312) | func (qr *questionRepo) GetUnansweredQuestionCount(ctx context.Context... method GetResolvedQuestionCount (line 323) | func (qr *questionRepo) GetResolvedQuestionCount(ctx context.Context) ... method GetUserQuestionCount (line 335) | func (qr *questionRepo) GetUserQuestionCount(ctx context.Context, user... method SitemapQuestions (line 345) | func (qr *questionRepo) SitemapQuestions(ctx context.Context, page, pa... method GetQuestionPage (line 395) | func (qr *questionRepo) GetQuestionPage(ctx context.Context, page, pag... method GetRecommendQuestionPageByTags (line 460) | func (qr *questionRepo) GetRecommendQuestionPageByTags(ctx context.Con... method AdminQuestionPage (line 514) | func (qr *questionRepo) AdminQuestionPage(ctx context.Context, search ... method UpdateSearch (line 584) | func (qr *questionRepo) UpdateSearch(ctx context.Context, questionID s... method RemoveAllUserQuestion (line 637) | func (qr *questionRepo) RemoveAllUserQuestion(ctx context.Context, use... method LinkQuestion (line 671) | func (qr *questionRepo) LinkQuestion(ctx context.Context, link ...*ent... method UpdateQuestionLinkCount (line 744) | func (qr *questionRepo) UpdateQuestionLinkCount(ctx context.Context, q... method GetLinkedQuestionIDs (line 764) | func (qr *questionRepo) GetLinkedQuestionIDs(ctx context.Context, ques... method RecoverQuestionLink (line 780) | func (qr *questionRepo) RecoverQuestionLink(ctx context.Context, links... method RemoveQuestionLink (line 785) | func (qr *questionRepo) RemoveQuestionLink(ctx context.Context, links ... method UpdateQuestionLinkStatus (line 790) | func (qr *questionRepo) UpdateQuestionLinkStatus(ctx context.Context, ... method GetQuestionLink (line 820) | func (qr *questionRepo) GetQuestionLink(ctx context.Context, page, pag... function NewQuestionRepo (line 55) | func NewQuestionRepo( FILE: internal/repo/rank/user_rank_repo.go type UserRankRepo (line 40) | type UserRankRepo struct method GetMaxDailyRank (line 53) | func (ur *UserRankRepo) GetMaxDailyRank(ctx context.Context) (maxDaily... method CheckReachLimit (line 61) | func (ur *UserRankRepo) CheckReachLimit(ctx context.Context, session *... method ChangeUserRank (line 84) | func (ur *UserRankRepo) ChangeUserRank( method TriggerUserRank (line 106) | func (ur *UserRankRepo) TriggerUserRank(ctx context.Context, method checkUserMinRank (line 144) | func (ur *UserRankRepo) checkUserMinRank(_ context.Context, session *x... method checkUserTodayRank (line 159) | func (ur *UserRankRepo) checkUserTodayRank(ctx context.Context, method UserRankPage (line 201) | func (ur *UserRankRepo) UserRankPage(ctx context.Context, userID strin... function NewUserRankRepo (line 46) | func NewUserRankRepo(data *data.Data, configService *config.ConfigServic... FILE: internal/repo/reason/reason_repo.go type reasonRepo (line 34) | type reasonRepo struct method ListReasons (line 44) | func (rr *reasonRepo) ListReasons(ctx context.Context, objectType, act... function NewReasonRepo (line 38) | func NewReasonRepo(configService *config.ConfigService) reason_common.Re... FILE: internal/repo/repo_test/auth_test.go function Test_authRepo_SetUserCacheInfo (line 38) | func Test_authRepo_SetUserCacheInfo(t *testing.T) { function Test_authRepo_RemoveUserCacheInfo (line 49) | func Test_authRepo_RemoveUserCacheInfo(t *testing.T) { function Test_authRepo_SetUserStatus (line 63) | func Test_authRepo_SetUserStatus(t *testing.T) { function Test_authRepo_RemoveUserStatus (line 73) | func Test_authRepo_RemoveUserStatus(t *testing.T) { function Test_authRepo_SetAdminUserCacheInfo (line 87) | func Test_authRepo_SetAdminUserCacheInfo(t *testing.T) { function Test_authRepo_RemoveAdminUserCacheInfo (line 98) | func Test_authRepo_RemoveAdminUserCacheInfo(t *testing.T) { FILE: internal/repo/repo_test/captcha_test.go function Test_captchaRepo_DelActionType (line 37) | func Test_captchaRepo_DelActionType(t *testing.T) { function Test_captchaRepo_SetCaptcha (line 50) | func Test_captchaRepo_SetCaptcha(t *testing.T) { FILE: internal/repo/repo_test/comment_repo_test.go function buildCommentEntity (line 35) | func buildCommentEntity() *entity.Comment { function Test_commentRepo_AddComment (line 47) | func Test_commentRepo_AddComment(t *testing.T) { function Test_commentRepo_GetCommentPage (line 58) | func Test_commentRepo_GetCommentPage(t *testing.T) { function Test_commentRepo_UpdateComment (line 79) | func Test_commentRepo_UpdateComment(t *testing.T) { function Test_commentRepo_CannotGetDeletedComment (line 100) | func Test_commentRepo_CannotGetDeletedComment(t *testing.T) { FILE: internal/repo/repo_test/email_repo_test.go function Test_emailRepo_VerifyCode (line 32) | func Test_emailRepo_VerifyCode(t *testing.T) { FILE: internal/repo/repo_test/meta_repo_test.go function buildMetaEntity (line 32) | func buildMetaEntity() *entity.Meta { function Test_metaRepo_GetMetaByObjectIdAndKey (line 40) | func Test_metaRepo_GetMetaByObjectIdAndKey(t *testing.T) { function Test_metaRepo_GetMetaList (line 56) | func Test_metaRepo_GetMetaList(t *testing.T) { function Test_metaRepo_GetMetaPage (line 72) | func Test_metaRepo_GetMetaPage(t *testing.T) { function Test_metaRepo_UpdateMeta (line 88) | func Test_metaRepo_UpdateMeta(t *testing.T) { FILE: internal/repo/repo_test/notification_repo_test.go function buildNotificationEntity (line 33) | func buildNotificationEntity() *entity.Notification { function Test_notificationRepo_ClearIDUnRead (line 44) | func Test_notificationRepo_ClearIDUnRead(t *testing.T) { function Test_notificationRepo_ClearUnRead (line 59) | func Test_notificationRepo_ClearUnRead(t *testing.T) { function Test_notificationRepo_GetById (line 74) | func Test_notificationRepo_GetById(t *testing.T) { function Test_notificationRepo_GetByUserIdObjectIdTypeId (line 86) | func Test_notificationRepo_GetByUserIdObjectIdTypeId(t *testing.T) { function Test_notificationRepo_GetNotificationPage (line 98) | func Test_notificationRepo_GetNotificationPage(t *testing.T) { function Test_notificationRepo_UpdateNotificationContent (line 110) | func Test_notificationRepo_UpdateNotificationContent(t *testing.T) { FILE: internal/repo/repo_test/reason_repo_test.go function Test_reasonRepo_ListReasons (line 34) | func Test_reasonRepo_ListReasons(t *testing.T) { FILE: internal/repo/repo_test/recommend_test.go function Test_questionRepo_GetRecommend (line 40) | func Test_questionRepo_GetRecommend(t *testing.T) { FILE: internal/repo/repo_test/repo_main_test.go function TestMain (line 73) | func TestMain(t *testing.M) { type TestDBSetting (line 98) | type TestDBSetting struct function initTestDataSource (line 107) | func initTestDataSource(dbSetting TestDBSetting) error { function initDatabaseImage (line 139) | func initDatabaseImage(dbSetting TestDBSetting) (connection string, clea... function initDatabase (line 182) | func initDatabase(dbSetting TestDBSetting) (dbEngine *xorm.Engine, err e... function initCache (line 202) | func initCache() (newCache cache.Cache, err error) { FILE: internal/repo/repo_test/revision_repo_test.go function getRev (line 53) | func getRev(objID, title, content string) *entity.Revision { function Test_revisionRepo_AddRevision (line 64) | func Test_revisionRepo_AddRevision(t *testing.T) { function Test_revisionRepo_GetLastRevisionByObjectID (line 99) | func Test_revisionRepo_GetLastRevisionByObjectID(t *testing.T) { function Test_revisionRepo_GetRevisionList (line 112) | func Test_revisionRepo_GetRevisionList(t *testing.T) { FILE: internal/repo/repo_test/siteinfo_repo_test.go function Test_siteInfoRepo_SaveByType (line 32) | func Test_siteInfoRepo_SaveByType(t *testing.T) { FILE: internal/repo/repo_test/tag_rel_repo_test.go function addTagRelList (line 52) | func addTagRelList() { function Test_tagListRepo_BatchGetObjectTagRelList (line 60) | func Test_tagListRepo_BatchGetObjectTagRelList(t *testing.T) { function Test_tagListRepo_CountTagRelByTagID (line 69) | func Test_tagListRepo_CountTagRelByTagID(t *testing.T) { function Test_tagListRepo_GetObjectTagRelList (line 77) | func Test_tagListRepo_GetObjectTagRelList(t *testing.T) { function Test_tagListRepo_GetObjectTagRelWithoutStatus (line 87) | func Test_tagListRepo_GetObjectTagRelWithoutStatus(t *testing.T) { FILE: internal/repo/repo_test/tag_repo_test.go function addTagList (line 65) | func addTagList() { function Test_tagRepo_GetTagByID (line 74) | func Test_tagRepo_GetTagByID(t *testing.T) { function Test_tagRepo_GetTagBySlugName (line 84) | func Test_tagRepo_GetTagBySlugName(t *testing.T) { function Test_tagRepo_GetTagList (line 94) | func Test_tagRepo_GetTagList(t *testing.T) { function Test_tagRepo_GetTagListByIDs (line 103) | func Test_tagRepo_GetTagListByIDs(t *testing.T) { function Test_tagRepo_GetTagListByName (line 112) | func Test_tagRepo_GetTagListByName(t *testing.T) { function Test_tagRepo_GetTagListByNames (line 121) | func Test_tagRepo_GetTagListByNames(t *testing.T) { function Test_tagRepo_GetTagPage (line 130) | func Test_tagRepo_GetTagPage(t *testing.T) { function Test_tagRepo_RemoveTag (line 139) | func Test_tagRepo_RemoveTag(t *testing.T) { function Test_tagRepo_UpdateTag (line 153) | func Test_tagRepo_UpdateTag(t *testing.T) { function Test_tagRepo_UpdateTagQuestionCount (line 169) | func Test_tagRepo_UpdateTagQuestionCount(t *testing.T) { function Test_tagRepo_UpdateTagSynonym (line 182) | func Test_tagRepo_UpdateTagSynonym(t *testing.T) { FILE: internal/repo/repo_test/user_backyard_repo_test.go function Test_userAdminRepo_GetUserInfo (line 34) | func Test_userAdminRepo_GetUserInfo(t *testing.T) { function Test_userAdminRepo_GetUserPage (line 42) | func Test_userAdminRepo_GetUserPage(t *testing.T) { function Test_userAdminRepo_UpdateUserStatus (line 50) | func Test_userAdminRepo_UpdateUserStatus(t *testing.T) { FILE: internal/repo/repo_test/user_repo_test.go function Test_userRepo_AddUser (line 32) | func Test_userRepo_AddUser(t *testing.T) { function Test_userRepo_BatchGetByID (line 47) | func Test_userRepo_BatchGetByID(t *testing.T) { function Test_userRepo_GetByEmail (line 55) | func Test_userRepo_GetByEmail(t *testing.T) { function Test_userRepo_GetByUserID (line 63) | func Test_userRepo_GetByUserID(t *testing.T) { function Test_userRepo_GetByUsername (line 71) | func Test_userRepo_GetByUsername(t *testing.T) { function Test_userRepo_IncreaseAnswerCount (line 79) | func Test_userRepo_IncreaseAnswerCount(t *testing.T) { function Test_userRepo_IncreaseQuestionCount (line 90) | func Test_userRepo_IncreaseQuestionCount(t *testing.T) { function Test_userRepo_UpdateEmail (line 101) | func Test_userRepo_UpdateEmail(t *testing.T) { function Test_userRepo_UpdateEmailStatus (line 107) | func Test_userRepo_UpdateEmailStatus(t *testing.T) { function Test_userRepo_UpdateInfo (line 113) | func Test_userRepo_UpdateInfo(t *testing.T) { function Test_userRepo_UpdateLastLoginDate (line 124) | func Test_userRepo_UpdateLastLoginDate(t *testing.T) { function Test_userRepo_UpdateNoticeStatus (line 130) | func Test_userRepo_UpdateNoticeStatus(t *testing.T) { function Test_userRepo_UpdatePass (line 136) | func Test_userRepo_UpdatePass(t *testing.T) { FILE: internal/repo/report/report_repo.go type reportRepo (line 37) | type reportRepo struct method AddReport (line 51) | func (rr *reportRepo) AddReport(ctx context.Context, report *entity.Re... method GetReportListPage (line 64) | func (rr *reportRepo) GetReportListPage(ctx context.Context, dto *sche... method GetByID (line 77) | func (rr *reportRepo) GetByID(ctx context.Context, id string) (report ... method UpdateStatus (line 87) | func (rr *reportRepo) UpdateStatus(ctx context.Context, id string, sta... method GetReportCount (line 95) | func (rr *reportRepo) GetReportCount(ctx context.Context) (count int64... function NewReportRepo (line 43) | func NewReportRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo) re... FILE: internal/repo/review/review_repo.go type reviewRepo (line 34) | type reviewRepo struct method AddReview (line 46) | func (cr *reviewRepo) AddReview(ctx context.Context, review *entity.Re... method UpdateReviewStatus (line 55) | func (cr *reviewRepo) UpdateReviewStatus(ctx context.Context, reviewID... method GetReview (line 65) | func (cr *reviewRepo) GetReview(ctx context.Context, reviewID int) ( method GetReviewByObject (line 76) | func (cr *reviewRepo) GetReviewByObject(ctx context.Context, objectID ... method GetReviewCount (line 86) | func (cr *reviewRepo) GetReviewCount(ctx context.Context, status int) ... method GetReviewPage (line 95) | func (cr *reviewRepo) GetReviewPage(ctx context.Context, page, pageSiz... function NewReviewRepo (line 39) | func NewReviewRepo(data *data.Data) review.ReviewRepo { FILE: internal/repo/revision/revision_repo.go type revisionRepo (line 40) | type revisionRepo struct method AddRevision (line 57) | func (rr *revisionRepo) AddRevision(ctx context.Context, revision *ent... method UpdateObjectRevisionId (line 88) | func (rr *revisionRepo) UpdateObjectRevisionId(ctx context.Context, re... method UpdateStatus (line 105) | func (rr *revisionRepo) UpdateStatus(ctx context.Context, id string, s... method GetRevision (line 121) | func (rr *revisionRepo) GetRevision(ctx context.Context, id string) ( method GetRevisionByID (line 133) | func (rr *revisionRepo) GetRevisionByID(ctx context.Context, revisionI... method ExistUnreviewedByObjectID (line 143) | func (rr *revisionRepo) ExistUnreviewedByObjectID(ctx context.Context,... method GetLastRevisionByObjectID (line 154) | func (rr *revisionRepo) GetLastRevisionByObjectID(ctx context.Context,... method GetLastRevisionByFileURL (line 166) | func (rr *revisionRepo) GetLastRevisionByFileURL(ctx context.Context, ... method GetRevisionList (line 176) | func (rr *revisionRepo) GetRevisionList(ctx context.Context, revision ... method allowRecord (line 188) | func (rr *revisionRepo) allowRecord(objectType int) (ok bool) { method GetUnreviewedRevisionPage (line 202) | func (rr *revisionRepo) GetUnreviewedRevisionPage(ctx context.Context,... method CountUnreviewedRevision (line 221) | func (rr *revisionRepo) CountUnreviewedRevision(ctx context.Context, o... function NewRevisionRepo (line 46) | func NewRevisionRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo) ... FILE: internal/repo/role/power_repo.go type powerRepo (line 33) | type powerRepo struct method GetPowerList (line 45) | func (pr *powerRepo) GetPowerList(ctx context.Context, power *entity.P... function NewPowerRepo (line 38) | func NewPowerRepo(data *data.Data) role.PowerRepo { FILE: internal/repo/role/role_power_rel_repo.go type rolePowerRelRepo (line 33) | type rolePowerRelRepo struct method GetRolePowerTypeList (line 45) | func (rr *rolePowerRelRepo) GetRolePowerTypeList(ctx context.Context, ... function NewRolePowerRelRepo (line 38) | func NewRolePowerRelRepo(data *data.Data) role.RolePowerRelRepo { FILE: internal/repo/role/role_repo.go type roleRepo (line 33) | type roleRepo struct method GetRoleAllList (line 45) | func (rr *roleRepo) GetRoleAllList(ctx context.Context) (roleList []*e... method GetRoleAllMapping (line 55) | func (rr *roleRepo) GetRoleAllMapping(ctx context.Context) (roleMappin... function NewRoleRepo (line 38) | func NewRoleRepo(data *data.Data) service.RoleRepo { FILE: internal/repo/role/user_role_rel_repo.go type userRoleRelRepo (line 35) | type userRoleRelRepo struct method SaveUserRoleRel (line 47) | func (ur *userRoleRelRepo) SaveUserRoleRel(ctx context.Context, userID... method GetUserRoleRelList (line 73) | func (ur *userRoleRelRepo) GetUserRoleRelList(ctx context.Context, use... method GetUserRoleRelListByRoleID (line 84) | func (ur *userRoleRelRepo) GetUserRoleRelListByRoleID(ctx context.Cont... method GetUserRoleRel (line 95) | func (ur *userRoleRelRepo) GetUserRoleRel(ctx context.Context, userID ... function NewUserRoleRelRepo (line 40) | func NewUserRoleRelRepo(data *data.Data) role.UserRoleRelRepo { FILE: internal/repo/search_common/search_repo.go type searchRepo (line 79) | type searchRepo struct method SearchContents (line 102) | func (sr *searchRepo) SearchContents(ctx context.Context, words []stri... method SearchQuestions (line 245) | func (sr *searchRepo) SearchQuestions(ctx context.Context, words []str... method SearchAnswers (line 356) | func (sr *searchRepo) SearchAnswers(ctx context.Context, words []strin... method parseOrder (line 450) | func (sr *searchRepo) parseOrder(_ context.Context, order string) (res... method ParseSearchPluginResult (line 467) | func (sr *searchRepo) ParseSearchPluginResult(ctx context.Context, sre... method parseResult (line 494) | func (sr *searchRepo) parseResult(ctx context.Context, res []map[strin... function NewSearchRepo (line 87) | func NewSearchRepo( function addRelevanceField (line 578) | func addRelevanceField(searchFields, words, fields []string) (res []stri... function filterWords (line 611) | func filterWords(words []string) (res []string) { FILE: internal/repo/search_sync/search_sync.go function NewPluginSyncer (line 34) | func NewPluginSyncer(data *data.Data) plugin.SearchSyncer { type PluginSyncer (line 38) | type PluginSyncer struct method GetAnswersPage (line 42) | func (p *PluginSyncer) GetAnswersPage(ctx context.Context, page, pageS... method GetQuestionsPage (line 53) | func (p *PluginSyncer) GetQuestionsPage(ctx context.Context, page, pag... method convertAnswers (line 64) | func (p *PluginSyncer) convertAnswers(ctx context.Context, answers []*... method convertQuestions (line 109) | func (p *PluginSyncer) convertQuestions(ctx context.Context, questions... FILE: internal/repo/site_info/siteinfo_repo.go type siteInfoRepo (line 36) | type siteInfoRepo struct method SaveByType (line 47) | func (sr *siteInfoRepo) SaveByType(ctx context.Context, siteType strin... method GetByType (line 66) | func (sr *siteInfoRepo) GetByType(ctx context.Context, siteType string... method getCache (line 85) | func (sr *siteInfoRepo) getCache(ctx context.Context, siteType string)... method setCache (line 98) | func (sr *siteInfoRepo) setCache(ctx context.Context, siteType string,... method IsBrandingFileUsed (line 107) | func (sr *siteInfoRepo) IsBrandingFileUsed(ctx context.Context, filePa... function NewSiteInfo (line 40) | func NewSiteInfo(data *data.Data) siteinfo_common.SiteInfoRepo { FILE: internal/repo/tag/tag_rel_repo.go type tagRelRepo (line 37) | type tagRelRepo struct method AddTagRelList (line 52) | func (tr *tagRelRepo) AddTagRelList(ctx context.Context, tagList []*en... method RemoveTagRelListByObjectID (line 69) | func (tr *tagRelRepo) RemoveTagRelListByObjectID(ctx context.Context, ... method RecoverTagRelListByObjectID (line 79) | func (tr *tagRelRepo) RecoverTagRelListByObjectID(ctx context.Context,... method HideTagRelListByObjectID (line 88) | func (tr *tagRelRepo) HideTagRelListByObjectID(ctx context.Context, ob... method ShowTagRelListByObjectID (line 97) | func (tr *tagRelRepo) ShowTagRelListByObjectID(ctx context.Context, ob... method RemoveTagRelListByIDs (line 107) | func (tr *tagRelRepo) RemoveTagRelListByIDs(ctx context.Context, ids [... method GetObjectTagRelWithoutStatus (line 116) | func (tr *tagRelRepo) GetObjectTagRelWithoutStatus(ctx context.Context... method EnableTagRelByIDs (line 134) | func (tr *tagRelRepo) EnableTagRelByIDs(ctx context.Context, ids []int... method GetObjectTagRelList (line 147) | func (tr *tagRelRepo) GetObjectTagRelList(ctx context.Context, objectI... method BatchGetObjectTagRelList (line 166) | func (tr *tagRelRepo) BatchGetObjectTagRelList(ctx context.Context, ob... method CountTagRelByTagID (line 187) | func (tr *tagRelRepo) CountTagRelByTagID(ctx context.Context, tagID st... method GetTagRelDefaultStatusByObjectID (line 196) | func (tr *tagRelRepo) GetTagRelDefaultStatusByObjectID(ctx context.Con... method MigrateTagObjects (line 210) | func (tr *tagRelRepo) MigrateTagObjects(ctx context.Context, sourceTag... function NewTagRelRepo (line 43) | func NewTagRelRepo(data *data.Data, FILE: internal/repo/tag/tag_repo.go type tagRepo (line 36) | type tagRepo struct method RemoveTag (line 53) | func (tr *tagRepo) RemoveTag(ctx context.Context, tagID string) (err e... method UpdateTag (line 63) | func (tr *tagRepo) UpdateTag(ctx context.Context, tag *entity.Tag) (er... method RecoverTag (line 72) | func (tr *tagRepo) RecoverTag(ctx context.Context, tagID string) (err ... method MustGetTagByNameOrID (line 81) | func (tr *tagRepo) MustGetTagByNameOrID(ctx context.Context, tagID, sl... method UpdateTagSynonym (line 102) | func (tr *tagRepo) UpdateTagSynonym(ctx context.Context, tagSlugNameLi... method GetTagSynonymCount (line 114) | func (tr *tagRepo) GetTagSynonymCount(ctx context.Context, tagID strin... method GetIDsByMainTagId (line 122) | func (tr *tagRepo) GetIDsByMainTagId(ctx context.Context, mainTagID st... method GetTagList (line 132) | func (tr *tagRepo) GetTagList(ctx context.Context, tag *entity.Tag) (t... function NewTagRepo (line 42) | func NewTagRepo( FILE: internal/repo/tag_common/tag_common_repo.go type tagCommonRepo (line 39) | type tagCommonRepo struct method GetTagListByIDs (line 56) | func (tr *tagCommonRepo) GetTagListByIDs(ctx context.Context, ids []st... method GetTagBySlugName (line 68) | func (tr *tagCommonRepo) GetTagBySlugName(ctx context.Context, slugNam... method GetTagListByName (line 80) | func (tr *tagCommonRepo) GetTagListByName(ctx context.Context, name st... method GetRecommendTagList (line 108) | func (tr *tagCommonRepo) GetRecommendTagList(ctx context.Context) (tag... method GetReservedTagList (line 123) | func (tr *tagCommonRepo) GetReservedTagList(ctx context.Context) (tagL... method GetTagListByNames (line 139) | func (tr *tagCommonRepo) GetTagListByNames(ctx context.Context, names ... method GetTagByID (line 151) | func (tr *tagCommonRepo) GetTagByID(ctx context.Context, tagID string,... method GetTagPage (line 167) | func (tr *tagCommonRepo) GetTagPage(ctx context.Context, page, pageSiz... method AddTagList (line 224) | func (tr *tagCommonRepo) AddTagList(ctx context.Context, tagList []*en... method updateDeletedTag (line 251) | func (tr *tagCommonRepo) updateDeletedTag(ctx context.Context, tag *en... method UpdateTagQuestionCount (line 270) | func (tr *tagCommonRepo) UpdateTagQuestionCount(ctx context.Context, t... method UpdateTagsAttribute (line 279) | func (tr *tagCommonRepo) UpdateTagsAttribute(ctx context.Context, tags... function NewTagCommonRepo (line 45) | func NewTagCommonRepo( FILE: internal/repo/unique/uniqid_repo.go type uniqueIDRepo (line 35) | type uniqueIDRepo struct method GenUniqueIDStr (line 48) | func (ur *uniqueIDRepo) GenUniqueIDStr(ctx context.Context, key string... function NewUniqueIDRepo (line 40) | func NewUniqueIDRepo(data *data.Data) unique.UniqueIDRepo { FILE: internal/repo/user/user_backyard_repo.go type userAdminRepo (line 40) | type userAdminRepo struct method UpdateUserStatus (line 54) | func (ur *userAdminRepo) UpdateUserStatus(ctx context.Context, userID ... method AddUser (line 88) | func (ur *userAdminRepo) AddUser(ctx context.Context, user *entity.Use... method AddUsers (line 97) | func (ur *userAdminRepo) AddUsers(ctx context.Context, users []*entity... method UpdateUserPassword (line 106) | func (ur *userAdminRepo) UpdateUserPassword(ctx context.Context, userI... method GetUserInfo (line 115) | func (ur *userAdminRepo) GetUserInfo(ctx context.Context, userID strin... method GetUserInfoByEmail (line 132) | func (ur *userAdminRepo) GetUserInfoByEmail(ctx context.Context, email... method GetUserPage (line 151) | func (ur *userAdminRepo) GetUserPage(ctx context.Context, page, pageSi... method DeletePermanentlyUsers (line 184) | func (ur *userAdminRepo) DeletePermanentlyUsers(ctx context.Context) (... method GetExpiredSuspendedUsers (line 193) | func (ur *userAdminRepo) GetExpiredSuspendedUsers(ctx context.Context)... function NewUserAdminRepo (line 46) | func NewUserAdminRepo(data *data.Data, authRepo auth.AuthRepo) user_admi... FILE: internal/repo/user/user_repo.go type userRepo (line 41) | type userRepo struct method AddUser (line 53) | func (ur *userRepo) AddUser(ctx context.Context, user *entity.User) (e... method IncreaseAnswerCount (line 74) | func (ur *userRepo) IncreaseAnswerCount(ctx context.Context, userID st... method IncreaseQuestionCount (line 84) | func (ur *userRepo) IncreaseQuestionCount(ctx context.Context, userID ... method UpdateQuestionCount (line 93) | func (ur *userRepo) UpdateQuestionCount(ctx context.Context, userID st... method UpdateAnswerCount (line 103) | func (ur *userRepo) UpdateAnswerCount(ctx context.Context, userID stri... method UpdateLastLoginDate (line 114) | func (ur *userRepo) UpdateLastLoginDate(ctx context.Context, userID st... method UpdateEmailStatus (line 124) | func (ur *userRepo) UpdateEmailStatus(ctx context.Context, userID stri... method UpdateNoticeStatus (line 134) | func (ur *userRepo) UpdateNoticeStatus(ctx context.Context, userID str... method UpdatePass (line 143) | func (ur *userRepo) UpdatePass(ctx context.Context, userID, pass strin... method UpdateEmail (line 151) | func (ur *userRepo) UpdateEmail(ctx context.Context, userID, email str... method UpdateUserInterface (line 159) | func (ur *userRepo) UpdateUserInterface(ctx context.Context, userID, l... method UpdateInfo (line 169) | func (ur *userRepo) UpdateInfo(ctx context.Context, userInfo *entity.U... method UpdateUserProfile (line 179) | func (ur *userRepo) UpdateUserProfile(ctx context.Context, userInfo *e... method GetByUserID (line 189) | func (ur *userRepo) GetByUserID(ctx context.Context, userID string) (u... method BatchGetByID (line 203) | func (ur *userRepo) BatchGetByID(ctx context.Context, ids []string) ([... method GetByUsername (line 214) | func (ur *userRepo) GetByUsername(ctx context.Context, username string... method GetByUsernames (line 228) | func (ur *userRepo) GetByUsernames(ctx context.Context, usernames []st... method GetByEmail (line 240) | func (ur *userRepo) GetByEmail(ctx context.Context, email string) (use... method GetUserCount (line 250) | func (ur *userRepo) GetUserCount(ctx context.Context) (count int64, er... method SearchUserListByName (line 260) | func (ur *userRepo) SearchUserListByName(ctx context.Context, name str... method IsAvatarFileUsed (line 385) | func (ur *userRepo) IsAvatarFileUsed(ctx context.Context, filePath str... function NewUserRepo (line 46) | func NewUserRepo(data *data.Data) usercommon.UserRepo { function tryToDecorateUserInfoFromUserCenter (line 279) | func tryToDecorateUserInfoFromUserCenter(ctx context.Context, data *data... function tryToDecorateUserListFromUserCenter (line 309) | func tryToDecorateUserListFromUserCenter(ctx context.Context, data *data... function decorateByUserCenterUser (line 352) | func decorateByUserCenterUser(original *entity.User, ucUser *plugin.User... FILE: internal/repo/user_external_login/user_external_login_repo.go type userExternalLoginRepo (line 35) | type userExternalLoginRepo struct method AddUserExternalLogin (line 47) | func (ur *userExternalLoginRepo) AddUserExternalLogin(ctx context.Cont... method UpdateInfo (line 56) | func (ur *userExternalLoginRepo) UpdateInfo(ctx context.Context, userI... method GetByExternalID (line 65) | func (ur *userExternalLoginRepo) GetByExternalID(ctx context.Context, ... method GetByUserID (line 76) | func (ur *userExternalLoginRepo) GetByUserID(ctx context.Context, prov... method GetUserExternalLoginList (line 87) | func (ur *userExternalLoginRepo) GetUserExternalLoginList(ctx context.... method DeleteUserExternalLogin (line 98) | func (ur *userExternalLoginRepo) DeleteUserExternalLogin(ctx context.C... method DeleteUserExternalLoginByUserID (line 108) | func (ur *userExternalLoginRepo) DeleteUserExternalLoginByUserID(ctx c... method SetCacheUserExternalLoginInfo (line 118) | func (ur *userExternalLoginRepo) SetCacheUserExternalLoginInfo( method GetCacheUserExternalLoginInfo (line 126) | func (ur *userExternalLoginRepo) GetCacheUserExternalLoginInfo( function NewUserExternalLoginRepo (line 40) | func NewUserExternalLoginRepo(data *data.Data) user_external_login.UserE... FILE: internal/repo/user_notification_config/user_notification_config_repo.go type userNotificationConfigRepo (line 34) | type userNotificationConfigRepo struct method Add (line 46) | func (ur *userNotificationConfigRepo) Add(ctx context.Context, userIDs... method Save (line 64) | func (ur *userNotificationConfigRepo) Save(ctx context.Context, uc *en... method GetByUserID (line 84) | func (ur *userNotificationConfigRepo) GetByUserID(ctx context.Context,... method GetBySource (line 95) | func (ur *userNotificationConfigRepo) GetBySource(ctx context.Context,... method GetByUserIDAndSource (line 107) | func (ur *userNotificationConfigRepo) GetByUserIDAndSource(ctx context... method GetByUsersAndSource (line 118) | func (ur *userNotificationConfigRepo) GetByUsersAndSource( function NewUserNotificationConfigRepo (line 39) | func NewUserNotificationConfigRepo(data *data.Data) user_notification_co... FILE: internal/router/answer_api_router.go type AnswerAPIRouter (line 29) | type AnswerAPIRouter struct method RegisterMustUnAuthAnswerAPIRouter (line 143) | func (a *AnswerAPIRouter) RegisterMustUnAuthAnswerAPIRouter(authUserMi... method RegisterUnAuthAnswerAPIRouter (line 168) | func (a *AnswerAPIRouter) RegisterUnAuthAnswerAPIRouter(r *gin.RouterG... method RegisterAuthUserWithAnyStatusAnswerAPIRouter (line 219) | func (a *AnswerAPIRouter) RegisterAuthUserWithAnyStatusAnswerAPIRouter... method RegisterAnswerAPIRouter (line 225) | func (a *AnswerAPIRouter) RegisterAnswerAPIRouter(r *gin.RouterGroup) { method RegisterAnswerAdminAPIRouter (line 336) | func (a *AnswerAPIRouter) RegisterAnswerAdminAPIRouter(r *gin.RouterGr... function NewAnswerAPIRouter (line 67) | func NewAnswerAPIRouter( FILE: internal/router/config.go type SwaggerConfig (line 23) | type SwaggerConfig struct FILE: internal/router/mcp_router.go method RegisterMCPRouter (line 28) | func (a *AnswerAPIRouter) RegisterMCPRouter(r *gin.RouterGroup) { FILE: internal/router/plugin_api_router.go type PluginAPIRouter (line 27) | type PluginAPIRouter struct method RegisterUnAuthConnectorRouter (line 54) | func (pr *PluginAPIRouter) RegisterUnAuthConnectorRouter(r *gin.Router... method RegisterAuthUserConnectorRouter (line 79) | func (pr *PluginAPIRouter) RegisterAuthUserConnectorRouter(r *gin.Rout... method RegisterAuthAdminConnectorRouter (line 87) | func (pr *PluginAPIRouter) RegisterAuthAdminConnectorRouter(r *gin.Rou... function NewPluginAPIRouter (line 36) | func NewPluginAPIRouter( FILE: internal/router/static_router.go type StaticRouter (line 34) | type StaticRouter struct method RegisterStaticRouter (line 46) | func (a *StaticRouter) RegisterStaticRouter(r *gin.RouterGroup) { function NewStaticRouter (line 39) | func NewStaticRouter(serviceConfig *service_config.ServiceConfig) *Stati... FILE: internal/router/swagger_router.go type SwaggerRouter (line 32) | type SwaggerRouter struct method Register (line 44) | func (a *SwaggerRouter) Register(r *gin.RouterGroup) { method InitSwaggerDocs (line 53) | func (a *SwaggerRouter) InitSwaggerDocs() { function NewSwaggerRouter (line 37) | func NewSwaggerRouter(config *SwaggerConfig) *SwaggerRouter { FILE: internal/router/template_router.go type TemplateRouter (line 30) | type TemplateRouter struct method RegisterTemplateRouter (line 53) | func (a *TemplateRouter) RegisterTemplateRouter(r *gin.RouterGroup, ba... function NewTemplateRouter (line 37) | func NewTemplateRouter( FILE: internal/router/ui.go constant UIIndexFilePath (line 39) | UIIndexFilePath = "build/index.html" constant UIRootFilePath (line 40) | UIRootFilePath = "build" constant UIStaticPath (line 41) | UIStaticPath = "build/static" type UIRouter (line 44) | type UIRouter struct method Register (line 73) | func (a *UIRouter) Register(r *gin.Engine, baseURLPath string) { function NewUIRouter (line 50) | func NewUIRouter( type _resource (line 61) | type _resource struct method Open (line 66) | func (r *_resource) Open(name string) (fs.File, error) { FILE: internal/router/ui_test.go function TestUIRouter_FaviconWithNilBranding (line 34) | func TestUIRouter_FaviconWithNilBranding(t *testing.T) { FILE: internal/schema/activity.go type ActivityMsg (line 25) | type ActivityMsg struct type GetObjectTimelineReq (line 36) | type GetObjectTimelineReq struct type GetObjectTimelineResp (line 44) | type GetObjectTimelineResp struct type ActObjectTimeline (line 50) | type ActObjectTimeline struct type ActObjectInfo (line 64) | type ActObjectInfo struct type GetObjectTimelineDetailReq (line 75) | type GetObjectTimelineDetailReq struct type GetObjectTimelineDetailResp (line 82) | type GetObjectTimelineDetailResp struct type ObjectTimelineDetail (line 88) | type ObjectTimelineDetail struct type ObjectTimelineTag (line 97) | type ObjectTimelineTag struct type PassReviewActivity (line 106) | type PassReviewActivity struct FILE: internal/schema/ai_config_schema.go type GetAIProviderResp (line 23) | type GetAIProviderResp struct type GetAIModelsResp (line 30) | type GetAIModelsResp struct type GetAIModelsReq (line 40) | type GetAIModelsReq struct type GetAIModelResp (line 46) | type GetAIModelResp struct FILE: internal/schema/ai_conversation_schema.go type AIConversationListReq (line 27) | type AIConversationListReq struct type AIConversationListItem (line 34) | type AIConversationListItem struct type AIConversationDetailReq (line 41) | type AIConversationDetailReq struct method Check (line 117) | func (req *AIConversationDetailReq) Check() (errFields []*validator.Fo... type AIConversationRecord (line 47) | type AIConversationRecord struct type AIConversationDetailResp (line 57) | type AIConversationDetailResp struct type AIConversationVoteReq (line 66) | type AIConversationVoteReq struct method Check (line 121) | func (req *AIConversationVoteReq) Check() (errFields []*validator.Form... type AIConversationAdminListReq (line 74) | type AIConversationAdminListReq struct type AIConversationAdminListItem (line 80) | type AIConversationAdminListItem struct type AIConversationUserInfo (line 90) | type AIConversationUserInfo struct type AIConversationAdminDetailReq (line 99) | type AIConversationAdminDetailReq struct type AIConversationAdminDetailResp (line 104) | type AIConversationAdminDetailResp struct type AIConversationAdminDeleteReq (line 113) | type AIConversationAdminDeleteReq struct FILE: internal/schema/answer_activity_schema.go type AcceptAnswerOperationInfo (line 23) | type AcceptAnswerOperationInfo struct method GetUserIDs (line 50) | func (a *AcceptAnswerOperationInfo) GetUserIDs() (userIDs []string) { type AcceptAnswerActivity (line 35) | type AcceptAnswerActivity struct method HasRank (line 43) | func (v *AcceptAnswerActivity) HasRank() int { FILE: internal/schema/answer_schema.go type RemoveAnswerReq (line 30) | type RemoveAnswerReq struct type RecoverAnswerReq (line 39) | type RecoverAnswerReq struct constant AnswerAcceptedFailed (line 45) | AnswerAcceptedFailed = 1 constant AnswerAcceptedEnable (line 46) | AnswerAcceptedEnable = 2 type AnswerAddReq (line 49) | type AnswerAddReq struct method Check (line 63) | func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorFiel... type GetAnswerInfoResp (line 74) | type GetAnswerInfoResp struct type AnswerUpdateReq (line 79) | type AnswerUpdateReq struct method Check (line 92) | func (req *AnswerUpdateReq) Check() (errFields []*validator.FormErrorF... type AnswerUpdateResp (line 104) | type AnswerUpdateResp struct type AnswerListReq (line 108) | type AnswerListReq struct type AnswerInfo (line 120) | type AnswerInfo struct type AdminAnswerInfo (line 142) | type AdminAnswerInfo struct type AcceptAnswerReq (line 158) | type AcceptAnswerReq struct method Check (line 164) | func (req *AcceptAnswerReq) Check() (errFields []*validator.FormErrorF... type AdminUpdateAnswerStatusReq (line 171) | type AdminUpdateAnswerStatusReq struct FILE: internal/schema/api_key_schema.go type GetAPIKeyReq (line 23) | type GetAPIKeyReq struct type GetAPIKeyResp (line 28) | type GetAPIKeyResp struct type AddAPIKeyReq (line 38) | type AddAPIKeyReq struct type AddAPIKeyResp (line 45) | type AddAPIKeyResp struct type UpdateAPIKeyReq (line 50) | type UpdateAPIKeyReq struct type DeleteAPIKeyReq (line 57) | type DeleteAPIKeyReq struct FILE: internal/schema/backyard_user_schema.go type UpdateUserStatusReq (line 37) | type UpdateUserStatusReq struct method IsNormal (line 45) | func (r *UpdateUserStatusReq) IsNormal() bool { return r.Status == ... method IsSuspended (line 46) | func (r *UpdateUserStatusReq) IsSuspended() bool { return r.Status == ... method IsDeleted (line 47) | func (r *UpdateUserStatusReq) IsDeleted() bool { return r.Status == ... method IsInactive (line 48) | func (r *UpdateUserStatusReq) IsInactive() bool { return r.Status == ... method GetSuspendedUntil (line 51) | func (r *UpdateUserStatusReq) GetSuspendedUntil() time.Time { type GetUserPageReq (line 84) | type GetUserPageReq struct method IsSuspended (line 97) | func (r *GetUserPageReq) IsSuspended() bool { return r.Status == const... method IsDeleted (line 98) | func (r *GetUserPageReq) IsDeleted() bool { return r.Status == const... method IsInactive (line 99) | func (r *GetUserPageReq) IsInactive() bool { return r.Status == const... type GetUserPageResp (line 102) | type GetUserPageResp struct type GetUserInfoReq (line 132) | type GetUserInfoReq struct type GetUserInfoResp (line 137) | type GetUserInfoResp struct type UpdateUserRoleReq (line 143) | type UpdateUserRoleReq struct type EditUserProfileReq (line 153) | type EditUserProfileReq struct type AddUserReq (line 163) | type AddUserReq struct type AddUsersReq (line 171) | type AddUsersReq struct method ParseUsers (line 200) | func (req *AddUsersReq) ParseUsers(ctx context.Context) (errFields []*... type DeletePermanentlyReq (line 178) | type DeletePermanentlyReq struct type AddUsersErrorData (line 182) | type AddUsersErrorData struct method GetErrField (line 193) | func (e *AddUsersErrorData) GetErrField(ctx context.Context) (errField... type UpdateUserPasswordReq (line 239) | type UpdateUserPasswordReq struct type GetUserActivationReq (line 246) | type GetUserActivationReq struct type GetUserActivationResp (line 251) | type GetUserActivationResp struct type SendUserActivationReq (line 256) | type SendUserActivationReq struct FILE: internal/schema/badge_schema.go constant BadgeStatusActive (line 25) | BadgeStatusActive BadgeStatus = "active" constant BadgeStatusInactive (line 26) | BadgeStatusInactive BadgeStatus = "inactive" type BadgeStatus (line 29) | type BadgeStatus type BadgeListInfo (line 42) | type BadgeListInfo struct type GetBadgeListResp (line 57) | type GetBadgeListResp struct type UpdateBadgeStatusReq (line 64) | type UpdateBadgeStatusReq struct type GetBadgeListPagedReq (line 71) | type GetBadgeListPagedReq struct type GetBadgeListPagedResp (line 82) | type GetBadgeListPagedResp struct type GetBadgeInfoResp (line 103) | type GetBadgeInfoResp struct type GetBadgeAwardWithPageReq (line 122) | type GetBadgeAwardWithPageReq struct type GetBadgeAwardWithPageResp (line 135) | type GetBadgeAwardWithPageResp struct type GetUserBadgeAwardListReq (line 154) | type GetUserBadgeAwardListReq struct type GetUserBadgeAwardListResp (line 162) | type GetUserBadgeAwardListResp struct type BadgeTplData (line 175) | type BadgeTplData struct FILE: internal/schema/collection_group_schema.go constant CGDefault (line 25) | CGDefault = 1 constant CGDIY (line 26) | CGDIY = 2 type CollectionSwitchReq (line 30) | type CollectionSwitchReq struct type CollectionSwitchResp (line 38) | type CollectionSwitchResp struct type AddCollectionGroupReq (line 43) | type AddCollectionGroupReq struct type UpdateCollectionGroupReq (line 57) | type UpdateCollectionGroupReq struct type GetCollectionGroupResp (line 73) | type GetCollectionGroupResp struct FILE: internal/schema/comment_schema.go type AddCommentReq (line 32) | type AddCommentReq struct method Check (line 59) | func (req *AddCommentReq) Check() (errFields []*validator.FormErrorFie... type RemoveCommentReq (line 71) | type RemoveCommentReq struct type UpdateCommentReq (line 81) | type UpdateCommentReq struct method Check (line 100) | func (req *UpdateCommentReq) Check() (errFields []*validator.FormError... type UpdateCommentResp (line 111) | type UpdateCommentResp struct type GetCommentListReq (line 121) | type GetCommentListReq struct type GetCommentWithPageReq (line 141) | type GetCommentWithPageReq struct type GetCommentReq (line 161) | type GetCommentReq struct type GetCommentResp (line 173) | type GetCommentResp struct method SetFromComment (line 216) | func (r *GetCommentResp) SetFromComment(comment *entity.Comment) { type GetCommentPersonalWithPageReq (line 225) | type GetCommentPersonalWithPageReq struct type GetCommentPersonalWithPageResp (line 237) | type GetCommentPersonalWithPageResp struct FILE: internal/schema/config_schema.go type AddConfigReq (line 23) | type AddConfigReq struct type RemoveConfigReq (line 31) | type RemoveConfigReq struct type UpdateConfigReq (line 37) | type UpdateConfigReq struct type GetConfigListReq (line 47) | type GetConfigListReq struct type GetConfigWithPageReq (line 55) | type GetConfigWithPageReq struct type GetConfigResp (line 67) | type GetConfigResp struct FILE: internal/schema/connector_schema.go type ConnectorInfoResp (line 22) | type ConnectorInfoResp struct type ConnectorUserInfoResp (line 28) | type ConnectorUserInfoResp struct FILE: internal/schema/dashboard_schema.go constant DashboardCacheKey (line 27) | DashboardCacheKey = "answer:dashboard" constant DashboardCacheTime (line 28) | DashboardCacheTime = 60 * time.Minute type DashboardInfo (line 31) | type DashboardInfo struct type DashboardInfoVersion (line 55) | type DashboardInfoVersion struct type RemoteVersion (line 61) | type RemoteVersion struct FILE: internal/schema/email_template.go constant AccountActivationSourceType (line 29) | AccountActivationSourceType EmailSourceType = "account-activation" constant PasswordResetSourceType (line 30) | PasswordResetSourceType EmailSourceType = "password-reset" constant ConfirmNewEmailSourceType (line 31) | ConfirmNewEmailSourceType EmailSourceType = "password-reset" constant UnsubscribeSourceType (line 32) | UnsubscribeSourceType EmailSourceType = "unsubscribe" constant BindingSourceType (line 33) | BindingSourceType EmailSourceType = "binding" type EmailSourceType (line 36) | type EmailSourceType type EmailCodeContent (line 38) | type EmailCodeContent struct method ToJSONString (line 50) | func (r *EmailCodeContent) ToJSONString() string { method FromJSONString (line 55) | func (r *EmailCodeContent) FromJSONString(data string) error { type RegisterTemplateData (line 59) | type RegisterTemplateData struct type PassResetTemplateData (line 64) | type PassResetTemplateData struct type ChangeEmailTemplateData (line 69) | type ChangeEmailTemplateData struct type TestTemplateData (line 74) | type TestTemplateData struct type NewAnswerTemplateRawData (line 78) | type NewAnswerTemplateRawData struct type NewAnswerTemplateData (line 87) | type NewAnswerTemplateData struct type NewInviteAnswerTemplateRawData (line 96) | type NewInviteAnswerTemplateRawData struct type NewInviteAnswerTemplateData (line 103) | type NewInviteAnswerTemplateData struct type NewCommentTemplateRawData (line 111) | type NewCommentTemplateRawData struct type NewCommentTemplateData (line 121) | type NewCommentTemplateData struct type NewQuestionTemplateRawData (line 130) | type NewQuestionTemplateRawData struct type NewQuestionTemplateData (line 139) | type NewQuestionTemplateData struct FILE: internal/schema/err_schema.go type ErrTypeData (line 22) | type ErrTypeData struct FILE: internal/schema/event_schema.go type EventMsg (line 28) | type EventMsg struct method QID (line 56) | func (e *EventMsg) QID(questionID, userID string) *EventMsg { method AID (line 65) | func (e *EventMsg) AID(answerID, userID string) *EventMsg { method CID (line 74) | func (e *EventMsg) CID(comment, userID string) *EventMsg { method TID (line 81) | func (e *EventMsg) TID(triggerObjectID string) *EventMsg { method AddExtra (line 89) | func (e *EventMsg) AddExtra(key, value string) *EventMsg { method GetExtra (line 95) | func (e *EventMsg) GetExtra(key string) string { method GetObjectID (line 103) | func (e *EventMsg) GetObjectID() string { function NewEvent (line 47) | func NewEvent(e constant.EventType, userID string) *EventMsg { FILE: internal/schema/follow_schema.go type FollowReq (line 23) | type FollowReq struct type FollowResp (line 31) | type FollowResp struct type FollowDTO (line 38) | type FollowDTO struct type UpdateFollowTagsReq (line 48) | type UpdateFollowTagsReq struct FILE: internal/schema/forbidden_schema.go constant ForbiddenReasonTypeInactive (line 23) | ForbiddenReasonTypeInactive = "inactive" constant ForbiddenReasonTypeURLExpired (line 24) | ForbiddenReasonTypeURLExpired = "url_expired" constant ForbiddenReasonTypeUserSuspended (line 25) | ForbiddenReasonTypeUserSuspended = "suspended" type ForbiddenResp (line 29) | type ForbiddenResp struct FILE: internal/schema/mcp_schema.go constant MCPSearchCondKeyword (line 30) | MCPSearchCondKeyword = "keyword" constant MCPSearchCondUsername (line 31) | MCPSearchCondUsername = "username" constant MCPSearchCondScore (line 32) | MCPSearchCondScore = "score" constant MCPSearchCondTag (line 33) | MCPSearchCondTag = "tag" constant MCPSearchCondPage (line 34) | MCPSearchCondPage = "page" constant MCPSearchCondPageSize (line 35) | MCPSearchCondPageSize = "page_size" constant MCPSearchCondTagName (line 36) | MCPSearchCondTagName = "tag_name" constant MCPSearchCondQuestionID (line 37) | MCPSearchCondQuestionID = "question_id" constant MCPSearchCondObjectID (line 38) | MCPSearchCondObjectID = "object_id" type MCPSearchCond (line 41) | type MCPSearchCond struct method ToQueryString (line 177) | func (cond *MCPSearchCond) ToQueryString() string { type MCPSearchQuestionDetail (line 49) | type MCPSearchQuestionDetail struct type MCPSearchCommentCond (line 53) | type MCPSearchCommentCond struct type MCPSearchTagCond (line 57) | type MCPSearchTagCond struct type MCPSearchUserCond (line 61) | type MCPSearchUserCond struct type MCPSearchQuestionInfoResp (line 65) | type MCPSearchQuestionInfoResp struct type MCPSearchAnswerInfoResp (line 72) | type MCPSearchAnswerInfoResp struct type MCPSearchTagResp (line 80) | type MCPSearchTagResp struct type MCPSearchUserInfoResp (line 87) | type MCPSearchUserInfoResp struct type MCPSearchCommentInfoResp (line 94) | type MCPSearchCommentInfoResp struct function NewMCPSearchCond (line 101) | func NewMCPSearchCond(request mcp.CallToolRequest) *MCPSearchCond { function NewMCPSearchAnswerCond (line 121) | func NewMCPSearchAnswerCond(request mcp.CallToolRequest) *MCPSearchCond { function NewMCPSearchQuestionDetail (line 129) | func NewMCPSearchQuestionDetail(request mcp.CallToolRequest) *MCPSearchQ... function NewMCPSearchCommentCond (line 137) | func NewMCPSearchCommentCond(request mcp.CallToolRequest) *MCPSearchComm... function NewMCPSearchTagCond (line 145) | func NewMCPSearchTagCond(request mcp.CallToolRequest) *MCPSearchTagCond { function NewMCPSearchUserCond (line 153) | func NewMCPSearchUserCond(request mcp.CallToolRequest) *MCPSearchUserCond { function getRequestValue (line 161) | func getRequestValue(request mcp.CallToolRequest, key string) (string, b... function getRequestNumber (line 169) | func getRequestNumber(request mcp.CallToolRequest, key string) (int, boo... FILE: internal/schema/mcp_tools/mcp_tools.go function NewQuestionsTool (line 38) | func NewQuestionsTool() mcp.Tool { function NewAnswersTool (line 57) | func NewAnswersTool() mcp.Tool { function NewCommentsTool (line 67) | func NewCommentsTool() mcp.Tool { function NewTagsTool (line 77) | func NewTagsTool() mcp.Tool { function NewTagDetailTool (line 87) | func NewTagDetailTool() mcp.Tool { function NewUserTool (line 97) | func NewUserTool() mcp.Tool { FILE: internal/schema/meta_schema.go type UpdateReactionReq (line 24) | type UpdateReactionReq struct type GetReactionReq (line 31) | type GetReactionReq struct type ReactionsSummaryMeta (line 37) | type ReactionsSummaryMeta struct method AddReactionSummary (line 48) | func (r *ReactionsSummaryMeta) AddReactionSummary(emoji, userID string) { method RemoveReactionSummary (line 66) | func (r *ReactionsSummaryMeta) RemoveReactionSummary(emoji, userID str... method CheckUserInReactionSummary (line 88) | func (r *ReactionsSummaryMeta) CheckUserInReactionSummary(emoji, userI... type ReactionSummaryMeta (line 42) | type ReactionSummaryMeta struct type GetReactionByObjectIdResp (line 101) | type GetReactionByObjectIdResp struct type ReactionRespItem (line 106) | type ReactionRespItem struct FILE: internal/schema/new_question_queue_schema.go type ExternalNotificationMsg (line 27) | type ExternalNotificationMsg struct function CreateNewQuestionNotificationMsg (line 38) | func CreateNewQuestionNotificationMsg( FILE: internal/schema/notification_schema.go constant NotificationTypeInbox (line 30) | NotificationTypeInbox = 1 constant NotificationTypeAchievement (line 31) | NotificationTypeAchievement = 2 constant NotificationNotRead (line 32) | NotificationNotRead = 1 constant NotificationRead (line 33) | NotificationRead = 2 constant NotificationStatusNormal (line 34) | NotificationStatusNormal = 1 constant NotificationStatusDelete (line 35) | NotificationStatusDelete = 10 constant NotificationInboxTypeAll (line 36) | NotificationInboxTypeAll = 0 constant NotificationInboxTypePosts (line 37) | NotificationInboxTypePosts = 1 constant NotificationInboxTypeVotes (line 38) | NotificationInboxTypeVotes = 2 constant NotificationInboxTypeInvites (line 39) | NotificationInboxTypeInvites = 3 type NotificationContent (line 54) | type NotificationContent struct type GetRedDot (line 67) | type GetRedDot struct type NotificationMsg (line 76) | type NotificationMsg struct type ObjectInfo (line 97) | type ObjectInfo struct type RedDot (line 104) | type RedDot struct type RedDotBadgeAward (line 112) | type RedDotBadgeAward struct type RedDotBadgeAwardCache (line 120) | type RedDotBadgeAwardCache struct method GetBadgeAward (line 132) | func (r *RedDotBadgeAwardCache) GetBadgeAward() *RedDotBadgeAward { method FromJSON (line 145) | func (r *RedDotBadgeAwardCache) FromJSON(data string) { method ToJSON (line 150) | func (r *RedDotBadgeAwardCache) ToJSON() string { method AddBadgeAward (line 156) | func (r *RedDotBadgeAwardCache) AddBadgeAward(badgeAward *RedDotBadgeA... method RemoveBadgeAward (line 164) | func (r *RedDotBadgeAwardCache) RemoveBadgeAward(notificationID string) { function NewRedDotBadgeAwardCache (line 125) | func NewRedDotBadgeAwardCache() *RedDotBadgeAwardCache { type NotificationSearch (line 171) | type NotificationSearch struct type NotificationClearRequest (line 181) | type NotificationClearRequest struct type NotificationClearIDRequest (line 189) | type NotificationClearIDRequest struct FILE: internal/schema/permission.go type PermissionTrTplData (line 32) | type PermissionTrTplData struct type PermissionMemberAction (line 37) | type PermissionMemberAction struct type GetPermissionReq (line 44) | type GetPermissionReq struct method Check (line 49) | func (r *GetPermissionReq) Check() (errField []*validator.FormErrorFie... type GetPermissionResp (line 57) | type GetPermissionResp struct method TrTip (line 63) | func (r *GetPermissionResp) TrTip(lang i18n.Language, requireRank int) { FILE: internal/schema/plugin_admin_schema.go constant PluginStatusActive (line 28) | PluginStatusActive PluginStatus = "active" constant PluginStatusInactive (line 29) | PluginStatusInactive PluginStatus = "inactive" type PluginStatus (line 32) | type PluginStatus type GetPluginListReq (line 34) | type GetPluginListReq struct type GetPluginListResp (line 39) | type GetPluginListResp struct type GetAllPluginStatusResp (line 49) | type GetAllPluginStatusResp struct type UpdatePluginStatusReq (line 54) | type UpdatePluginStatusReq struct type GetPluginConfigReq (line 59) | type GetPluginConfigReq struct type GetPluginConfigResp (line 63) | type GetPluginConfigResp struct method SetConfigFields (line 71) | func (g *GetPluginConfigResp) SetConfigFields(ctx *gin.Context, fields... type ConfigField (line 121) | type ConfigField struct type ConfigFieldUIOptions (line 132) | type ConfigFieldUIOptions struct type ConfigFieldOption (line 144) | type ConfigFieldOption struct type UIOptionAction (line 149) | type UIOptionAction struct type LoadingAction (line 156) | type LoadingAction struct type OnCompleteAction (line 161) | type OnCompleteAction struct type UpdatePluginConfigReq (line 166) | type UpdatePluginConfigReq struct FILE: internal/schema/plugin_user_center.go type UserCenterAgentResp (line 22) | type UserCenterAgentResp struct type AgentInfo (line 27) | type AgentInfo struct type ControlCenter (line 38) | type ControlCenter struct type UserCenterPersonalBranding (line 44) | type UserCenterPersonalBranding struct type PersonalBranding (line 49) | type PersonalBranding struct FILE: internal/schema/plugin_user_schema.go type GetUserPluginListResp (line 27) | type GetUserPluginListResp struct type UpdateUserPluginReq (line 32) | type UpdateUserPluginReq struct type GetUserPluginConfigReq (line 37) | type GetUserPluginConfigReq struct type GetUserPluginConfigResp (line 42) | type GetUserPluginConfigResp struct method SetConfigFields (line 48) | func (g *GetUserPluginConfigResp) SetConfigFields(ctx *gin.Context, fi... type UpdateUserPluginConfigReq (line 98) | type UpdateUserPluginConfigReq struct FILE: internal/schema/question_schema.go constant QuestionOperationPin (line 36) | QuestionOperationPin = "pin" constant QuestionOperationUnPin (line 37) | QuestionOperationUnPin = "unpin" constant QuestionOperationHide (line 38) | QuestionOperationHide = "hide" constant QuestionOperationShow (line 39) | QuestionOperationShow = "show" type RemoveQuestionReq (line 43) | type RemoveQuestionReq struct type CloseQuestionReq (line 52) | type CloseQuestionReq struct type OperationQuestionReq (line 59) | type OperationQuestionReq struct type CloseQuestionMeta (line 67) | type CloseQuestionMeta struct type ReopenQuestionReq (line 73) | type ReopenQuestionReq struct type QuestionAdd (line 78) | type QuestionAdd struct method Check (line 96) | func (req *QuestionAdd) Check() (errFields []*validator.FormErrorField... type QuestionAddByAnswer (line 106) | type QuestionAddByAnswer struct method Check (line 127) | func (req *QuestionAddByAnswer) Check() (errFields []*validator.FormEr... type QuestionPermission (line 145) | type QuestionPermission struct type CheckCanQuestionUpdate (line 170) | type CheckCanQuestionUpdate struct type QuestionUpdate (line 178) | type QuestionUpdate struct method Check (line 214) | func (req *QuestionUpdate) Check() (errFields []*validator.FormErrorFi... type QuestionRecoverReq (line 200) | type QuestionRecoverReq struct type QuestionUpdateInviteUser (line 205) | type QuestionUpdateInviteUser struct type QuestionBaseInfo (line 219) | type QuestionBaseInfo struct type QuestionInfoResp (line 231) | type QuestionInfoResp struct type UpdateQuestionResp (line 273) | type UpdateQuestionResp struct type AdminQuestionInfo (line 278) | type AdminQuestionInfo struct type OperationLevel (line 293) | type OperationLevel constant OperationLevelInfo (line 296) | OperationLevelInfo OperationLevel = "info" constant OperationLevelDanger (line 297) | OperationLevelDanger OperationLevel = "danger" constant OperationLevelWarning (line 298) | OperationLevelWarning OperationLevel = "warning" constant OperationLevelSecondary (line 299) | OperationLevelSecondary OperationLevel = "secondary" type Operation (line 302) | type Operation struct type GetCloseTypeResp (line 310) | type GetCloseTypeResp struct type UserAnswerInfo (line 325) | type UserAnswerInfo struct type UserQuestionInfo (line 339) | type UserQuestionInfo struct constant QuestionOrderCondNewest (line 354) | QuestionOrderCondNewest = "newest" constant QuestionOrderCondActive (line 355) | QuestionOrderCondActive = "active" constant QuestionOrderCondHot (line 356) | QuestionOrderCondHot = "hot" constant QuestionOrderCondScore (line 357) | QuestionOrderCondScore = "score" constant QuestionOrderCondUnanswered (line 358) | QuestionOrderCondUnanswered = "unanswered" constant QuestionOrderCondRecommend (line 359) | QuestionOrderCondRecommend = "recommend" constant QuestionOrderCondFrequent (line 360) | QuestionOrderCondFrequent = "frequent" constant HotInDays (line 363) | HotInDays = 90 type QuestionPageReq (line 367) | type QuestionPageReq struct constant QuestionPageRespOperationTypeAsked (line 382) | QuestionPageRespOperationTypeAsked = "asked" constant QuestionPageRespOperationTypeAnswered (line 383) | QuestionPageRespOperationTypeAnswered = "answered" constant QuestionPageRespOperationTypeModified (line 384) | QuestionPageRespOperationTypeModified = "modified" type QuestionPageResp (line 387) | type QuestionPageResp struct type QuestionPageRespOperator (line 418) | type QuestionPageRespOperator struct type AdminQuestionPageReq (line 427) | type AdminQuestionPageReq struct method Check (line 436) | func (req *AdminQuestionPageReq) Check() (errField []*validator.FormEr... type AdminAnswerPageReq (line 448) | type AdminAnswerPageReq struct method Check (line 460) | func (req *AdminAnswerPageReq) Check() (errField []*validator.FormErro... type AdminUpdateQuestionStatusReq (line 485) | type AdminUpdateQuestionStatusReq struct type PersonalQuestionPageReq (line 491) | type PersonalQuestionPageReq struct type PersonalAnswerPageReq (line 500) | type PersonalAnswerPageReq struct type PersonalCollectionPageReq (line 509) | type PersonalCollectionPageReq struct type GetQuestionLinkReq (line 515) | type GetQuestionLinkReq struct type GetQuestionLinkResp (line 525) | type GetQuestionLinkResp struct FILE: internal/schema/rank_schema.go type GetRankPersonalWithPageReq (line 23) | type GetRankPersonalWithPageReq struct type GetRankPersonalPageResp (line 35) | type GetRankPersonalPageResp struct FILE: internal/schema/reason_schema.go type ReasonItem (line 27) | type ReasonItem struct method Translate (line 43) | func (r *ReasonItem) Translate(keyPrefix string, lang i18n.Language) { type ReasonReq (line 36) | type ReasonReq struct FILE: internal/schema/render_schema.go type PostRenderReq (line 23) | type PostRenderReq struct FILE: internal/schema/report_schema.go type AddReportReq (line 23) | type AddReportReq struct type GetReportListReq (line 37) | type GetReportListReq struct type GetReportTypeResp (line 43) | type GetReportTypeResp struct type ReportHandleReq (line 59) | type ReportHandleReq struct type GetReportListPageDTO (line 66) | type GetReportListPageDTO struct type GetReportListPageResp (line 73) | type GetReportListPageResp struct type GetUnreviewedReportPostPageReq (line 98) | type GetUnreviewedReportPostPageReq struct type ReviewReportReq (line 105) | type ReviewReportReq struct FILE: internal/schema/review_schema.go type UpdateReviewReq (line 28) | type UpdateReviewReq struct method IsApprove (line 35) | func (r *UpdateReviewReq) IsApprove() bool { method IsReject (line 39) | func (r *UpdateReviewReq) IsReject() bool { type GetUnreviewedPostPageReq (line 44) | type GetUnreviewedPostPageReq struct method Check (line 52) | func (r *GetUnreviewedPostPageReq) Check() (errField []*validator.Form... type GetUnreviewedPostPageResp (line 61) | type GetUnreviewedPostPageResp struct FILE: internal/schema/revision_schema.go type AddRevisionDTO (line 29) | type AddRevisionDTO struct type GetRevisionListReq (line 45) | type GetRevisionListReq struct constant RevisionAuditApprove (line 52) | RevisionAuditApprove = "approve" constant RevisionAuditReject (line 53) | RevisionAuditReject = "reject" type RevisionAuditReq (line 55) | type RevisionAuditReq struct type RevisionSearch (line 65) | type RevisionSearch struct method GetCanReviewObjectTypes (line 73) | func (r RevisionSearch) GetCanReviewObjectTypes() []int { type GetUnreviewedRevisionResp (line 87) | type GetUnreviewedRevisionResp struct type GetRevisionResp (line 94) | type GetRevisionResp struct type GetReviewingTypeReq (line 111) | type GetReviewingTypeReq struct method GetCanReviewObjectTypes (line 119) | func (r *GetReviewingTypeReq) GetCanReviewObjectTypes() []int { type GetReviewingTypeResp (line 134) | type GetReviewingTypeResp struct FILE: internal/schema/role_schema.go type GetRoleResp (line 23) | type GetRoleResp struct FILE: internal/schema/search_schema.go type SearchDTO (line 31) | type SearchDTO struct method Check (line 41) | func (s *SearchDTO) Check() (errField []*validator.FormErrorField, err... function ReplaceSearchContent (line 50) | func ReplaceSearchContent(content string) (string, []string) { type SearchCondition (line 72) | type SearchCondition struct method SearchAll (line 96) | func (s *SearchCondition) SearchAll() bool { method SearchQuestion (line 101) | func (s *SearchCondition) SearchQuestion() bool { method SearchAnswer (line 106) | func (s *SearchCondition) SearchAnswer() bool { method Convert2PluginSearchCond (line 111) | func (s *SearchCondition) Convert2PluginSearchCond(page, pageSize int,... type SearchObject (line 137) | type SearchObject struct type SearchObjectUser (line 155) | type SearchObjectUser struct type TagResp (line 163) | type TagResp struct type SearchResult (line 173) | type SearchResult struct type SearchResp (line 180) | type SearchResp struct type SearchDescResp (line 186) | type SearchDescResp struct FILE: internal/schema/search_schema_test.go function TestReplaceSearchContent (line 29) | func TestReplaceSearchContent(t *testing.T) { FILE: internal/schema/simple_obj_info_schema.go type SimpleObjectInfo (line 28) | type SimpleObjectInfo struct method IsDeleted (line 45) | func (s *SimpleObjectInfo) IsDeleted() bool { type UnreviewedRevisionInfoInfo (line 59) | type UnreviewedRevisionInfoInfo struct FILE: internal/schema/siteinfo_schema.go type SiteGeneralReq (line 39) | type SiteGeneralReq struct method FormatSiteUrl (line 47) | func (r *SiteGeneralReq) FormatSiteUrl() { type SiteInterfaceReq (line 60) | type SiteInterfaceReq struct type SiteInterfaceSettingsReq (line 70) | type SiteInterfaceSettingsReq struct type SiteInterfaceSettingsResp (line 75) | type SiteInterfaceSettingsResp type SiteUsersSettingsReq (line 77) | type SiteUsersSettingsReq struct type SiteUsersSettingsResp (line 82) | type SiteUsersSettingsResp type SiteBrandingReq (line 85) | type SiteBrandingReq struct type SiteWriteReq (line 93) | type SiteWriteReq struct type SiteWriteResp (line 108) | type SiteWriteResp type SiteQuestionsReq (line 111) | type SiteQuestionsReq struct type SiteAdvancedReq (line 118) | type SiteAdvancedReq struct type SiteTagsReq (line 127) | type SiteTagsReq struct type SiteWriteTag (line 156) | type SiteWriteTag struct type SiteLegalReq (line 162) | type SiteLegalReq struct type SitePoliciesReq (line 170) | type SitePoliciesReq struct type SiteSecurityReq (line 177) | type SiteSecurityReq struct type SitePoliciesResp (line 183) | type SitePoliciesResp type SiteSecurityResp (line 184) | type SiteSecurityResp type GetSiteLegalInfoReq (line 187) | type GetSiteLegalInfoReq struct method IsTOS (line 191) | func (r *GetSiteLegalInfoReq) IsTOS() bool { method IsPrivacy (line 195) | func (r *GetSiteLegalInfoReq) IsPrivacy() bool { type GetSiteLegalInfoResp (line 200) | type GetSiteLegalInfoResp struct type SiteUsersReq (line 208) | type SiteUsersReq struct type SiteLoginReq (line 220) | type SiteLoginReq struct type SiteCustomCssHTMLReq (line 228) | type SiteCustomCssHTMLReq struct type SiteThemeReq (line 237) | type SiteThemeReq struct type SiteSeoReq (line 244) | type SiteSeoReq struct type AIPromptConfig (line 255) | type AIPromptConfig struct type SiteAIReq (line 261) | type SiteAIReq struct type SiteAIProvider (line 283) | type SiteAIProvider struct type SiteAIResp (line 291) | type SiteAIResp method GetProvider (line 268) | func (s *SiteAIResp) GetProvider() *SiteAIProvider { type SiteMCPReq (line 293) | type SiteMCPReq struct type SiteMCPResp (line 297) | type SiteMCPResp struct type SiteGeneralResp (line 305) | type SiteGeneralResp type SiteInterfaceResp (line 308) | type SiteInterfaceResp type SiteBrandingResp (line 311) | type SiteBrandingResp type SiteLoginResp (line 314) | type SiteLoginResp type SiteCustomCssHTMLResp (line 317) | type SiteCustomCssHTMLResp type SiteUsersResp (line 320) | type SiteUsersResp type SiteThemeResp (line 323) | type SiteThemeResp struct method TrTheme (line 331) | func (s *SiteThemeResp) TrTheme(ctx context.Context) { type ThemeOption (line 343) | type ThemeOption struct type SiteQuestionsResp (line 348) | type SiteQuestionsResp type SiteAdvancedResp (line 349) | type SiteAdvancedResp method GetMaxImageSize (line 134) | func (s *SiteAdvancedResp) GetMaxImageSize() int64 { method GetMaxAttachmentSize (line 141) | func (s *SiteAdvancedResp) GetMaxAttachmentSize() int64 { method GetMaxImageMegapixel (line 148) | func (s *SiteAdvancedResp) GetMaxImageMegapixel() int { type SiteTagsResp (line 350) | type SiteTagsResp type SiteLegalResp (line 353) | type SiteLegalResp type SiteLegalSimpleResp (line 356) | type SiteLegalSimpleResp struct type SiteSeoResp (line 361) | type SiteSeoResp method IsShortLink (line 249) | func (s *SiteSeoResp) IsShortLink() bool { type SiteInfoResp (line 364) | type SiteInfoResp struct type TemplateSiteInfoResp (line 385) | type TemplateSiteInfoResp struct type UpdateSMTPConfigReq (line 400) | type UpdateSMTPConfigReq struct method Check (line 412) | func (r *UpdateSMTPConfigReq) Check() (errField []*validator.FormError... type GetSMTPConfigResp (line 424) | type GetSMTPConfigResp struct type GetManifestJsonResp (line 436) | type GetManifestJsonResp struct type ManifestJsonIcon (line 449) | type ManifestJsonIcon struct function CreateManifestJsonIcons (line 455) | func CreateManifestJsonIcons(icon string) []ManifestJsonIcon { constant PrivilegeLevel1 (line 489) | PrivilegeLevel1 PrivilegeLevel = 1 constant PrivilegeLevel2 (line 491) | PrivilegeLevel2 PrivilegeLevel = 2 constant PrivilegeLevel3 (line 493) | PrivilegeLevel3 PrivilegeLevel = 3 constant PrivilegeLevelCustom (line 495) | PrivilegeLevelCustom PrivilegeLevel = 99 type PrivilegeLevel (line 498) | type PrivilegeLevel type PrivilegeOptions (line 499) | type PrivilegeOptions method Choose (line 501) | func (p PrivilegeOptions) Choose(level PrivilegeLevel) (option *Privil... type GetPrivilegesConfigResp (line 511) | type GetPrivilegesConfigResp struct type PrivilegeOption (line 517) | type PrivilegeOption struct type UpdatePrivilegesConfigReq (line 524) | type UpdatePrivilegesConfigReq struct function init (line 558) | func init() { FILE: internal/schema/sitemap_schema.go type SiteMapList (line 22) | type SiteMapList struct type SiteMapPageList (line 27) | type SiteMapPageList struct type SiteMapQuestionInfo (line 31) | type SiteMapQuestionInfo struct FILE: internal/schema/tag_list_schema.go type AddTagListReq (line 23) | type AddTagListReq struct type RemoveTagListReq (line 33) | type RemoveTagListReq struct type UpdateTagListReq (line 39) | type UpdateTagListReq struct type GetTagListListReq (line 51) | type GetTagListListReq struct type GetTagListWithPageReq (line 61) | type GetTagListWithPageReq struct type GetTagListResp (line 75) | type GetTagListResp struct FILE: internal/schema/tag_schema.go type SearchTagLikeReq (line 30) | type SearchTagLikeReq struct type SearchTagsBySlugName (line 37) | type SearchTagsBySlugName struct type GetTagInfoReq (line 43) | type GetTagInfoReq struct method Check (line 66) | func (r *GetTagInfoReq) Check() (errFields []*validator.FormErrorField... type GetTamplateTagInfoReq (line 55) | type GetTamplateTagInfoReq struct type GetTagResp (line 72) | type GetTagResp struct method GetExcerpt (line 93) | func (tr *GetTagResp) GetExcerpt() { type GetTagPageResp (line 103) | type GetTagPageResp struct method GetExcerpt (line 132) | func (tr *GetTagPageResp) GetExcerpt() { type TagChange (line 141) | type TagChange struct type TagItem (line 148) | type TagItem struct type RemoveTagReq (line 160) | type RemoveTagReq struct type AddTagReq (line 168) | type AddTagReq struct method Check (line 181) | func (req *AddTagReq) Check() (errFields []*validator.FormErrorField, ... type AddTagResp (line 188) | type AddTagResp struct type UpdateTagReq (line 193) | type UpdateTagReq struct method Check (line 211) | func (r *UpdateTagReq) Check() (errFields []*validator.FormErrorField,... type RecoverTagReq (line 217) | type RecoverTagReq struct type UpdateTagResp (line 223) | type UpdateTagResp struct type GetTagWithPageReq (line 228) | type GetTagWithPageReq struct type GetTagSynonymsReq (line 244) | type GetTagSynonymsReq struct type GetTagSynonymsResp (line 254) | type GetTagSynonymsResp struct type TagSynonym (line 261) | type TagSynonym struct type UpdateTagSynonymReq (line 273) | type UpdateTagSynonymReq struct method Format (line 282) | func (req *UpdateTagSynonymReq) Format() { type GetFollowingTagsResp (line 289) | type GetFollowingTagsResp struct type GetTagBasicResp (line 303) | type GetTagBasicResp struct type MergeTagReq (line 312) | type MergeTagReq struct type MergeTagResp (line 322) | type MergeTagResp struct FILE: internal/schema/template_schema.go type Paginator (line 24) | type Paginator struct type QAPageJsonLD (line 32) | type QAPageJsonLD struct type AcceptedAnswerItem (line 52) | type AcceptedAnswerItem struct type SuggestedAnswerItem (line 65) | type SuggestedAnswerItem struct FILE: internal/schema/user_external_login_schema.go type UserExternalLoginResp (line 23) | type UserExternalLoginResp struct type ExternalLoginBindingUserSendEmailReq (line 32) | type ExternalLoginBindingUserSendEmailReq struct type ExternalLoginBindingUserSendEmailResp (line 41) | type ExternalLoginBindingUserSendEmailResp struct type ExternalLoginBindingUserReq (line 47) | type ExternalLoginBindingUserReq struct type ExternalLoginBindingUserResp (line 53) | type ExternalLoginBindingUserResp struct type ExternalLoginUserInfoCache (line 58) | type ExternalLoginUserInfoCache struct type ExternalLoginUnbindingReq (line 79) | type ExternalLoginUnbindingReq struct type UserCenterUserSettingsResp (line 85) | type UserCenterUserSettingsResp struct type UserCenterAdminFunctionAgentResp (line 90) | type UserCenterAdminFunctionAgentResp struct type UserSettingAgent (line 97) | type UserSettingAgent struct FILE: internal/schema/user_notification_schema.go type NotificationChannelConfig (line 29) | type NotificationChannelConfig struct type NotificationChannels (line 34) | type NotificationChannels method ToJsonString (line 51) | func (n *NotificationChannels) ToJsonString() string { function NewNotificationChannelsFormJson (line 36) | func NewNotificationChannelsFormJson(jsonStr string) NotificationChannels { function NewNotificationChannelConfigFormJson (line 42) | func NewNotificationChannelConfigFormJson(jsonStr string) NotificationCh... type NotificationConfig (line 56) | type NotificationConfig struct method Format (line 77) | func (n *NotificationConfig) Format() { function NewNotificationConfig (line 62) | func NewNotificationConfig(configs []*entity.UserNotificationConfig) Not... type UpdateUserNotificationConfigReq (line 93) | type UpdateUserNotificationConfigReq struct type GetUserNotificationConfigResp (line 99) | type GetUserNotificationConfigResp struct FILE: internal/schema/user_schema.go type UserVerifyEmailReq (line 41) | type UserVerifyEmailReq struct type UserLoginResp (line 49) | type UserLoginResp struct method ConvertFromUserEntity (line 106) | func (r *UserLoginResp) ConvertFromUserEntity(userInfo *entity.User) { type GetCurrentLoginUserInfoResp (line 117) | type GetCurrentLoginUserInfoResp struct method ConvertFromUserEntity (line 122) | func (r *GetCurrentLoginUserInfoResp) ConvertFromUserEntity(userInfo *... type GetOtherUserInfoByUsernameResp (line 136) | type GetOtherUserInfoByUsernameResp struct method ConvertFromUserEntity (line 174) | func (r *GetOtherUserInfoByUsernameResp) ConvertFromUserEntity(userInf... method ConvertFromUserEntityWithLang (line 185) | func (r *GetOtherUserInfoByUsernameResp) ConvertFromUserEntityWithLang... type UserEmailLoginReq (line 213) | type UserEmailLoginReq struct type UserRegisterReq (line 221) | type UserRegisterReq struct method Check (line 230) | func (u *UserRegisterReq) Check() (errFields []*validator.FormErrorFie... type UserModifyPasswordReq (line 241) | type UserModifyPasswordReq struct method Check (line 250) | func (u *UserModifyPasswordReq) Check() (errFields []*validator.FormEr... type UpdateInfoRequest (line 261) | type UpdateInfoRequest struct method Check (line 302) | func (req *UpdateInfoRequest) Check() (errFields []*validator.FormErro... type AvatarInfo (line 273) | type AvatarInfo struct method ToJsonString (line 279) | func (a *AvatarInfo) ToJsonString() string { method GetURL (line 284) | func (a *AvatarInfo) GetURL() string { function CustomAvatar (line 295) | func CustomAvatar(url string) *AvatarInfo { type UpdateUserInterfaceRequest (line 314) | type UpdateUserInterfaceRequest struct method Check (line 323) | func (req *UpdateUserInterfaceRequest) Check() (errFields []*validator... type UserRetrievePassWordRequest (line 336) | type UserRetrievePassWordRequest struct type UserRePassWordRequest (line 342) | type UserRePassWordRequest struct method Check (line 348) | func (u *UserRePassWordRequest) Check() (errFields []*validator.FormEr... type ActionRecordReq (line 359) | type ActionRecordReq struct type ActionRecordResp (line 365) | type ActionRecordResp struct type UserBasicInfo (line 371) | type UserBasicInfo struct type GetOtherUserInfoByUsernameReq (line 384) | type GetOtherUserInfoByUsernameReq struct type GetOtherUserInfoResp (line 390) | type GetOtherUserInfoResp struct type UserChangeEmailSendCodeReq (line 394) | type UserChangeEmailSendCodeReq struct type UserChangeEmailVerifyReq (line 401) | type UserChangeEmailVerifyReq struct type UserVerifyEmailSendReq (line 406) | type UserVerifyEmailSendReq struct type UserRankingResp (line 412) | type UserRankingResp struct type UserRankingSimpleInfo (line 419) | type UserRankingSimpleInfo struct type UserUnsubscribeNotificationReq (line 433) | type UserUnsubscribeNotificationReq struct type GetUserStaffReq (line 439) | type GetUserStaffReq struct type GetUserStaffResp (line 445) | type GetUserStaffResp struct FILE: internal/schema/vote_schema.go type VoteReq (line 22) | type VoteReq struct type VoteResp (line 30) | type VoteResp struct type VoteOperationInfo (line 38) | type VoteOperationInfo struct type VoteActivity (line 56) | type VoteActivity struct method HasRank (line 63) | func (v *VoteActivity) HasRank() int { type GetVoteWithPageReq (line 70) | type GetVoteWithPageReq struct type GetVoteWithPageResp (line 79) | type GetVoteWithPageResp struct FILE: internal/service/action/captcha_service.go type CaptchaRepo (line 33) | type CaptchaRepo interface type CaptchaService (line 43) | type CaptchaService struct method ActionRecord (line 55) | func (cs *CaptchaService) ActionRecord(ctx context.Context, req *schem... method ActionRecordVerifyCaptcha (line 95) | func (cs *CaptchaService) ActionRecordVerifyCaptcha( method ActionRecordAdd (line 109) | func (cs *CaptchaService) ActionRecordAdd(ctx context.Context, actionT... method ActionRecordDel (line 125) | func (cs *CaptchaService) ActionRecordDel(ctx context.Context, actionT... method GenerateCaptcha (line 133) | func (cs *CaptchaService) GenerateCaptcha(ctx context.Context) (key, c... method VerifyCaptcha (line 152) | func (cs *CaptchaService) VerifyCaptcha(ctx context.Context, key, capt... function NewCaptchaService (line 48) | func NewCaptchaService(captchaRepo CaptchaRepo) *CaptchaService { FILE: internal/service/action/captcha_strategy.go method ValidationStrategy (line 35) | func (cs *CaptchaService) ValidationStrategy(ctx context.Context, unit, ... method CaptchaActionEmail (line 75) | func (cs *CaptchaService) CaptchaActionEmail(ctx context.Context, unit s... method CaptchaActionPassword (line 80) | func (cs *CaptchaService) CaptchaActionPassword(ctx context.Context, uni... method CaptchaActionEditUserinfo (line 98) | func (cs *CaptchaService) CaptchaActionEditUserinfo(ctx context.Context,... method CaptchaActionQuestion (line 116) | func (cs *CaptchaService) CaptchaActionQuestion(ctx context.Context, uni... method CaptchaActionAnswer (line 129) | func (cs *CaptchaService) CaptchaActionAnswer(ctx context.Context, unit ... method CaptchaActionComment (line 142) | func (cs *CaptchaService) CaptchaActionComment(ctx context.Context, unit... method CaptchaActionEdit (line 155) | func (cs *CaptchaService) CaptchaActionEdit(ctx context.Context, unit st... method CaptchaActionInvitationAnswer (line 163) | func (cs *CaptchaService) CaptchaActionInvitationAnswer(ctx context.Cont... method CaptchaActionSearch (line 171) | func (cs *CaptchaService) CaptchaActionSearch(ctx context.Context, unit ... method CaptchaActionReport (line 189) | func (cs *CaptchaService) CaptchaActionReport(ctx context.Context, unit ... method CaptchaActionDelete (line 202) | func (cs *CaptchaService) CaptchaActionDelete(ctx context.Context, unit ... method CaptchaActionVote (line 215) | func (cs *CaptchaService) CaptchaActionVote(ctx context.Context, unit st... FILE: internal/service/activity/activity.go type ActivityRepo (line 48) | type ActivityRepo interface type ActivityService (line 53) | type ActivityService struct method GetObjectTimeline (line 91) | func (as *ActivityService) GetObjectTimeline(ctx context.Context, req ... method getTimelineMainObjInfo (line 161) | func (as *ActivityService) getTimelineMainObjInfo(ctx context.Context,... method getTimelineActivityComment (line 193) | func (as *ActivityService) getTimelineActivityComment(ctx context.Cont... method formatTimelineUserInfo (line 229) | func (as *ActivityService) formatTimelineUserInfo(ctx context.Context,... method GetObjectTimelineDetail (line 255) | func (as *ActivityService) GetObjectTimelineDetail(ctx context.Context... method getOneObjectDetail (line 264) | func (as *ActivityService) getOneObjectDetail(ctx context.Context, rev... function NewActivityService (line 66) | func NewActivityService( function formatActivity (line 325) | func formatActivity(activityType string) (isHidden bool, formattedActivi... FILE: internal/service/activity/answer_activity_service.go type AnswerActivityRepo (line 32) | type AnswerActivityRepo interface type AnswerActivityService (line 38) | type AnswerActivityService struct method AcceptAnswer (line 55) | func (as *AnswerActivityService) AcceptAnswer(ctx context.Context, method CancelAcceptAnswer (line 66) | func (as *AnswerActivityService) CancelAcceptAnswer(ctx context.Context, method createAcceptAnswerOperationInfo (line 73) | func (as *AnswerActivityService) createAcceptAnswerOperationInfo(ctx c... method getActivities (line 91) | func (as *AnswerActivityService) getActivities(ctx context.Context, op... function NewAnswerActivityService (line 44) | func NewAnswerActivityService( FILE: internal/service/activity/review_active.go type ReviewActivityRepo (line 29) | type ReviewActivityRepo interface FILE: internal/service/activity/user_active.go type UserActiveActivityRepo (line 25) | type UserActiveActivityRepo interface FILE: internal/service/activity_common/activity.go type ActivityRepo (line 35) | type ActivityRepo interface type ActivityCommon (line 50) | type ActivityCommon struct method HandleActivity (line 69) | func (ac *ActivityCommon) HandleActivity(ctx context.Context, msg *sch... function NewActivityCommon (line 56) | func NewActivityCommon( FILE: internal/service/activity_common/follow.go type FollowRepo (line 24) | type FollowRepo interface FILE: internal/service/activity_common/vote.go type VoteRepo (line 27) | type VoteRepo interface FILE: internal/service/activity_type/activity_type.go constant QuestionVoteUp (line 23) | QuestionVoteUp = "question.vote_up" constant QuestionVoteDown (line 24) | QuestionVoteDown = "question.vote_down" constant QuestionVotedUp (line 25) | QuestionVotedUp = "question.voted_up" constant QuestionVotedDown (line 26) | QuestionVotedDown = "question.voted_down" constant AnswerVoteUp (line 27) | AnswerVoteUp = "answer.vote_up" constant AnswerVoteDown (line 28) | AnswerVoteDown = "answer.vote_down" constant AnswerVotedUp (line 29) | AnswerVotedUp = "answer.voted_up" constant AnswerVotedDown (line 30) | AnswerVotedDown = "answer.voted_down" constant AnswerAccepted (line 31) | AnswerAccepted = "answer.accepted" constant AnswerAccept (line 32) | AnswerAccept = "answer.accept" constant CommentVoteUp (line 33) | CommentVoteUp = "comment.vote_up" constant EditAccepted (line 34) | EditAccepted = "edit.accepted" FILE: internal/service/activityqueue/activity_queue.go type Service (line 27) | type Service function NewService (line 29) | func NewService() Service { FILE: internal/service/ai_conversation/ai_conversation_service.go type AIConversationService (line 38) | type AIConversationService interface type ConversationMessage (line 50) | type ConversationMessage struct type aiConversationService (line 57) | type aiConversationService struct method CreateConversation (line 74) | func (s *aiConversationService) CreateConversation(ctx context.Context... method SaveConversationRecords (line 90) | func (s *aiConversationService) SaveConversationRecords(ctx context.Co... method GetConversationList (line 150) | func (s *aiConversationService) GetConversationList(ctx context.Contex... method GetConversationDetail (line 169) | func (s *aiConversationService) GetConversationDetail(ctx context.Cont... method VoteRecord (line 209) | func (s *aiConversationService) VoteRecord(ctx context.Context, req *s... method GetConversationListForAdmin (line 259) | func (s *aiConversationService) GetConversationListForAdmin( method GetConversationDetailForAdmin (line 294) | func (s *aiConversationService) GetConversationDetailForAdmin(ctx cont... method getUserInfo (line 338) | func (s *aiConversationService) getUserInfo(ctx context.Context, userI... method DeleteConversationForAdmin (line 358) | func (s *aiConversationService) DeleteConversationForAdmin(ctx context... function NewAIConversationService (line 63) | func NewAIConversationService( FILE: internal/service/answer_common/answer.go type AnswerRepo (line 32) | type AnswerRepo interface type AnswerCommon (line 58) | type AnswerCommon struct method SearchAnswerIDs (line 68) | func (as *AnswerCommon) SearchAnswerIDs(ctx context.Context, userID, q... method AdminSearchList (line 76) | func (as *AnswerCommon) AdminSearchList(ctx context.Context, req *sche... method Search (line 88) | func (as *AnswerCommon) Search(ctx context.Context, search *entity.Ans... method PersonalAnswerPage (line 96) | func (as *AnswerCommon) PersonalAnswerPage(ctx context.Context, method ShowFormat (line 101) | func (as *AnswerCommon) ShowFormat(ctx context.Context, data *entity.A... method AdminShowFormat (line 121) | func (as *AnswerCommon) AdminShowFormat(ctx context.Context, data *ent... function NewAnswerCommon (line 62) | func NewAnswerCommon(answerRepo AnswerRepo) *AnswerCommon { FILE: internal/service/apikey/apikey_service.go type APIKeyRepo (line 32) | type APIKeyRepo interface type APIKeyService (line 40) | type APIKeyService struct method GetAPIKeyList (line 52) | func (s *APIKeyService) GetAPIKeyList(ctx context.Context, req *schema... method UpdateAPIKey (line 79) | func (s *APIKeyService) UpdateAPIKey(ctx context.Context, req *schema.... method AddAPIKey (line 91) | func (s *APIKeyService) AddAPIKey(ctx context.Context, req *schema.Add... method DeleteAPIKey (line 110) | func (s *APIKeyService) DeleteAPIKey(ctx context.Context, req *schema.... function NewAPIKeyService (line 44) | func NewAPIKeyService( FILE: internal/service/auth/auth.go type AuthRepo (line 33) | type AuthRepo interface type AuthService (line 50) | type AuthService struct method GetUserCacheInfo (line 63) | func (as *AuthService) GetUserCacheInfo(ctx context.Context, accessTok... method SetUserCacheInfo (line 93) | func (as *AuthService) SetUserCacheInfo(ctx context.Context, userInfo ... method CheckUserVisitToken (line 104) | func (as *AuthService) CheckUserVisitToken(ctx context.Context, visitT... method SetUserStatus (line 115) | func (as *AuthService) SetUserStatus(ctx context.Context, userInfo *en... method RemoveUserCacheInfo (line 119) | func (as *AuthService) RemoveUserCacheInfo(ctx context.Context, access... method RemoveUserVisitCacheInfo (line 123) | func (as *AuthService) RemoveUserVisitCacheInfo(ctx context.Context, v... method AddUserTokenMapping (line 131) | func (as *AuthService) AddUserTokenMapping(ctx context.Context, userID... method RemoveUserAllTokens (line 136) | func (as *AuthService) RemoveUserAllTokens(ctx context.Context, userID... method RemoveTokensExceptCurrentUser (line 141) | func (as *AuthService) RemoveTokensExceptCurrentUser(ctx context.Conte... method GetAdminUserCacheInfo (line 147) | func (as *AuthService) GetAdminUserCacheInfo(ctx context.Context, acce... method SetAdminUserCacheInfo (line 151) | func (as *AuthService) SetAdminUserCacheInfo(ctx context.Context, acce... method RemoveAdminUserCacheInfo (line 156) | func (as *AuthService) RemoveAdminUserCacheInfo(ctx context.Context, a... method AuthAPIKey (line 159) | func (as *AuthService) AuthAPIKey(ctx context.Context, read bool, apiK... function NewAuthService (line 56) | func NewAuthService(authRepo AuthRepo, apiKeyRepo apikey.APIKeyRepo) *Au... FILE: internal/service/badge/badge_award_service.go type BadgeAwardRepo (line 41) | type BadgeAwardRepo interface type BadgeAwardService (line 60) | type BadgeAwardService struct method GetBadgeAwardList (line 85) | func (bs *BadgeAwardService) GetBadgeAwardList( method Award (line 149) | func (bs *BadgeAwardService) Award(ctx context.Context, badgeID string... method GetUserBadgeAwardList (line 194) | func (bs *BadgeAwardService) GetUserBadgeAwardList( method GetUserRecentBadgeAwardList (line 240) | func (bs *BadgeAwardService) GetUserRecentBadgeAwardList(ctx *gin.Cont... method validateUserByUsername (line 280) | func (bs *BadgeAwardService) validateUserByUsername(ctx context.Contex... function NewBadgeAwardService (line 68) | func NewBadgeAwardService( FILE: internal/service/badge/badge_event_handler.go type BadgeEventService (line 32) | type BadgeEventService struct method Handler (line 64) | func (ns *BadgeEventService) Handler(ctx context.Context, msg *schema.... type EventRuleHandler (line 40) | type EventRuleHandler type EventRuleRepo (line 42) | type EventRuleRepo interface function NewBadgeEventService (line 46) | func NewBadgeEventService( FILE: internal/service/badge/badge_group_service.go type BadgeGroupRepo (line 28) | type BadgeGroupRepo interface type BadgeGroupService (line 33) | type BadgeGroupService struct function NewBadgeGroupService (line 37) | func NewBadgeGroupService(badgeGroupRepo BadgeGroupRepo) *BadgeGroupServ... FILE: internal/service/badge/badge_service.go type BadgeRepo (line 39) | type BadgeRepo interface type BadgeService (line 51) | type BadgeService struct method ListByGroup (line 76) | func (b *BadgeService) ListByGroup(ctx context.Context, userID string)... method ListPaged (line 140) | func (b *BadgeService) ListPaged(ctx context.Context, req *schema.GetB... method searchByName (line 230) | func (b *BadgeService) searchByName(ctx context.Context, name string) ... method GetBadgeInfo (line 246) | func (b *BadgeService) GetBadgeInfo(ctx *gin.Context, id string, userI... method UpdateStatus (line 281) | func (b *BadgeService) UpdateStatus(ctx *gin.Context, req *schema.Upda... function NewBadgeService (line 59) | func NewBadgeService( FILE: internal/service/collection/collection_group_service.go type CollectionGroupRepo (line 33) | type CollectionGroupRepo interface type CollectionGroupService (line 44) | type CollectionGroupService struct method AddCollectionGroup (line 55) | func (cs *CollectionGroupService) AddCollectionGroup(ctx context.Conte... method UpdateCollectionGroup (line 62) | func (cs *CollectionGroupService) UpdateCollectionGroup(ctx context.Co... method GetCollectionGroup (line 69) | func (cs *CollectionGroupService) GetCollectionGroup(ctx context.Conte... function NewCollectionGroupService (line 48) | func NewCollectionGroupService(collectionGroupRepo CollectionGroupRepo) ... FILE: internal/service/collection/collection_service.go type CollectionService (line 32) | type CollectionService struct method CollectionSwitch (line 50) | func (cs *CollectionService) CollectionSwitch(ctx context.Context, req... function NewCollectionService (line 38) | func NewCollectionService( FILE: internal/service/collection_common/collection.go type CollectionRepo (line 29) | type CollectionRepo interface type CollectionCommon (line 44) | type CollectionCommon struct method SearchObjectCollected (line 55) | func (ccs *CollectionCommon) SearchObjectCollected(ctx context.Context... method SearchList (line 59) | func (ccs *CollectionCommon) SearchList(ctx context.Context, search *e... function NewCollectionCommon (line 48) | func NewCollectionCommon(collectionRepo CollectionRepo) *CollectionCommon { FILE: internal/service/comment/comment_service.go type CommentRepo (line 52) | type CommentRepo interface type CommentQuery (line 62) | type CommentQuery struct method GetOrderBy (line 72) | func (c *CommentQuery) GetOrderBy() string { type CommentService (line 83) | type CommentService struct method AddComment (line 130) | func (cs *CommentService) AddComment(ctx context.Context, req *schema.... method addCommentNotification (line 220) | func (cs *CommentService) addCommentNotification( method RemoveComment (line 266) | func (cs *CommentService) RemoveComment(ctx context.Context, req *sche... method UpdateComment (line 277) | func (cs *CommentService) UpdateComment(ctx context.Context, req *sche... method GetComment (line 311) | func (cs *CommentService) GetComment(ctx context.Context, req *schema.... method GetCommentWithPage (line 368) | func (cs *CommentService) GetCommentWithPage(ctx context.Context, req ... method convertCommentEntity2Resp (line 414) | func (cs *CommentService) convertCommentEntity2Resp(ctx context.Contex... method checkIsVote (line 463) | func (cs *CommentService) checkIsVote(ctx context.Context, userID, com... method GetCommentPersonalWithPage (line 469) | func (cs *CommentService) GetCommentPersonalWithPage(ctx context.Conte... method notificationQuestionComment (line 522) | func (cs *CommentService) notificationQuestionComment(ctx context.Cont... method notificationAnswerComment (line 569) | func (cs *CommentService) notificationAnswerComment(ctx context.Context, method notificationCommentReply (line 617) | func (cs *CommentService) notificationCommentReply(ctx context.Context... method notificationMention (line 659) | func (cs *CommentService) notificationMention( function NewCommentService (line 99) | func NewCommentService( FILE: internal/service/comment_common/comment_service.go type CommentCommonRepo (line 32) | type CommentCommonRepo interface type CommentCommonService (line 41) | type CommentCommonService struct method GetComment (line 54) | func (cs *CommentCommonService) GetComment(ctx context.Context, commen... function NewCommentCommonService (line 46) | func NewCommentCommonService( FILE: internal/service/config/config_service.go type ConfigRepo (line 31) | type ConfigRepo interface type ConfigService (line 39) | type ConfigService struct method GetIntValue (line 51) | func (cs *ConfigService) GetIntValue(ctx context.Context, key string) ... method GetStringValue (line 60) | func (cs *ConfigService) GetStringValue(ctx context.Context, key strin... method GetStringValueFromDB (line 69) | func (cs *ConfigService) GetStringValueFromDB(ctx context.Context, key... method GetArrayStringValue (line 78) | func (cs *ConfigService) GetArrayStringValue(ctx context.Context, key ... method GetJsonConfigByIDAndSetToObject (line 86) | func (cs *ConfigService) GetJsonConfigByIDAndSetToObject(ctx context.C... method GetConfigByID (line 99) | func (cs *ConfigService) GetConfigByID(ctx context.Context, id int) (c... method GetConfigByKey (line 103) | func (cs *ConfigService) GetConfigByKey(ctx context.Context, key strin... method GetIDByKey (line 108) | func (cs *ConfigService) GetIDByKey(ctx context.Context, key string) (... method UpdateConfig (line 116) | func (cs *ConfigService) UpdateConfig(ctx context.Context, key, value ... function NewConfigService (line 44) | func NewConfigService(configRepo ConfigRepo) *ConfigService { FILE: internal/service/content/answer_service.go type AnswerService (line 55) | type AnswerService struct method RemoveAnswer (line 116) | func (as *AnswerService) RemoveAnswer(ctx context.Context, req *schema... method RecoverAnswer (line 199) | func (as *AnswerService) RecoverAnswer(ctx context.Context, req *schem... method Insert (line 245) | func (as *AnswerService) Insert(ctx context.Context, req *schema.Answe... method Update (line 338) | func (as *AnswerService) Update(ctx context.Context, req *schema.Answe... method AcceptAnswer (line 434) | func (as *AnswerService) AcceptAnswer(ctx context.Context, req *schema... method updateAnswerRank (line 495) | func (as *AnswerService) updateAnswerRank(ctx context.Context, userID ... method Get (line 515) | func (as *AnswerService) Get(ctx context.Context, answerID, loginUserI... method GetDetail (line 562) | func (as *AnswerService) GetDetail(ctx context.Context, answerID strin... method GetCountByUserIDQuestionID (line 574) | func (as *AnswerService) GetCountByUserIDQuestionID(ctx context.Contex... method AdminSetAnswerStatus (line 578) | func (as *AnswerService) AdminSetAnswerStatus(ctx context.Context, req... method SearchList (line 622) | func (as *AnswerService) SearchList(ctx context.Context, req *schema.A... method SearchFormatInfo (line 642) | func (as *AnswerService) SearchFormatInfo(ctx context.Context, answers... method ShowFormat (line 684) | func (as *AnswerService) ShowFormat(ctx context.Context, data *entity.... method notificationUpdateAnswer (line 688) | func (as *AnswerService) notificationUpdateAnswer(ctx context.Context,... method notificationAnswerTheQuestion (line 705) | func (as *AnswerService) notificationAnswerTheQuestion(ctx context.Con... function NewAnswerService (line 75) | func NewAnswerService( FILE: internal/service/content/question_hottest_service.go method RefreshHottestCron (line 32) | func (q *QuestionService) RefreshHottestCron(ctx context.Context) { method getScore (line 85) | func (q *QuestionService) getScore(qViews, qAnswers, qScore, aScores, qA... FILE: internal/service/content/question_service.go type QuestionService (line 72) | type QuestionService struct method CloseQuestion (line 150) | func (qs *QuestionService) CloseQuestion(ctx context.Context, req *sch... method ReopenQuestion (line 195) | func (qs *QuestionService) ReopenQuestion(ctx context.Context, req *sc... method AddQuestionCheckTags (line 219) | func (qs *QuestionService) AddQuestionCheckTags(ctx context.Context, t... method CheckAddQuestion (line 231) | func (qs *QuestionService) CheckAddQuestion(ctx context.Context, req *... method HasNewTag (line 298) | func (qs *QuestionService) HasNewTag(ctx context.Context, tags []*sche... method AddQuestion (line 303) | func (qs *QuestionService) AddQuestion(ctx context.Context, req *schem... method OperationQuestion (line 465) | func (qs *QuestionService) OperationQuestion(ctx context.Context, req ... method RemoveQuestion (line 549) | func (qs *QuestionService) RemoveQuestion(ctx context.Context, req *sc... method UpdateQuestionCheckTags (line 658) | func (qs *QuestionService) UpdateQuestionCheckTags(ctx context.Context... method RecoverQuestion (line 724) | func (qs *QuestionService) RecoverQuestion(ctx context.Context, req *s... method UpdateQuestionInviteUser (line 789) | func (qs *QuestionService) UpdateQuestionInviteUser(ctx context.Contex... method notificationInviteUser (line 843) | func (qs *QuestionService) notificationInviteUser( method UpdateQuestion (line 897) | func (qs *QuestionService) UpdateQuestion(ctx context.Context, req *sc... method GetQuestion (line 1078) | func (qs *QuestionService) GetQuestion(ctx context.Context, questionID... method GetQuestionAndAddPV (line 1133) | func (qs *QuestionService) GetQuestionAndAddPV(ctx context.Context, qu... method InviteUserInfo (line 1143) | func (qs *QuestionService) InviteUserInfo(ctx context.Context, questio... method ChangeTag (line 1147) | func (qs *QuestionService) ChangeTag(ctx context.Context, objectTagDat... method CheckChangeReservedTag (line 1155) | func (qs *QuestionService) CheckChangeReservedTag(ctx context.Context,... method PersonalQuestionPage (line 1160) | func (qs *QuestionService) PersonalQuestionPage(ctx context.Context, r... method PersonalAnswerPage (line 1196) | func (qs *QuestionService) PersonalAnswerPage(ctx context.Context, req... method PersonalCollectionPage (line 1254) | func (qs *QuestionService) PersonalCollectionPage(ctx context.Context,... method SearchUserTopList (line 1294) | func (qs *QuestionService) SearchUserTopList(ctx context.Context, user... method GetQuestionsByTitle (line 1362) | func (qs *QuestionService) GetQuestionsByTitle(ctx context.Context, ti... method SimilarQuestion (line 1426) | func (qs *QuestionService) SimilarQuestion(ctx context.Context, questi... method GetQuestionPage (line 1457) | func (qs *QuestionService) GetQuestionPage(ctx context.Context, req *s... method GetRecommendQuestionPage (line 1520) | func (qs *QuestionService) GetRecommendQuestionPage(ctx context.Contex... method AdminSetQuestionStatus (line 1560) | func (qs *QuestionService) AdminSetQuestionStatus(ctx context.Context,... method AdminQuestionPage (line 1635) | func (qs *QuestionService) AdminQuestionPage( method AdminAnswerPage (line 1667) | func (qs *QuestionService) AdminAnswerPage(ctx context.Context, req *s... method changeQuestionToRevision (line 1703) | func (qs *QuestionService) changeQuestionToRevision(_ context.Context,... method SitemapCron (line 1716) | func (qs *QuestionService) SitemapCron(ctx context.Context) { method GetQuestionLink (line 1726) | func (qs *QuestionService) GetQuestionLink(ctx context.Context, req *s... function NewQuestionService (line 98) | func NewQuestionService( FILE: internal/service/content/revision_service.go type RevisionService (line 55) | type RevisionService struct method RevisionAudit (line 106) | func (rs *RevisionService) RevisionAudit(ctx context.Context, req *sch... method revisionAuditQuestion (line 182) | func (rs *RevisionService) revisionAuditQuestion(ctx context.Context, ... method revisionAuditAnswer (line 235) | func (rs *RevisionService) revisionAuditAnswer(ctx context.Context, re... method revisionAuditTag (line 291) | func (rs *RevisionService) revisionAuditTag(ctx context.Context, revis... method GetUnreviewedRevisionPage (line 338) | func (rs *RevisionService) GetUnreviewedRevisionPage(ctx context.Conte... method GetRevisionList (line 384) | func (rs *RevisionService) GetRevisionList(ctx context.Context, req *s... method parseItem (line 438) | func (rs *RevisionService) parseItem(ctx context.Context, item *schema... method CheckCanUpdateRevision (line 504) | func (rs *RevisionService) CheckCanUpdateRevision(ctx context.Context,... method GetReviewingType (line 517) | func (rs *RevisionService) GetReviewingType(ctx context.Context, req *... function NewRevisionService (line 72) | func NewRevisionService( FILE: internal/service/content/search_service.go type SearchService (line 31) | type SearchService struct method Search (line 47) | func (ss *SearchService) Search(ctx context.Context, dto *schema.Searc... method searchByPlugin (line 87) | func (ss *SearchService) searchByPlugin(ctx context.Context, finder pl... function NewSearchService (line 36) | func NewSearchService( FILE: internal/service/content/user_service.go type UserService (line 58) | type UserService struct method GetUserInfoByUserID (line 109) | func (us *UserService) GetUserInfoByUserID(ctx context.Context, token,... method GetOtherUserInfoByUsername (line 134) | func (us *UserService) GetOtherUserInfoByUsername(ctx context.Context,... method EmailLogin (line 157) | func (us *UserService) EmailLogin(ctx context.Context, req *schema.Use... method RetrievePassWord (line 219) | func (us *UserService) RetrievePassWord(ctx context.Context, req *sche... method UpdatePasswordWhenForgot (line 244) | func (us *UserService) UpdatePasswordWhenForgot(ctx context.Context, r... method UserModifyPassWordVerification (line 271) | func (us *UserService) UserModifyPassWordVerification(ctx context.Cont... method UserModifyPassword (line 288) | func (us *UserService) UserModifyPassword(ctx context.Context, req *sc... method UpdateInfo (line 315) | func (us *UserService) UpdateInfo(ctx context.Context, req *schema.Upd... method cleanUpRemovedAvatar (line 369) | func (us *UserService) cleanUpRemovedAvatar( method formatUserInfoForUpdateInfo (line 404) | func (us *UserService) formatUserInfoForUpdateInfo( method UserUpdateInterface (line 435) | func (us *UserService) UserUpdateInterface(ctx context.Context, req *s... method UserRegisterByEmail (line 440) | func (us *UserService) UserRegisterByEmail(ctx context.Context, regist... method UserVerifyEmailSend (line 524) | func (us *UserService) UserVerifyEmailSend(ctx context.Context, userID... method UserVerifyEmail (line 547) | func (us *UserService) UserVerifyEmail(ctx context.Context, req *schem... method verifyPassword (line 600) | func (us *UserService) verifyPassword(_ context.Context, loginPass, us... method encryptPassword (line 610) | func (us *UserService) encryptPassword(_ context.Context, pass string)... method UserChangeEmailSendCode (line 617) | func (us *UserService) UserChangeEmailSendCode(ctx context.Context, re... method UserChangeEmailVerify (line 670) | func (us *UserService) UserChangeEmailVerify(ctx context.Context, cont... method getSiteUrl (line 741) | func (us *UserService) getSiteUrl(ctx context.Context) string { method UserRanking (line 751) | func (us *UserService) UserRanking(ctx context.Context) (resp *schema.... method GetUserStaff (line 787) | func (us *UserService) GetUserStaff(ctx context.Context, req *schema.G... method UserUnsubscribeNotification (line 805) | func (us *UserService) UserUnsubscribeNotification( method getActivityUserRankStat (line 837) | func (us *UserService) getActivityUserRankStat(ctx context.Context, st... method getActivityUserVoteStat (line 859) | func (us *UserService) getActivityUserVoteStat(ctx context.Context, st... method getStaff (line 881) | func (us *UserService) getStaff(ctx context.Context, userIDExist map[s... method getUserInfoMapping (line 897) | func (us *UserService) getUserInfoMapping(ctx context.Context, userIDs... method SearchUserListByName (line 915) | func (us *UserService) SearchUserListByName(ctx context.Context, req *... method warpStatRankingResp (line 937) | func (us *UserService) warpStatRankingResp( function NewUserService (line 75) | func NewUserService(userRepo usercommon.UserRepo, FILE: internal/service/content/vote_service.go type VoteRepo (line 49) | type VoteRepo interface type VoteService (line 58) | type VoteService struct method VoteUp (line 89) | func (vs *VoteService) VoteUp(ctx context.Context, req *schema.VoteReq... method VoteDown (line 140) | func (vs *VoteService) VoteDown(ctx context.Context, req *schema.VoteR... method ListUserVotes (line 189) | func (vs *VoteService) ListUserVotes(ctx context.Context, req schema.G... method createVoteOperationInfo (line 243) | func (vs *VoteService) createVoteOperationInfo(ctx context.Context, method getActivities (line 258) | func (vs *VoteService) getActivities(ctx context.Context, op *schema.V... method sendEvent (line 301) | func (vs *VoteService) sendEvent(ctx context.Context, function NewVoteService (line 68) | func NewVoteService( FILE: internal/service/dashboard/dashboard_service.go type dashboardService (line 53) | type dashboardService struct method Statistical (line 102) | func (ds *dashboardService) Statistical(ctx context.Context) (*schema.... method getFromCache (line 151) | func (ds *dashboardService) getFromCache(ctx context.Context) (dashboa... method setCache (line 167) | func (ds *dashboardService) setCache(ctx context.Context, info *schema... method questionCount (line 175) | func (ds *dashboardService) questionCount(ctx context.Context) int64 { method unansweredQuestionCount (line 183) | func (ds *dashboardService) unansweredQuestionCount(ctx context.Contex... method resolvedQuestionCount (line 191) | func (ds *dashboardService) resolvedQuestionCount(ctx context.Context)... method answerCount (line 199) | func (ds *dashboardService) answerCount(ctx context.Context) int64 { method commentCount (line 207) | func (ds *dashboardService) commentCount(ctx context.Context) int64 { method userCount (line 215) | func (ds *dashboardService) userCount(ctx context.Context) int64 { method reportCount (line 223) | func (ds *dashboardService) reportCount(ctx context.Context) int64 { method voteCount (line 244) | func (ds *dashboardService) voteCount(ctx context.Context) int64 { method remoteVersion (line 266) | func (ds *dashboardService) remoteVersion(_ context.Context) string { method smtpStatus (line 293) | func (ds *dashboardService) smtpStatus(ctx context.Context) (smtpStatu... method httpsStatus (line 312) | func (ds *dashboardService) httpsStatus(ctx context.Context) (enabled ... method getTimezone (line 326) | func (ds *dashboardService) getTimezone(ctx context.Context) string { method calculateStorage (line 334) | func (ds *dashboardService) calculateStorage() string { method getDatabaseInfo (line 343) | func (ds *dashboardService) getDatabaseInfo() (versionDesc string) { method GetDatabaseSize (line 353) | func (ds *dashboardService) GetDatabaseSize() (dbSize string) { function NewDashboardService (line 68) | func NewDashboardService( type DashboardService (line 98) | type DashboardService interface FILE: internal/service/eventqueue/event_queue.go type Service (line 27) | type Service function NewService (line 29) | func NewService() Service { FILE: internal/service/export/email_service.go type EmailService (line 47) | type EmailService struct method SaveCode (line 93) | func (es *EmailService) SaveCode(ctx context.Context, userID, code, co... method SendAndSaveCode (line 101) | func (es *EmailService) SendAndSaveCode(ctx context.Context, userID, t... method SendAndSaveCodeWithTime (line 111) | func (es *EmailService) SendAndSaveCodeWithTime( method Send (line 122) | func (es *EmailService) Send(ctx context.Context, toEmailAddr, subject... method VerifyUrlExpired (line 159) | func (es *EmailService) VerifyUrlExpired(ctx context.Context, code str... method RegisterTemplate (line 167) | func (es *EmailService) RegisterTemplate(ctx context.Context, register... method PassResetTemplate (line 183) | func (es *EmailService) PassResetTemplate(ctx context.Context, passRes... method ChangeEmailTemplate (line 197) | func (es *EmailService) ChangeEmailTemplate(ctx context.Context, chang... method TestTemplate (line 214) | func (es *EmailService) TestTemplate(ctx context.Context) (title, body... method NewAnswerTemplate (line 228) | func (es *EmailService) NewAnswerTemplate(ctx context.Context, raw *sc... method NewInviteAnswerTemplate (line 254) | func (es *EmailService) NewInviteAnswerTemplate(ctx context.Context, r... method NewCommentTemplate (line 279) | func (es *EmailService) NewCommentTemplate(ctx context.Context, raw *s... method NewQuestionTemplate (line 306) | func (es *EmailService) NewQuestionTemplate(ctx context.Context, raw *... method GetEmailConfig (line 331) | func (es *EmailService) GetEmailConfig(ctx context.Context) (ec *Email... method SetEmailConfig (line 346) | func (es *EmailService) SetEmailConfig(ctx context.Context, ec *EmailC... type EmailRepo (line 54) | type EmailRepo interface function NewEmailService (line 60) | func NewEmailService( type EmailConfig (line 73) | type EmailConfig struct method IsSSL (line 84) | func (e *EmailConfig) IsSSL() bool { method IsTLS (line 88) | func (e *EmailConfig) IsTLS() bool { FILE: internal/service/feature_toggle/feature_toggle_service.go constant FeatureBadge (line 35) | FeatureBadge = "badge" constant FeatureCustomDomain (line 36) | FeatureCustomDomain = "custom_domain" constant FeatureMCP (line 37) | FeatureMCP = "mcp" constant FeaturePrivateAPI (line 38) | FeaturePrivateAPI = "private_api" constant FeatureAIChatbot (line 39) | FeatureAIChatbot = "ai_chatbot" constant FeatureArticle (line 40) | FeatureArticle = "article" constant FeatureCategory (line 41) | FeatureCategory = "category" type toggleConfig (line 44) | type toggleConfig struct type FeatureToggleService (line 49) | type FeatureToggleService struct method UpdateAll (line 61) | func (s *FeatureToggleService) UpdateAll(ctx context.Context, toggles ... method GetAll (line 81) | func (s *FeatureToggleService) GetAll(ctx context.Context) (map[string... method IsEnabled (line 98) | func (s *FeatureToggleService) IsEnabled(ctx context.Context, feature ... method EnsureEnabled (line 114) | func (s *FeatureToggleService) EnsureEnabled(ctx context.Context, feat... function NewFeatureToggleService (line 54) | func NewFeatureToggleService(siteInfoRepo siteinfo_common.SiteInfoRepo) ... function sanitizeToggleMap (line 125) | func sanitizeToggleMap(in map[string]bool) map[string]bool { FILE: internal/service/file_record/file_record_service.go type FileRecordRepo (line 43) | type FileRecordRepo interface type FileRecordService (line 53) | type FileRecordService struct method AddFileRecord (line 79) | func (fs *FileRecordService) AddFileRecord(ctx context.Context, userID... method CleanOrphanUploadFiles (line 94) | func (fs *FileRecordService) CleanOrphanUploadFiles(ctx context.Contex... method PurgeDeletedFiles (line 165) | func (fs *FileRecordService) PurgeDeletedFiles(ctx context.Context) { method DeleteAndMoveFileRecord (line 179) | func (fs *FileRecordService) DeleteAndMoveFileRecord(ctx context.Conte... method GetFileRecordByURL (line 198) | func (fs *FileRecordService) GetFileRecordByURL(ctx context.Context, f... function NewFileRecordService (line 62) | func NewFileRecordService( function isBrandingOrAvatarFile (line 161) | func isBrandingOrAvatarFile(filePath string) bool { FILE: internal/service/follow/follow_service.go type FollowRepo (line 31) | type FollowRepo interface type FollowService (line 36) | type FollowService struct method Follow (line 55) | func (fs *FollowService) Follow(ctx context.Context, dto *schema.Follo... method UpdateFollowTags (line 75) | func (fs *FollowService) UpdateFollowTags(ctx context.Context, req *sc... function NewFollowService (line 42) | func NewFollowService( FILE: internal/service/importer/importer_service.go type ImporterService (line 42) | type ImporterService struct method NewImporterFunc (line 68) | func (ip *ImporterService) NewImporterFunc() plugin.ImporterFunc { method ImportQuestion (line 72) | func (ip *ImporterService) ImportQuestion(ctx context.Context, questio... function NewImporterService (line 49) | func NewImporterService( type ImporterFunc (line 60) | type ImporterFunc struct method AddQuestion (line 64) | func (ipfunc *ImporterFunc) AddQuestion(ctx context.Context, questionI... FILE: internal/service/meta/meta_service.go type MetaService (line 46) | type MetaService struct method GetReactionByObjectId (line 71) | func (ms *MetaService) GetReactionByObjectId(ctx context.Context, req ... method AddOrUpdateReaction (line 93) | func (ms *MetaService) AddOrUpdateReaction(ctx context.Context, req *s... method updateReaction (line 162) | func (ms *MetaService) updateReaction(req *schema.UpdateReactionReq, r... method convertToReactionResp (line 171) | func (ms *MetaService) convertToReactionResp(ctx context.Context, user... function NewMetaService (line 54) | func NewMetaService( FILE: internal/service/meta_common/meta_common_service.go type MetaRepo (line 31) | type MetaRepo interface type MetaCommonService (line 41) | type MetaCommonService struct method AddMeta (line 52) | func (ms *MetaCommonService) AddMeta(ctx context.Context, objID, key, ... method RemoveMeta (line 62) | func (ms *MetaCommonService) RemoveMeta(ctx context.Context, id int) (... method UpdateMeta (line 67) | func (ms *MetaCommonService) UpdateMeta(ctx context.Context, metaID in... method AddOrUpdateMetaByObjectIdAndKey (line 76) | func (ms *MetaCommonService) AddOrUpdateMetaByObjectIdAndKey(ctx conte... method GetMetaByObjectIdAndKey (line 81) | func (ms *MetaCommonService) GetMetaByObjectIdAndKey(ctx context.Conte... method GetMetaList (line 93) | func (ms *MetaCommonService) GetMetaList(ctx context.Context, objID st... function NewMetaCommonService (line 45) | func NewMetaCommonService(metaRepo MetaRepo) *MetaCommonService { FILE: internal/service/mock/siteinfo_repo_mock.go type MockSiteInfoRepo (line 41) | type MockSiteInfoRepo struct method EXPECT (line 60) | func (m *MockSiteInfoRepo) EXPECT() *MockSiteInfoRepoMockRecorder { method GetByType (line 65) | func (m *MockSiteInfoRepo) GetByType(ctx context.Context, siteType str... method IsBrandingFileUsed (line 86) | func (m *MockSiteInfoRepo) IsBrandingFileUsed(ctx context.Context, fil... method SaveByType (line 101) | func (m *MockSiteInfoRepo) SaveByType(ctx context.Context, siteType st... type MockSiteInfoRepoMockRecorder (line 48) | type MockSiteInfoRepoMockRecorder struct method GetByType (line 79) | func (mr *MockSiteInfoRepoMockRecorder) GetByType(ctx, siteType any, w... method IsBrandingFileUsed (line 95) | func (mr *MockSiteInfoRepoMockRecorder) IsBrandingFileUsed(ctx, filePa... method SaveByType (line 109) | func (mr *MockSiteInfoRepoMockRecorder) SaveByType(ctx, siteType, data... function NewMockSiteInfoRepo (line 53) | func NewMockSiteInfoRepo(ctrl *gomock.Controller) *MockSiteInfoRepo { type MockSiteInfoCommonService (line 115) | type MockSiteInfoCommonService struct method EXPECT (line 134) | func (m *MockSiteInfoCommonService) EXPECT() *MockSiteInfoCommonServic... method FormatAvatar (line 139) | func (m *MockSiteInfoCommonService) FormatAvatar(ctx context.Context, ... method FormatListAvatar (line 153) | func (m *MockSiteInfoCommonService) FormatListAvatar(ctx context.Conte... method GetSiteAI (line 167) | func (m *MockSiteInfoCommonService) GetSiteAI(ctx context.Context) (*s... method GetSiteAdvanced (line 182) | func (m *MockSiteInfoCommonService) GetSiteAdvanced(ctx context.Contex... method GetSiteBranding (line 197) | func (m *MockSiteInfoCommonService) GetSiteBranding(ctx context.Contex... method GetSiteCustomCssHTML (line 212) | func (m *MockSiteInfoCommonService) GetSiteCustomCssHTML(ctx context.C... method GetSiteGeneral (line 227) | func (m *MockSiteInfoCommonService) GetSiteGeneral(ctx context.Context... method GetSiteInfoByType (line 242) | func (m *MockSiteInfoCommonService) GetSiteInfoByType(ctx context.Cont... method GetSiteInterface (line 256) | func (m *MockSiteInfoCommonService) GetSiteInterface(ctx context.Conte... method GetSiteLogin (line 271) | func (m *MockSiteInfoCommonService) GetSiteLogin(ctx context.Context) ... method GetSiteMCP (line 286) | func (m *MockSiteInfoCommonService) GetSiteMCP(ctx context.Context) (*... method GetSitePolicies (line 301) | func (m *MockSiteInfoCommonService) GetSitePolicies(ctx context.Contex... method GetSiteQuestion (line 316) | func (m *MockSiteInfoCommonService) GetSiteQuestion(ctx context.Contex... method GetSiteSecurity (line 331) | func (m *MockSiteInfoCommonService) GetSiteSecurity(ctx context.Contex... method GetSiteSeo (line 346) | func (m *MockSiteInfoCommonService) GetSiteSeo(ctx context.Context) (*... method GetSiteTag (line 361) | func (m *MockSiteInfoCommonService) GetSiteTag(ctx context.Context) (*... method GetSiteTheme (line 376) | func (m *MockSiteInfoCommonService) GetSiteTheme(ctx context.Context) ... method GetSiteUsers (line 391) | func (m *MockSiteInfoCommonService) GetSiteUsers(ctx context.Context) ... method GetSiteUsersSettings (line 406) | func (m *MockSiteInfoCommonService) GetSiteUsersSettings(ctx context.C... method GetSiteWrite (line 421) | func (m *MockSiteInfoCommonService) GetSiteWrite(ctx context.Context) ... method IsBrandingFileUsed (line 436) | func (m *MockSiteInfoCommonService) IsBrandingFileUsed(ctx context.Con... type MockSiteInfoCommonServiceMockRecorder (line 122) | type MockSiteInfoCommonServiceMockRecorder struct method FormatAvatar (line 147) | func (mr *MockSiteInfoCommonServiceMockRecorder) FormatAvatar(ctx, ori... method FormatListAvatar (line 161) | func (mr *MockSiteInfoCommonServiceMockRecorder) FormatListAvatar(ctx,... method GetSiteAI (line 176) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteAI(ctx any) *g... method GetSiteAdvanced (line 191) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteAdvanced(ctx a... method GetSiteBranding (line 206) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteBranding(ctx a... method GetSiteCustomCssHTML (line 221) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteCustomCssHTML(... method GetSiteGeneral (line 236) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteGeneral(ctx an... method GetSiteInfoByType (line 250) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteInfoByType(ctx... method GetSiteInterface (line 265) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteInterface(ctx ... method GetSiteLogin (line 280) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteLogin(ctx any)... method GetSiteMCP (line 295) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteMCP(ctx any) *... method GetSitePolicies (line 310) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSitePolicies(ctx a... method GetSiteQuestion (line 325) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteQuestion(ctx a... method GetSiteSecurity (line 340) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteSecurity(ctx a... method GetSiteSeo (line 355) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteSeo(ctx any) *... method GetSiteTag (line 370) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteTag(ctx any) *... method GetSiteTheme (line 385) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteTheme(ctx any)... method GetSiteUsers (line 400) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteUsers(ctx any)... method GetSiteUsersSettings (line 415) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteUsersSettings(... method GetSiteWrite (line 430) | func (mr *MockSiteInfoCommonServiceMockRecorder) GetSiteWrite(ctx any)... method IsBrandingFileUsed (line 444) | func (mr *MockSiteInfoCommonServiceMockRecorder) IsBrandingFileUsed(ct... function NewMockSiteInfoCommonService (line 127) | func NewMockSiteInfoCommonService(ctrl *gomock.Controller) *MockSiteInfo... FILE: internal/service/noticequeue/notice_queue.go type Service (line 27) | type Service function NewService (line 29) | func NewService() Service { type ExternalService (line 33) | type ExternalService function NewExternalService (line 35) | func NewExternalService() ExternalService { FILE: internal/service/notification/external_notification.go type ExternalNotificationService (line 39) | type ExternalNotificationService struct method Handler (line 74) | func (ns *ExternalNotificationService) Handler(ctx context.Context, ms... method checkUserStatusBeforeNotification (line 99) | func (ns *ExternalNotificationService) checkUserStatusBeforeNotificati... function NewExternalNotificationService (line 50) | func NewExternalNotificationService( FILE: internal/service/notification/invite_answer_notification.go method handleInviteAnswerNotification (line 32) | func (ns *ExternalNotificationService) handleInviteAnswerNotification(ct... method sendInviteAnswerNotificationEmail (line 55) | func (ns *ExternalNotificationService) sendInviteAnswerNotificationEmail... FILE: internal/service/notification/new_answer_notification.go method handleNewAnswerNotification (line 32) | func (ns *ExternalNotificationService) handleNewAnswerNotification(ctx c... method sendNewAnswerNotificationEmail (line 55) | func (ns *ExternalNotificationService) sendNewAnswerNotificationEmail(ct... FILE: internal/service/notification/new_comment_notification.go method handleNewCommentNotification (line 32) | func (ns *ExternalNotificationService) handleNewCommentNotification(ctx ... method sendNewCommentNotificationEmail (line 55) | func (ns *ExternalNotificationService) sendNewCommentNotificationEmail(c... FILE: internal/service/notification/new_question_notification.go type NewQuestionSubscriber (line 38) | type NewQuestionSubscriber struct method handleNewQuestionNotification (line 44) | func (ns *ExternalNotificationService) handleNewQuestionNotification(ctx... method getNewQuestionSubscribers (line 74) | func (ns *ExternalNotificationService) getNewQuestionSubscribers(ctx con... method checkSendNewQuestionNotificationEmailLimit (line 140) | func (ns *ExternalNotificationService) checkSendNewQuestionNotificationE... method sendNewQuestionNotificationEmail (line 162) | func (ns *ExternalNotificationService) sendNewQuestionNotificationEmail(... method syncNewQuestionNotificationToPlugin (line 200) | func (ns *ExternalNotificationService) syncNewQuestionNotificationToPlug... method newPluginQuestionNotification (line 268) | func (ns *ExternalNotificationService) newPluginQuestionNotification( FILE: internal/service/notification/notification_service.go type NotificationService (line 47) | type NotificationService struct method GetRedDot (line 80) | func (ns *NotificationService) GetRedDot(ctx context.Context, req *sch... method getBadgeAward (line 99) | func (ns *NotificationService) getBadgeAward(ctx context.Context, user... method countAllReviewAmount (line 130) | func (ns *NotificationService) countAllReviewAmount(ctx context.Contex... method ClearRedDot (line 166) | func (ns *NotificationService) ClearRedDot(ctx context.Context, req *s... method ClearUnRead (line 173) | func (ns *NotificationService) ClearUnRead(ctx context.Context, userID... method ClearIDUnRead (line 184) | func (ns *NotificationService) ClearIDUnRead(ctx context.Context, user... method GetNotificationPage (line 209) | func (ns *NotificationService) GetNotificationPage(ctx context.Context... method formatNotificationPage (line 233) | func (ns *NotificationService) formatNotificationPage(ctx context.Cont... function NewNotificationService (line 58) | func NewNotificationService( FILE: internal/service/notification_common/notification.go type NotificationRepo (line 49) | type NotificationRepo interface type NotificationCommon (line 62) | type NotificationCommon struct method AddNotification (line 109) | func (ns *NotificationCommon) AddNotification(ctx context.Context, msg... method addRedDot (line 222) | func (ns *NotificationCommon) addRedDot(ctx context.Context, userID st... method DecreaseRedDot (line 246) | func (ns *NotificationCommon) DecreaseRedDot(ctx context.Context, user... method DeleteRedDot (line 270) | func (ns *NotificationCommon) DeleteRedDot(ctx context.Context, userID... method AddBadgeAwardAlertCache (line 285) | func (ns *NotificationCommon) AddBadgeAwardAlertCache(ctx context.Cont... method RemoveBadgeAwardAlertCache (line 309) | func (ns *NotificationCommon) RemoveBadgeAwardAlertCache(ctx context.C... method SendNotificationToAllFollower (line 328) | func (ns *NotificationCommon) SendNotificationToAllFollower(ctx contex... method syncNotificationToPlugin (line 359) | func (ns *NotificationCommon) syncNotificationToPlugin(ctx context.Con... function NewNotificationCommon (line 74) | func NewNotificationCommon( FILE: internal/service/object_info/object_info.go type ObjService (line 38) | type ObjService struct method GetUnreviewedRevisionInfo (line 62) | func (os *ObjService) GetUnreviewedRevisionInfo(ctx context.Context, o... method GetInfo (line 188) | func (os *ObjService) GetInfo(ctx context.Context, objectID string) (o... function NewObjService (line 47) | func NewObjService( FILE: internal/service/permission/answer_permission.go function GetAnswerPermission (line 33) | func GetAnswerPermission(ctx context.Context, userID, creatorUserID string, FILE: internal/service/permission/comment_permission.go function GetCommentPermission (line 33) | func GetCommentPermission(ctx context.Context, userID string, creatorUse... FILE: internal/service/permission/permission_name.go constant AdminAccess (line 23) | AdminAccess = "admin.access" constant QuestionAdd (line 24) | QuestionAdd = "question.add" constant QuestionEdit (line 25) | QuestionEdit = "question.edit" constant QuestionEditWithoutReview (line 26) | QuestionEditWithoutReview = "question.edit_without_review" constant QuestionDelete (line 27) | QuestionDelete = "question.delete" constant QuestionClose (line 28) | QuestionClose = "question.close" constant QuestionReopen (line 29) | QuestionReopen = "question.reopen" constant QuestionVoteUp (line 30) | QuestionVoteUp = "question.vote_up" constant QuestionVoteDown (line 31) | QuestionVoteDown = "question.vote_down" constant QuestionPin (line 32) | QuestionPin = "question.pin" constant QuestionUnPin (line 33) | QuestionUnPin = "question.unpin" constant QuestionHide (line 34) | QuestionHide = "question.hide" constant QuestionShow (line 35) | QuestionShow = "question.show" constant AnswerAdd (line 36) | AnswerAdd = "answer.add" constant AnswerEdit (line 37) | AnswerEdit = "answer.edit" constant AnswerEditWithoutReview (line 38) | AnswerEditWithoutReview = "answer.edit_without_review" constant AnswerDelete (line 39) | AnswerDelete = "answer.delete" constant AnswerAccept (line 40) | AnswerAccept = "answer.accept" constant AnswerVoteUp (line 41) | AnswerVoteUp = "answer.vote_up" constant AnswerVoteDown (line 42) | AnswerVoteDown = "answer.vote_down" constant AnswerInviteSomeoneToAnswer (line 43) | AnswerInviteSomeoneToAnswer = "answer.invite_someone_to_answer" constant CommentAdd (line 44) | CommentAdd = "comment.add" constant CommentEdit (line 45) | CommentEdit = "comment.edit" constant CommentDelete (line 46) | CommentDelete = "comment.delete" constant CommentVoteUp (line 47) | CommentVoteUp = "comment.vote_up" constant CommentVoteDown (line 48) | CommentVoteDown = "comment.vote_down" constant ReportAdd (line 49) | ReportAdd = "report.add" constant TagAdd (line 50) | TagAdd = "tag.add" constant TagEdit (line 51) | TagEdit = "tag.edit" constant TagEditSlugName (line 52) | TagEditSlugName = "tag.edit_slug_name" constant TagEditWithoutReview (line 53) | TagEditWithoutReview = "tag.edit_without_review" constant TagDelete (line 54) | TagDelete = "tag.delete" constant TagMerge (line 55) | TagMerge = "tag.merge" constant TagSynonym (line 56) | TagSynonym = "tag.synonym" constant LinkUrlLimit (line 57) | LinkUrlLimit = "link.url_limit" constant VoteDetail (line 58) | VoteDetail = "vote.detail" constant AnswerAudit (line 59) | AnswerAudit = "answer.audit" constant QuestionAudit (line 60) | QuestionAudit = "question.audit" constant TagAudit (line 61) | TagAudit = "tag.audit" constant TagUseReservedTag (line 62) | TagUseReservedTag = "tag.use_reserved_tag" constant AnswerUnDelete (line 63) | AnswerUnDelete = "answer.undeleted" constant QuestionUnDelete (line 64) | QuestionUnDelete = "question.undeleted" constant TagUnDelete (line 65) | TagUnDelete = "tag.undeleted" constant reportActionName (line 69) | reportActionName = "action.report" constant editActionName (line 70) | editActionName = "action.edit" constant deleteActionName (line 71) | deleteActionName = "action.delete" constant mergeActionName (line 72) | mergeActionName = "action.merge" constant undeleteActionName (line 73) | undeleteActionName = "action.undelete" constant closeActionName (line 74) | closeActionName = "action.close" constant reopenActionName (line 75) | reopenActionName = "action.reopen" constant pinActionName (line 76) | pinActionName = "action.pin" constant unpinActionName (line 77) | unpinActionName = "action.unpin" constant hideActionName (line 78) | hideActionName = "action.hide" constant showActionName (line 79) | showActionName = "action.show" constant inviteSomeoneToAnswerActionName (line 80) | inviteSomeoneToAnswerActionName = "action.invite_someone_to_answer" FILE: internal/service/permission/question_permission.go function GetQuestionPermission (line 33) | func GetQuestionPermission(ctx context.Context, userID string, creatorUs... function GetQuestionExtendsPermission (line 116) | func GetQuestionExtendsPermission(ctx context.Context, canInviteOtherToA... FILE: internal/service/permission/tag_permission.go function GetTagPermission (line 33) | func GetTagPermission(ctx context.Context, status int, canEdit, canDelet... function GetTagSynonymPermission (line 72) | func GetTagSynonymPermission(ctx context.Context, canEdit bool) ( FILE: internal/service/plugin_common/plugin_common_service.go type PluginConfigRepo (line 41) | type PluginConfigRepo interface type PluginUserConfigRepo (line 46) | type PluginUserConfigRepo interface type PluginCommonService (line 56) | type PluginCommonService struct method UpdatePluginStatus (line 84) | func (ps *PluginCommonService) UpdatePluginStatus(ctx context.Context)... method UpdatePluginConfig (line 93) | func (ps *PluginCommonService) UpdatePluginConfig(ctx context.Context,... method UpdatePluginUserConfig (line 114) | func (ps *PluginCommonService) UpdatePluginUserConfig(ctx context.Cont... method GetUserPluginConfig (line 124) | func (ps *PluginCommonService) GetUserPluginConfig(ctx context.Context... method initPluginData (line 136) | func (ps *PluginCommonService) initPluginData() { function NewPluginCommonService (line 65) | func NewPluginCommonService( FILE: internal/service/question_common/question.go type QuestionRepo (line 56) | type QuestionRepo interface type QuestionCommon (line 95) | type QuestionCommon struct method GetUserQuestionCount (line 145) | func (qs *QuestionCommon) GetUserQuestionCount(ctx context.Context, us... method GetPersonalUserQuestionCount (line 149) | func (qs *QuestionCommon) GetPersonalUserQuestionCount(ctx context.Con... method UpdatePv (line 157) | func (qs *QuestionCommon) UpdatePv(ctx context.Context, questionID str... method UpdateAnswerCount (line 161) | func (qs *QuestionCommon) UpdateAnswerCount(ctx context.Context, quest... method UpdateCollectionCount (line 178) | func (qs *QuestionCommon) UpdateCollectionCount(ctx context.Context, q... method UpdateAccepted (line 182) | func (qs *QuestionCommon) UpdateAccepted(ctx context.Context, question... method UpdateLastAnswer (line 189) | func (qs *QuestionCommon) UpdateLastAnswer(ctx context.Context, questi... method UpdatePostTime (line 196) | func (qs *QuestionCommon) UpdatePostTime(ctx context.Context, question... method UpdatePostSetTime (line 203) | func (qs *QuestionCommon) UpdatePostSetTime(ctx context.Context, quest... method FindInfoByID (line 210) | func (qs *QuestionCommon) FindInfoByID(ctx context.Context, questionID... method InviteUserInfo (line 226) | func (qs *QuestionCommon) InviteUserInfo(ctx context.Context, question... method Info (line 254) | func (qs *QuestionCommon) Info(ctx context.Context, questionID string,... method FormatQuestionsPage (line 364) | func (qs *QuestionCommon) FormatQuestionsPage( method FormatQuestions (line 467) | func (qs *QuestionCommon) FormatQuestions(ctx context.Context, questio... method RemoveQuestion (line 509) | func (qs *QuestionCommon) RemoveQuestion(ctx context.Context, req *sch... method CloseQuestion (line 541) | func (qs *QuestionCommon) CloseQuestion(ctx context.Context, req *sche... method RemoveAnswer (line 574) | func (qs *QuestionCommon) RemoveAnswer(ctx context.Context, id string)... method SitemapCron (line 601) | func (qs *QuestionCommon) SitemapCron(ctx context.Context) { method SetCache (line 625) | func (qs *QuestionCommon) SetCache(ctx context.Context, cachekey strin... method ShowListFormat (line 638) | func (qs *QuestionCommon) ShowListFormat(ctx context.Context, data *en... method ShowFormat (line 642) | func (qs *QuestionCommon) ShowFormat(ctx context.Context, data *entity... method ShowFormatWithTag (line 688) | func (qs *QuestionCommon) ShowFormatWithTag(ctx context.Context, data ... method UpdateQuestionLink (line 703) | func (qs *QuestionCommon) UpdateQuestionLink(ctx context.Context, ques... method AddQuestionLinkForCloseReason (line 831) | func (qs *QuestionCommon) AddQuestionLinkForCloseReason(ctx context.Co... method RemoveQuestionLinkForReopen (line 856) | func (qs *QuestionCommon) RemoveQuestionLinkForReopen(ctx context.Cont... method tryToGetQuestionIDFromMsg (line 879) | func (qs *QuestionCommon) tryToGetQuestionIDFromMsg(ctx context.Contex... method GetMinimumContentLength (line 902) | func (qs *QuestionCommon) GetMinimumContentLength(ctx context.Context)... function NewQuestionCommon (line 112) | func NewQuestionCommon(questionRepo QuestionRepo, FILE: internal/service/rank/rank_service.go constant PermissionPrefix (line 47) | PermissionPrefix = "rank." type UserRankRepo (line 50) | type UserRankRepo interface type RankService (line 60) | type RankService struct method CheckOperationPermission (line 88) | func (rs *RankService) CheckOperationPermission(ctx context.Context, u... method CheckOperationPermissionsForRanks (line 124) | func (rs *RankService) CheckOperationPermissionsForRanks(ctx context.C... method CheckOperationPermissions (line 155) | func (rs *RankService) CheckOperationPermissions(ctx context.Context, ... method CheckOperationObjectOwner (line 162) | func (rs *RankService) CheckOperationObjectOwner(ctx context.Context, ... method CheckVotePermission (line 178) | func (rs *RankService) CheckVotePermission(ctx context.Context, userID... method getUserPowerMapping (line 226) | func (rs *RankService) getUserPowerMapping(ctx context.Context, userID... method checkUserRank (line 246) | func (rs *RankService) checkUserRank(ctx context.Context, userID strin... method GetRankPersonalPage (line 263) | func (rs *RankService) GetRankPersonalPage(ctx context.Context, req *s... method decorateRankPersonalPageResp (line 291) | func (rs *RankService) decorateRankPersonalPageResp( function NewRankService (line 70) | func NewRankService( FILE: internal/service/reason/reason_service.go type ReasonService (line 29) | type ReasonService struct method GetReasons (line 39) | func (rs ReasonService) GetReasons(ctx context.Context, req schema.Rea... function NewReasonService (line 33) | func NewReasonService(reasonRepo reason_common.ReasonRepo) *ReasonService { FILE: internal/service/reason_common/reason.go type ReasonRepo (line 28) | type ReasonRepo interface FILE: internal/service/report/report_service.go type ReportService (line 51) | type ReportService struct method AddReport (line 89) | func (rs *ReportService) AddReport(ctx context.Context, req *schema.Ad... method GetUnreviewedReportPostPage (line 129) | func (rs *ReportService) GetUnreviewedReportPostPage(ctx context.Conte... method ReviewReport (line 207) | func (rs *ReportService) ReviewReport(ctx context.Context, req *schema... method sendEvent (line 232) | func (rs *ReportService) sendEvent(ctx context.Context, function NewReportService (line 64) | func NewReportService( FILE: internal/service/report_common/report_common.go type ReportRepo (line 30) | type ReportRepo interface FILE: internal/service/report_handle/report_handle.go type ReportHandle (line 34) | type ReportHandle struct method UpdateReportedObject (line 53) | func (rh *ReportHandle) UpdateReportedObject(ctx context.Context, method updateReportedQuestionReport (line 70) | func (rh *ReportHandle) updateReportedQuestionReport(ctx context.Context, method updateReportedAnswerReport (line 100) | func (rh *ReportHandle) updateReportedAnswerReport(ctx context.Context... method updateReportedCommentReport (line 121) | func (rh *ReportHandle) updateReportedCommentReport(ctx context.Contex... function NewReportHandle (line 40) | func NewReportHandle( FILE: internal/service/review/review_service.go type ReviewRepo (line 49) | type ReviewRepo interface type ReviewService (line 59) | type ReviewService struct method AddQuestionReview (line 109) | func (cs *ReviewService) AddQuestionReview(ctx context.Context, method AddAnswerReview (line 137) | func (cs *ReviewService) AddAnswerReview(ctx context.Context, method AddCommentReview (line 161) | func (cs *ReviewService) AddCommentReview(ctx context.Context, method getReviewContentAuthorInfo (line 185) | func (cs *ReviewService) getReviewContentAuthorInfo(ctx context.Contex... method callPluginToReview (line 203) | func (cs *ReviewService) callPluginToReview(ctx context.Context, userI... method UpdateReview (line 242) | func (cs *ReviewService) UpdateReview(ctx context.Context, req *schema... method updateObjectStatus (line 267) | func (cs *ReviewService) updateObjectStatus(ctx context.Context, revie... method notificationAnswerTheQuestion (line 375) | func (cs *ReviewService) notificationAnswerTheQuestion(ctx context.Con... method notificationCommentOnTheQuestion (line 421) | func (cs *ReviewService) notificationCommentOnTheQuestion(ctx context.... method notificationCommentReply (line 474) | func (cs *ReviewService) notificationCommentReply(ctx context.Context,... method notificationMention (line 516) | func (cs *ReviewService) notificationMention( method notificationQuestionComment (line 541) | func (cs *ReviewService) notificationQuestionComment(ctx context.Conte... method notificationAnswerComment (line 588) | func (cs *ReviewService) notificationAnswerComment(ctx context.Context, method GetReviewPendingCount (line 637) | func (cs *ReviewService) GetReviewPendingCount(ctx context.Context) (c... method GetUnreviewedPostPage (line 642) | func (cs *ReviewService) GetUnreviewedPostPage(ctx context.Context, re... function NewReviewService (line 76) | func NewReviewService( FILE: internal/service/revision/revision.go type RevisionRepo (line 30) | type RevisionRepo interface FILE: internal/service/revision_common/revision_service.go type RevisionService (line 38) | type RevisionService struct method GetUnreviewedRevisionCount (line 52) | func (rs *RevisionService) GetUnreviewedRevisionCount(ctx context.Cont... method AddRevision (line 64) | func (rs *RevisionService) AddRevision(ctx context.Context, req *schem... method GetRevision (line 77) | func (rs *RevisionService) GetRevision(ctx context.Context, revisionID... method ExistUnreviewedByObjectID (line 91) | func (rs *RevisionService) ExistUnreviewedByObjectID(ctx context.Conte... function NewRevisionService (line 43) | func NewRevisionService(revisionRepo revision.RevisionRepo, FILE: internal/service/role/power_service.go type PowerRepo (line 29) | type PowerRepo interface FILE: internal/service/role/role_power_rel_service.go type RolePowerRelRepo (line 27) | type RolePowerRelRepo interface type RolePowerRelService (line 32) | type RolePowerRelService struct method GetRolePowerList (line 47) | func (rs *RolePowerRelService) GetRolePowerList(ctx context.Context, r... method GetUserPowerList (line 52) | func (rs *RolePowerRelService) GetUserPowerList(ctx context.Context, u... function NewRolePowerRelService (line 38) | func NewRolePowerRelService(rolePowerRelRepo RolePowerRelRepo, FILE: internal/service/role/role_service.go constant RoleUserID (line 37) | RoleUserID = 1 constant RoleAdminID (line 38) | RoleAdminID = 2 constant RoleModeratorID (line 39) | RoleModeratorID = 3 constant roleUserName (line 41) | roleUserName = "User" constant roleAdminName (line 42) | roleAdminName = "Admin" constant roleModeratorName (line 43) | roleModeratorName = "Moderator" constant trRoleNameUser (line 45) | trRoleNameUser = "role.name.user" constant trRoleNameAdmin (line 46) | trRoleNameAdmin = "role.name.admin" constant trRoleNameModerator (line 47) | trRoleNameModerator = "role.name.moderator" constant trRoleDescriptionUser (line 49) | trRoleDescriptionUser = "role.description.user" constant trRoleDescriptionAdmin (line 50) | trRoleDescriptionAdmin = "role.description.admin" constant trRoleDescriptionModerator (line 51) | trRoleDescriptionModerator = "role.description.moderator" type RoleRepo (line 55) | type RoleRepo interface type RoleService (line 61) | type RoleService struct method GetRoleList (line 72) | func (rs *RoleService) GetRoleList(ctx context.Context) (resp []*schem... method GetRoleMapping (line 87) | func (rs *RoleService) GetRoleMapping(ctx context.Context) (roleMappin... method translateRole (line 91) | func (rs *RoleService) translateRole(ctx context.Context, role *entity... function NewRoleService (line 65) | func NewRoleService(roleRepo RoleRepo) *RoleService { FILE: internal/service/role/user_role_rel_service.go type UserRoleRelRepo (line 29) | type UserRoleRelRepo interface type UserRoleRelService (line 38) | type UserRoleRelService struct method SaveUserRole (line 52) | func (us *UserRoleRelService) SaveUserRole(ctx context.Context, userID... method GetUserRoleMapping (line 57) | func (us *UserRoleRelService) GetUserRoleMapping(ctx context.Context, ... method GetUserRoleRelMapping (line 90) | func (us *UserRoleRelService) GetUserRoleRelMapping(ctx context.Contex... method GetUserRole (line 106) | func (us *UserRoleRelService) GetUserRole(ctx context.Context, userID ... method GetUserByRoleID (line 119) | func (us *UserRoleRelService) GetUserByRoleID(ctx context.Context, rol... function NewUserRoleRelService (line 44) | func NewUserRoleRelService(userRoleRelRepo UserRoleRelRepo, roleService ... FILE: internal/service/search_common/search.go type SearchRepo (line 29) | type SearchRepo interface FILE: internal/service/search_parser/search_parser.go type SearchParser (line 36) | type SearchParser struct method ParseStructure (line 50) | func (sp *SearchParser) ParseStructure(ctx context.Context, dto *schem... method parseTags (line 109) | func (sp *SearchParser) parseTags(ctx context.Context, query *string) ... method parseUserID (line 155) | func (sp *SearchParser) parseUserID(ctx context.Context, query *string... method parseVotes (line 180) | func (sp *SearchParser) parseVotes(query *string) (votes int) { method parseWithin (line 199) | func (sp *SearchParser) parseWithin(query *string) (words []string) { method parseNotAccepted (line 219) | func (sp *SearchParser) parseNotAccepted(query *string) (notAccepted b... method parseIsQuestion (line 235) | func (sp *SearchParser) parseIsQuestion(query *string) (isQuestion boo... method parseViews (line 251) | func (sp *SearchParser) parseViews(query *string) (views int) { method parseAnswers (line 269) | func (sp *SearchParser) parseAnswers(query *string) (answers int) { method parseAccepted (line 288) | func (sp *SearchParser) parseAccepted(query *string) (accepted bool) { method parseQuestionID (line 304) | func (sp *SearchParser) parseQuestionID(query *string) (questionID str... method parseIsAnswer (line 322) | func (sp *SearchParser) parseIsAnswer(query *string) (isAnswer bool) { function NewSearchParser (line 41) | func NewSearchParser(tagCommonService *tag_common.TagCommonService, user... FILE: internal/service/service_config/service_config.go type ServiceConfig (line 22) | type ServiceConfig struct FILE: internal/service/siteinfo/siteinfo_service.go type SiteInfoService (line 48) | type SiteInfoService struct method GetSiteGeneral (line 89) | func (s *SiteInfoService) GetSiteGeneral(ctx context.Context) (resp *s... method GetSiteInterface (line 94) | func (s *SiteInfoService) GetSiteInterface(ctx context.Context) (resp ... method GetSiteUsersSettings (line 99) | func (s *SiteInfoService) GetSiteUsersSettings(ctx context.Context) (r... method GetSiteBranding (line 104) | func (s *SiteInfoService) GetSiteBranding(ctx context.Context) (resp *... method GetSiteUsers (line 109) | func (s *SiteInfoService) GetSiteUsers(ctx context.Context) (resp *sch... method GetSiteTag (line 114) | func (s *SiteInfoService) GetSiteTag(ctx context.Context) (resp *schem... method GetSiteQuestion (line 133) | func (s *SiteInfoService) GetSiteQuestion(ctx context.Context) (resp *... method GetSiteAdvanced (line 138) | func (s *SiteInfoService) GetSiteAdvanced(ctx context.Context) (resp *... method GetSitePolicies (line 143) | func (s *SiteInfoService) GetSitePolicies(ctx context.Context) (resp *... method GetSiteSecurity (line 148) | func (s *SiteInfoService) GetSiteSecurity(ctx context.Context) (resp *... method GetSiteLogin (line 153) | func (s *SiteInfoService) GetSiteLogin(ctx context.Context) (resp *sch... method GetSiteCustomCssHTML (line 158) | func (s *SiteInfoService) GetSiteCustomCssHTML(ctx context.Context) (r... method GetSiteTheme (line 163) | func (s *SiteInfoService) GetSiteTheme(ctx context.Context) (resp *sch... method SaveSiteGeneral (line 167) | func (s *SiteInfoService) SaveSiteGeneral(ctx context.Context, req sch... method SaveSiteInterface (line 178) | func (s *SiteInfoService) SaveSiteInterface(ctx context.Context, req s... method SaveSiteUsersSettings (line 193) | func (s *SiteInfoService) SaveSiteUsersSettings(ctx context.Context, r... method SaveSiteBranding (line 203) | func (s *SiteInfoService) SaveSiteBranding(ctx context.Context, req *s... method SaveSiteAdvanced (line 214) | func (s *SiteInfoService) SaveSiteAdvanced(ctx context.Context, req *s... method SaveSiteQuestions (line 225) | func (s *SiteInfoService) SaveSiteQuestions(ctx context.Context, req *... method SaveSiteTags (line 236) | func (s *SiteInfoService) SaveSiteTags(ctx context.Context, req *schem... method SaveSitePolicies (line 271) | func (s *SiteInfoService) SaveSitePolicies(ctx context.Context, req *s... method SaveSiteSecurity (line 282) | func (s *SiteInfoService) SaveSiteSecurity(ctx context.Context, req *s... method SaveSiteLogin (line 293) | func (s *SiteInfoService) SaveSiteLogin(ctx context.Context, req *sche... method SaveSiteCustomCssHTML (line 304) | func (s *SiteInfoService) SaveSiteCustomCssHTML(ctx context.Context, r... method SaveSiteTheme (line 315) | func (s *SiteInfoService) SaveSiteTheme(ctx context.Context, req *sche... method SaveSiteUsers (line 329) | func (s *SiteInfoService) SaveSiteUsers(ctx context.Context, req *sche... method GetSiteAI (line 340) | func (s *SiteInfoService) GetSiteAI(ctx context.Context) (resp *schema... method SaveSiteAI (line 369) | func (s *SiteInfoService) SaveSiteAI(ctx context.Context, req *schema.... method maskAIKeys (line 415) | func (s *SiteInfoService) maskAIKeys(resp *schema.SiteAIResp) { method restoreMaskedAIKeys (line 424) | func (s *SiteInfoService) restoreMaskedAIKeys(ctx context.Context, req... method GetSiteMCP (line 460) | func (s *SiteInfoService) GetSiteMCP(ctx context.Context) (resp *schem... method SaveSiteMCP (line 477) | func (s *SiteInfoService) SaveSiteMCP(ctx context.Context, req *schema... method GetSMTPConfig (line 488) | func (s *SiteInfoService) GetSMTPConfig(ctx context.Context) (resp *sc... method UpdateSMTPConfig (line 500) | func (s *SiteInfoService) UpdateSMTPConfig(ctx context.Context, req *s... method GetSeo (line 527) | func (s *SiteInfoService) GetSeo(ctx context.Context) (resp *schema.Si... method SaveSeo (line 545) | func (s *SiteInfoService) SaveSeo(ctx context.Context, req schema.Site... method GetPrivilegesConfig (line 554) | func (s *SiteInfoService) GetPrivilegesConfig(ctx context.Context) (re... method translatePrivilegeOptions (line 579) | func (s *SiteInfoService) translatePrivilegeOptions(ctx context.Contex... method UpdatePrivilegesConfig (line 598) | func (s *SiteInfoService) UpdatePrivilegesConfig(ctx context.Context, ... method CleanUpRemovedBrandingFiles (line 657) | func (s *SiteInfoService) CleanUpRemovedBrandingFiles( method GetAIProvider (line 701) | func (s *SiteInfoService) GetAIProvider(ctx context.Context) (resp []*... method GetAIModels (line 713) | func (s *SiteInfoService) GetAIModels(ctx context.Context, req *schema... method getStoredAIKey (line 753) | func (s *SiteInfoService) getStoredAIKey(ctx context.Context, apiHost ... function NewSiteInfoService (line 58) | func NewSiteInfoService( function isAllMask (line 455) | func isAllMask(value string) bool { FILE: internal/service/siteinfo_common/siteinfo_service.go type SiteInfoRepo (line 35) | type SiteInfoRepo interface type siteInfoCommonService (line 42) | type siteInfoCommonService struct method GetSiteGeneral (line 78) | func (s *siteInfoCommonService) GetSiteGeneral(ctx context.Context) (r... method GetSiteInterface (line 88) | func (s *siteInfoCommonService) GetSiteInterface(ctx context.Context) ... method GetSiteUsersSettings (line 97) | func (s *siteInfoCommonService) GetSiteUsersSettings(ctx context.Conte... method GetSiteBranding (line 106) | func (s *siteInfoCommonService) GetSiteBranding(ctx context.Context) (... method GetSiteUsers (line 115) | func (s *siteInfoCommonService) GetSiteUsers(ctx context.Context) (res... method FormatAvatar (line 124) | func (s *siteInfoCommonService) FormatAvatar(ctx context.Context, orig... method FormatListAvatar (line 130) | func (s *siteInfoCommonService) FormatListAvatar(ctx context.Context, ... method getAvatarDefaultConfig (line 140) | func (s *siteInfoCommonService) getAvatarDefaultConfig(ctx context.Con... method selectedAvatar (line 155) | func (s *siteInfoCommonService) selectedAvatar( method GetSiteWrite (line 178) | func (s *siteInfoCommonService) GetSiteWrite(ctx context.Context) (res... method GetSiteAdvanced (line 187) | func (s *siteInfoCommonService) GetSiteAdvanced(ctx context.Context) (... method GetSiteQuestion (line 196) | func (s *siteInfoCommonService) GetSiteQuestion(ctx context.Context) (... method GetSiteTag (line 205) | func (s *siteInfoCommonService) GetSiteTag(ctx context.Context) (resp ... method GetSitePolicies (line 214) | func (s *siteInfoCommonService) GetSitePolicies(ctx context.Context) (... method GetSiteSecurity (line 223) | func (s *siteInfoCommonService) GetSiteSecurity(ctx context.Context) (... method GetSiteLogin (line 232) | func (s *siteInfoCommonService) GetSiteLogin(ctx context.Context) (res... method GetSiteCustomCssHTML (line 241) | func (s *siteInfoCommonService) GetSiteCustomCssHTML(ctx context.Conte... method GetSiteTheme (line 250) | func (s *siteInfoCommonService) GetSiteTheme(ctx context.Context) (res... method GetSiteSeo (line 266) | func (s *siteInfoCommonService) GetSiteSeo(ctx context.Context) (resp ... method EnableShortID (line 274) | func (s *siteInfoCommonService) EnableShortID(ctx context.Context) (en... method GetSiteInfoByType (line 283) | func (s *siteInfoCommonService) GetSiteInfoByType(ctx context.Context,... method IsBrandingFileUsed (line 295) | func (s *siteInfoCommonService) IsBrandingFileUsed(ctx context.Context... method GetSiteAI (line 306) | func (s *siteInfoCommonService) GetSiteAI(ctx context.Context) (resp *... method GetSiteMCP (line 315) | func (s *siteInfoCommonService) GetSiteMCP(ctx context.Context) (resp ... type SiteInfoCommonService (line 46) | type SiteInfoCommonService interface function NewSiteInfoCommonService (line 71) | func NewSiteInfoCommonService(siteInfoRepo SiteInfoRepo) SiteInfoCommonS... FILE: internal/service/siteinfo_common/siteinfo_service_test.go function mockInit (line 38) | func mockInit(ctl *gomock.Controller) { function TestSiteInfoCommonService_GetSiteGeneral (line 44) | func TestSiteInfoCommonService_GetSiteGeneral(t *testing.T) { FILE: internal/service/tag/tag_service.go type TagService (line 47) | type TagService struct method RemoveTag (line 76) | func (ts *TagService) RemoveTag(ctx context.Context, req *schema.Remov... method UpdateTag (line 110) | func (ts *TagService) UpdateTag(ctx context.Context, req *schema.Updat... method RecoverTag (line 115) | func (ts *TagService) RecoverTag(ctx context.Context, req *schema.Reco... method GetTagInfo (line 142) | func (ts *TagService) GetTagInfo(ctx context.Context, req *schema.GetT... method GetTagsBySlugName (line 195) | func (ts *TagService) GetTagsBySlugName(ctx context.Context, req *sche... method GetFollowingTags (line 215) | func (ts *TagService) GetFollowingTags(ctx context.Context, userID str... method GetTagSynonyms (line 252) | func (ts *TagService) GetTagSynonyms(ctx context.Context, req *schema.... method UpdateTagSynonym (line 299) | func (ts *TagService) UpdateTagSynonym(ctx context.Context, req *schem... method GetTagWithPage (line 403) | func (ts *TagService) GetTagWithPage(ctx context.Context, req *schema.... method MergeTag (line 440) | func (ts *TagService) MergeTag(ctx context.Context, req *schema.MergeT... method checkTagIsFollow (line 498) | func (ts *TagService) checkTagIsFollow(ctx context.Context, userID, ta... function NewTagService (line 57) | func NewTagService( FILE: internal/service/tag_common/tag_common.go type TagCommonRepo (line 44) | type TagCommonRepo interface type TagRepo (line 58) | type TagRepo interface type TagRelRepo (line 69) | type TagRelRepo interface type TagCommonService (line 86) | type TagCommonService struct method SearchTagLike (line 115) | func (ts *TagCommonService) SearchTagLike(ctx context.Context, req *sc... method GetSiteWriteRecommendTag (line 167) | func (ts *TagCommonService) GetSiteWriteRecommendTag(ctx context.Conte... method GetSiteWriteReservedTag (line 182) | func (ts *TagCommonService) GetSiteWriteReservedTag(ctx context.Contex... method SetSiteWriteTag (line 197) | func (ts *TagCommonService) SetSiteWriteTag(ctx context.Context, recom... method SetTagsAttribute (line 231) | func (ts *TagCommonService) SetTagsAttribute(ctx context.Context, tags... method GetTagListByNames (line 260) | func (ts *TagCommonService) GetTagListByNames(ctx context.Context, tag... method ExistRecommend (line 272) | func (ts *TagCommonService) ExistRecommend(ctx context.Context, tags [... method GetMinimumTags (line 297) | func (ts *TagCommonService) GetMinimumTags(ctx context.Context) (int, ... method HasNewTag (line 306) | func (ts *TagCommonService) HasNewTag(ctx context.Context, tags []*sch... method GetObjectTag (line 333) | func (ts *TagCommonService) GetObjectTag(ctx context.Context, objectId... method AddTag (line 342) | func (ts *TagCommonService) AddTag(ctx context.Context, req *schema.Ad... method AddTagList (line 387) | func (ts *TagCommonService) AddTagList(ctx context.Context, tagList []... method GetTagByID (line 392) | func (ts *TagCommonService) GetTagByID(ctx context.Context, tagID stri... method GetTagIDsByMainTagID (line 402) | func (ts *TagCommonService) GetTagIDsByMainTagID(ctx context.Context, ... method GetTagBySlugName (line 408) | func (ts *TagCommonService) GetTagBySlugName(ctx context.Context, slug... method GetTagListByIDs (line 418) | func (ts *TagCommonService) GetTagListByIDs(ctx context.Context, ids [... method GetTagPage (line 428) | func (ts *TagCommonService) GetTagPage(ctx context.Context, page, page... method GetObjectEntityTag (line 438) | func (ts *TagCommonService) GetObjectEntityTag(ctx context.Context, ob... method TagFormat (line 454) | func (ts *TagCommonService) TagFormat(ctx context.Context, tags []*ent... method TagsFormatRecommendAndReserved (line 468) | func (ts *TagCommonService) TagsFormatRecommendAndReserved(ctx context... method tagFormatRecommendAndReserved (line 484) | func (ts *TagCommonService) tagFormatRecommendAndReserved(ctx context.... method BatchGetObjectTag (line 499) | func (ts *TagCommonService) BatchGetObjectTag(ctx context.Context, obj... method CheckTag (line 547) | func (ts *TagCommonService) CheckTag(ctx context.Context, tags []strin... method CheckTagsIsChange (line 600) | func (ts *TagCommonService) CheckTagsIsChange(ctx context.Context, tag... method CheckChangeReservedTag (line 623) | func (ts *TagCommonService) CheckChangeReservedTag(ctx context.Context... method ObjectChangeTag (line 661) | func (ts *TagCommonService) ObjectChangeTag(ctx context.Context, objec... method CountTagRelByTagID (line 744) | func (ts *TagCommonService) CountTagRelByTagID(ctx context.Context, ta... method RefreshTagQuestionCount (line 749) | func (ts *TagCommonService) RefreshTagQuestionCount(ctx context.Contex... method RefreshTagCountByQuestionID (line 764) | func (ts *TagCommonService) RefreshTagCountByQuestionID(ctx context.Co... method RemoveTagRelListByObjectID (line 781) | func (ts *TagCommonService) RemoveTagRelListByObjectID(ctx context.Con... method RecoverTagRelListByObjectID (line 786) | func (ts *TagCommonService) RecoverTagRelListByObjectID(ctx context.Co... method HideTagRelListByObjectID (line 790) | func (ts *TagCommonService) HideTagRelListByObjectID(ctx context.Conte... method ShowTagRelListByObjectID (line 794) | func (ts *TagCommonService) ShowTagRelListByObjectID(ctx context.Conte... method CreateOrUpdateTagRelList (line 799) | func (ts *TagCommonService) CreateOrUpdateTagRelList(ctx context.Conte... method UpdateTag (line 866) | func (ts *TagCommonService) UpdateTag(ctx context.Context, req *schema... method MigrateTagQuestions (line 954) | func (ts *TagCommonService) MigrateTagQuestions(ctx context.Context, s... function NewTagCommonService (line 96) | func NewTagCommonService( FILE: internal/service/unique/uniqid_service.go type UniqueIDRepo (line 27) | type UniqueIDRepo interface FILE: internal/service/uploader/upload.go type UploaderService (line 68) | type UploaderService interface type uploaderService (line 77) | type uploaderService struct method UploadAvatarFile (line 103) | func (us *uploaderService) UploadAvatarFile(ctx *gin.Context, userID s... method AvatarThumbFile (line 140) | func (us *uploaderService) AvatarThumbFile(ctx *gin.Context, fileName ... method UploadPostFile (line 194) | func (us *uploaderService) UploadPostFile(ctx *gin.Context, userID str... method UploadPostAttachment (line 232) | func (us *uploaderService) UploadPostAttachment(ctx *gin.Context, user... method UploadBrandingFile (line 270) | func (us *uploaderService) UploadBrandingFile(ctx *gin.Context, userID... method uploadImageFile (line 308) | func (us *uploaderService) uploadImageFile(ctx *gin.Context, file *mul... method uploadAttachmentFile (line 343) | func (us *uploaderService) uploadAttachmentFile(ctx *gin.Context, file... method tryToUploadByPlugin (line 365) | func (us *uploaderService) tryToUploadByPlugin(ctx *gin.Context, sourc... function NewUploaderService (line 84) | func NewUploaderService( function removeExif (line 394) | func removeExif(path string) error { FILE: internal/service/user_admin/user_backyard.go type UserAdminRepo (line 61) | type UserAdminRepo interface type UserAdminService (line 75) | type UserAdminService struct method UpdateUserStatus (line 128) | func (us *UserAdminService) UpdateUserStatus(ctx context.Context, req ... method removeAllUserConfiguration (line 183) | func (us *UserAdminService) removeAllUserConfiguration(ctx context.Con... method removeAllUserCreatedContent (line 207) | func (us *UserAdminService) removeAllUserCreatedContent(ctx context.Co... method UpdateUserRole (line 220) | func (us *UserAdminService) UpdateUserRole(ctx context.Context, req *s... method AddUser (line 236) | func (us *UserAdminService) AddUser(ctx context.Context, req *schema.A... method AddUsers (line 271) | func (us *UserAdminService) AddUsers(ctx context.Context, req *schema.... method checkUserDuplicateInner (line 291) | func (us *UserAdminService) checkUserDuplicateInner(ctx context.Contex... method formatBulkAddUsers (line 331) | func (us *UserAdminService) formatBulkAddUsers(ctx context.Context, re... method UpdateUserPassword (line 370) | func (us *UserAdminService) UpdateUserPassword(ctx context.Context, re... method EditUserProfile (line 398) | func (us *UserAdminService) EditUserProfile(ctx context.Context, req *... method GetUserInfo (line 454) | func (us *UserAdminService) GetUserInfo(ctx context.Context, userID st... method GetUserPage (line 469) | func (us *UserAdminService) GetUserPage(ctx context.Context, req *sche... method setUserRoleInfo (line 546) | func (us *UserAdminService) setUserRoleInfo(ctx context.Context, resp ... method GetUserActivation (line 568) | func (us *UserAdminService) GetUserActivation(ctx context.Context, req... method SendUserActivation (line 596) | func (us *UserAdminService) SendUserActivation(ctx context.Context, re... method DeletePermanently (line 624) | func (us *UserAdminService) DeletePermanently(ctx context.Context, req... method CheckAndUnsuspendExpiredUsers (line 638) | func (us *UserAdminService) CheckAndUnsuspendExpiredUsers(ctx context.... function NewUserAdminService (line 93) | func NewUserAdminService( FILE: internal/service/user_common/user.go type UserRepo (line 42) | type UserRepo interface type UserCommon (line 67) | type UserCommon struct method GetUserBasicInfoByID (line 88) | func (us *UserCommon) GetUserBasicInfoByID(ctx context.Context, id str... method GetUserBasicInfoByUserName (line 99) | func (us *UserCommon) GetUserBasicInfoByUserName(ctx context.Context, ... method BatchGetUserBasicInfoByUserNames (line 109) | func (us *UserCommon) BatchGetUserBasicInfoByUserNames(ctx context.Con... method GetByEmail (line 124) | func (us *UserCommon) GetByEmail(ctx context.Context, email string) (u... method GetByUsername (line 128) | func (us *UserCommon) GetByUsername(ctx context.Context, username stri... method UpdateUserProfile (line 132) | func (us *UserCommon) UpdateUserProfile(ctx context.Context, userInfo ... method UpdateAnswerCount (line 136) | func (us *UserCommon) UpdateAnswerCount(ctx context.Context, userID st... method UpdateQuestionCount (line 140) | func (us *UserCommon) UpdateQuestionCount(ctx context.Context, userID ... method BatchUserBasicInfoByID (line 144) | func (us *UserCommon) BatchUserBasicInfoByID(ctx context.Context, user... method FormatUserBasicInfo (line 173) | func (us *UserCommon) FormatUserBasicInfo(ctx context.Context, userInf... method MakeUsername (line 195) | func (us *UserCommon) MakeUsername(ctx context.Context, displayName st... method CacheLoginUserInfo (line 226) | func (us *UserCommon) CacheLoginUserInfo(ctx context.Context, userID s... method IsAvatarFileUsed (line 253) | func (us *UserCommon) IsAvatarFileUsed(ctx context.Context, filePath s... function NewUserCommon (line 74) | func NewUserCommon( FILE: internal/service/user_external_login/user_center_login_service.go type UserCenterLoginService (line 44) | type UserCenterLoginService struct method ExternalLogin (line 69) | func (us *UserCenterLoginService) ExternalLogin( method registerNewUser (line 141) | func (us *UserCenterLoginService) registerNewUser(ctx context.Context,... method activeUser (line 186) | func (us *UserCenterLoginService) activeUser(ctx context.Context, oldU... method UserCenterUserSettings (line 194) | func (us *UserCenterLoginService) UserCenterUserSettings(ctx context.C... method UserCenterAdminFunctionAgent (line 241) | func (us *UserCenterLoginService) UserCenterAdminFunctionAgent(ctx con... method UserCenterPersonalBranding (line 264) | func (us *UserCenterLoginService) UserCenterPersonalBranding(ctx conte... function NewUserCenterLoginService (line 53) | func NewUserCenterLoginService( FILE: internal/service/user_external_login/user_external_login_service.go type UserExternalLoginRepo (line 47) | type UserExternalLoginRepo interface type UserExternalLoginService (line 60) | type UserExternalLoginService struct method ExternalLogin (line 92) | func (us *UserExternalLoginService) ExternalLogin( method registerNewUser (line 183) | func (us *UserExternalLoginService) registerNewUser(ctx context.Context, method bindOldUser (line 216) | func (us *UserExternalLoginService) bindOldUser(ctx context.Context, method activeUser (line 240) | func (us *UserExternalLoginService) activeUser(ctx context.Context, ol... method ExternalLoginBindingUserSendEmail (line 275) | func (us *UserExternalLoginService) ExternalLoginBindingUserSendEmail( method ExternalLoginBindingUser (line 337) | func (us *UserExternalLoginService) ExternalLoginBindingUser( method GetExternalLoginUserInfoList (line 347) | func (us *UserExternalLoginService) GetExternalLoginUserInfoList( method ExternalLoginUnbinding (line 353) | func (us *UserExternalLoginService) ExternalLoginUnbinding( method CheckUserStatusInUserCenter (line 377) | func (us *UserExternalLoginService) CheckUserStatusInUserCenter(ctx co... function NewUserExternalLoginService (line 71) | func NewUserExternalLoginService( FILE: internal/service/user_notification_config/user_notification_config_service.go type UserNotificationConfigRepo (line 31) | type UserNotificationConfigRepo interface type UserNotificationConfigService (line 42) | type UserNotificationConfigService struct method GetUserNotificationConfig (line 57) | func (us *UserNotificationConfigService) GetUserNotificationConfig(ctx... method UpdateUserNotificationConfig (line 69) | func (us *UserNotificationConfigService) UpdateUserNotificationConfig( method SetDefaultUserNotificationConfig (line 93) | func (us *UserNotificationConfigService) SetDefaultUserNotificationCon... method convertToEntity (line 99) | func (us *UserNotificationConfigService) convertToEntity(_ context.Con... function NewUserNotificationConfigService (line 47) | func NewUserNotificationConfigService( FILE: pkg/checker/chinese.go function IsChinese (line 24) | func IsChinese(str string) bool { FILE: pkg/checker/email.go function EmailInAllowEmailDomain (line 24) | func EmailInAllowEmailDomain(email string, allowEmailDomains []string) b... FILE: pkg/checker/file_type.go function IsUnAuthorizedExtension (line 40) | func IsUnAuthorizedExtension(fileName string, allowedExtensions []string... function DecodeAndCheckImageFile (line 47) | func DecodeAndCheckImageFile(localFilePath string, maxImageMegapixel int... function decodeAndCheckImageFile (line 68) | func decodeAndCheckImageFile(localFilePath string, maxImageMegapixel int... function standardImageConfigCheck (line 85) | func standardImageConfigCheck(file io.Reader, maxImageMegapixel int) err... function standardImageCheck (line 96) | func standardImageCheck(file io.Reader, maxImageMegapixel int) error { function webpImageConfigCheck (line 104) | func webpImageConfigCheck(file io.Reader, maxImageMegapixel int) error { function webpImageCheck (line 115) | func webpImageCheck(file io.Reader, maxImageMegapixel int) error { function imageSizeTooLarge (line 123) | func imageSizeTooLarge(config image.Config, maxImageMegapixel int) bool { FILE: pkg/checker/password.go constant levelD (line 30) | levelD = iota constant LevelC (line 31) | LevelC constant LevelB (line 32) | LevelB constant LevelA (line 33) | LevelA constant LevelS (line 34) | LevelS constant PasswordCannotContainSpaces (line 38) | PasswordCannotContainSpaces = "error.password.space_invalid" function CheckPassword (line 42) | func CheckPassword(password string) error { FILE: pkg/checker/path_ignore.go type PathIgnore (line 31) | type PathIgnore struct function initPathIgnore (line 41) | func initPathIgnore() { function IsUsersIgnorePath (line 48) | func IsUsersIgnorePath(username string) bool { function IsQuestionsIgnorePath (line 54) | func IsQuestionsIgnorePath(questionID string) bool { FILE: pkg/checker/question_link.go constant QuestionLinkTypeURL (line 29) | QuestionLinkTypeURL = 1 constant QuestionLinkTypeID (line 30) | QuestionLinkTypeID = 2 type QuestionLink (line 33) | type QuestionLink struct function GetQuestionLink (line 39) | func GetQuestionLink(content string) []QuestionLink { function processURL (line 64) | func processURL(content string, left, right *int, uniqueIDs map[string]s... function processID (line 83) | func processID(content string, left, right *int, uniqueIDs map[string]st... function isDigit (line 91) | func isDigit(c byte) bool { function isLetter (line 95) | func isLetter(c byte) bool { function addUniqueID (line 99) | func addUniqueID(questionID, answerID string, linkType int, uniqueIDs ma... FILE: pkg/checker/question_link_test.go function TestGetQuestionLink (line 29) | func TestGetQuestionLink(t *testing.T) { FILE: pkg/checker/reserved_username.go function initReservedUsername (line 38) | func initReservedUsername() { function IsReservedUsername (line 55) | func IsReservedUsername(username string) bool { FILE: pkg/checker/url.go function IsURL (line 27) | func IsURL(str string) bool { FILE: pkg/checker/username.go function IsInvalidUsername (line 28) | func IsInvalidUsername(username string) bool { FILE: pkg/checker/zero_string.go function IsNotZeroString (line 23) | func IsNotZeroString(s string) bool { function FilterEmptyString (line 28) | func FilterEmptyString(strs []string) []string { FILE: pkg/converter/array.go function ArrayNotInArray (line 22) | func ArrayNotInArray(original []string, search []string) []string { function UniqueArray (line 36) | func UniqueArray[T comparable](input []T) []T { FILE: pkg/converter/markdown.go function Markdown2HTML (line 40) | func Markdown2HTML(source string) string { function Markdown2BasicHTML (line 69) | func Markdown2BasicHTML(source string) string { type DangerousHTMLFilterExtension (line 79) | type DangerousHTMLFilterExtension struct method Extend (line 82) | func (e *DangerousHTMLFilterExtension) Extend(m goldmark.Markdown) { type DangerousHTMLRenderer (line 91) | type DangerousHTMLRenderer struct method RegisterFuncs (line 97) | func (r *DangerousHTMLRenderer) RegisterFuncs(reg renderer.NodeRendere... method renderRawHTML (line 104) | func (r *DangerousHTMLRenderer) renderRawHTML(w util.BufWriter, source... method renderHTMLBlock (line 121) | func (r *DangerousHTMLRenderer) renderHTMLBlock(w util.BufWriter, sour... method renderLink (line 136) | func (r *DangerousHTMLRenderer) renderLink(w util.BufWriter, source []... method renderAutoLink (line 160) | func (r *DangerousHTMLRenderer) renderAutoLink(w util.BufWriter, sourc... method renderLinkIsUrl (line 185) | func (r *DangerousHTMLRenderer) renderLinkIsUrl(verifyURL string) bool { FILE: pkg/converter/str.go function StringToInt64 (line 29) | func StringToInt64(str string) int64 { function StringToInt (line 37) | func StringToInt(str string) int { function IntToString (line 45) | func IntToString(data int64) string { function InterfaceToString (line 51) | func InterfaceToString(data any) string { FILE: pkg/converter/user.go function DeleteUserDisplay (line 28) | func DeleteUserDisplay(userID string) string { function GetMentionUsernameList (line 32) | func GetMentionUsernameList(text string) []string { FILE: pkg/day/day.go function Format (line 49) | func Format(unix int64, format, tz string) (formatted string) { function nextStdChunk (line 67) | func nextStdChunk(from []rune) (to, suffix []rune) { FILE: pkg/day/day_test.go function TestFormat (line 29) | func TestFormat(t *testing.T) { FILE: pkg/dir/dir.go function CreateDirIfNotExist (line 28) | func CreateDirIfNotExist(path string) error { function CheckDirExist (line 32) | func CheckDirExist(path string) bool { function CheckFileExist (line 37) | func CheckFileExist(path string) bool { function DirSize (line 42) | func DirSize(path string) (int64, error) { function FormatFileSize (line 53) | func FormatFileSize(fileSize int64) (size string) { FILE: pkg/display/url.go function QuestionURL (line 29) | func QuestionURL(permalink int, siteUrl, questionID, title string) string { function AnswerURL (line 44) | func AnswerURL(permalink int, siteUrl, questionID, title, answerID strin... function CommentURL (line 55) | func CommentURL(permalink int, siteUrl, questionID, title, answerID, com... function UserURL (line 63) | func UserURL(siteUrl, username string) string { FILE: pkg/encryption/md5.go function MD5 (line 28) | func MD5(data string) string { FILE: pkg/gravatar/gravatar.go function GetAvatarURL (line 31) | func GetAvatarURL(baseURL, email string) string { function Resize (line 38) | func Resize(originalAvatarURL string, sizePixel int) (resizedAvatarURL s... FILE: pkg/gravatar/gravatar_test.go function TestGetAvatarURL (line 30) | func TestGetAvatarURL(t *testing.T) { function TestResize (line 52) | func TestResize(t *testing.T) { FILE: pkg/htmltext/htmltext.go function ClearText (line 53) | func ClearText(html string) string { function UrlTitle (line 67) | func UrlTitle(title string) (text string) { function clearEmoji (line 79) | func clearEmoji(s string) string { function convertChinese (line 90) | func convertChinese(content string) string { function cutLongTitle (line 98) | func cutLongTitle(title string) string { function FetchExcerpt (line 112) | func FetchExcerpt(html, trimMarker string, limit int) (text string) { function findFirstMatchedWord (line 117) | func findFirstMatchedWord(text string, words []string) (string, int) { function getRuneRange (line 141) | func getRuneRange(runeText []rune, offset, limit int) (begin, end int) { function FetchRangedExcerpt (line 153) | func FetchRangedExcerpt(html, trimMarker string, offset int, limit int) ... function FetchMatchedExcerpt (line 174) | func FetchMatchedExcerpt(html string, words []string, trimMarker string,... function GetPicByUrl (line 192) | func GetPicByUrl(url string) string { FILE: pkg/htmltext/htmltext_test.go function TestClearText (line 30) | func TestClearText(t *testing.T) { function TestFetchExcerpt (line 53) | func TestFetchExcerpt(t *testing.T) { function TestUrlTitle (line 79) | func TestUrlTitle(t *testing.T) { function TestFindFirstMatchedWord (line 90) | func TestFindFirstMatchedWord(t *testing.T) { function TestGetRuneRange (line 119) | func TestGetRuneRange(t *testing.T) { function TestFetchRangedExcerpt (line 155) | func TestFetchRangedExcerpt(t *testing.T) { function TestCutLongTitle (line 182) | func TestCutLongTitle(t *testing.T) { function TestFetchMatchedExcerpt (line 203) | func TestFetchMatchedExcerpt(t *testing.T) { FILE: pkg/obj/obj.go function GetObjectTypeStrByObjectID (line 30) | func GetObjectTypeStrByObjectID(objectID string) (objectTypeStr string, ... function GetObjectTypeNumberByObjectID (line 43) | func GetObjectTypeNumberByObjectID(objectID string) (objectTypeNumber in... function checkObjectID (line 50) | func checkObjectID(objectID string) (err error) { FILE: pkg/random/random_username.go function UsernameSuffix (line 27) | func UsernameSuffix() string { function Username (line 33) | func Username() string { FILE: pkg/token/token.go function GenerateToken (line 25) | func GenerateToken() string { FILE: pkg/uid/id.go type SnowFlakeID (line 30) | type SnowFlakeID struct function init (line 36) | func init() { function ID (line 46) | func ID() snowflake.ID { function IDStr12 (line 51) | func IDStr12() string { function IDStr (line 56) | func IDStr() string { FILE: pkg/uid/sid.go constant salt (line 28) | salt = int64(100) function NumToShortID (line 31) | func NumToShortID(id int64) string { function ShortIDToNum (line 52) | func ShortIDToNum(code string) int64 { function EnShortID (line 64) | func EnShortID(id string) string { function DeShortID (line 72) | func DeShortID(sid string) string { function IsShortID (line 83) | func IsShortID(id string) bool { FILE: pkg/writer/writer.go function ReplaceFile (line 28) | func ReplaceFile(filePath, content string) error { function WriteFile (line 34) | func WriteFile(filePath, content string) error { function MoveFile (line 53) | func MoveFile(oldPath, newPath string) error { FILE: plugin/agent.go type Agent (line 26) | type Agent interface function SiteURL (line 41) | func SiteURL() string { function RegisterGetSiteURLFunc (line 49) | func RegisterGetSiteURLFunc(fn func() string) { FILE: plugin/base.go type Info (line 23) | type Info struct type Base (line 33) | type Base interface FILE: plugin/cache.go type Cache (line 27) | type Cache interface FILE: plugin/captcha.go type Captcha (line 22) | type Captcha interface function CallCaptcha (line 42) | func CallCaptcha(fn func(fn Captcha) error) error { function CaptchaEnabled (line 59) | func CaptchaEnabled() (enabled bool) { function coordinatedCaptchaPlugins (line 67) | func coordinatedCaptchaPlugins(slugName string) (enabledSlugNames []stri... FILE: plugin/cdn.go type CDN (line 39) | type CDN interface function coordinatedCDNPlugins (line 50) | func coordinatedCDNPlugins(slugName string) (enabledSlugNames []string) { FILE: plugin/config.go type ConfigType (line 22) | type ConfigType type InputType (line 23) | type InputType constant ConfigTypeInput (line 26) | ConfigTypeInput ConfigType = "input" constant ConfigTypeTextarea (line 27) | ConfigTypeTextarea ConfigType = "textarea" constant ConfigTypeCheckbox (line 28) | ConfigTypeCheckbox ConfigType = "checkbox" constant ConfigTypeRadio (line 29) | ConfigTypeRadio ConfigType = "radio" constant ConfigTypeSelect (line 30) | ConfigTypeSelect ConfigType = "select" constant ConfigTypeUpload (line 31) | ConfigTypeUpload ConfigType = "upload" constant ConfigTypeTimezone (line 32) | ConfigTypeTimezone ConfigType = "timezone" constant ConfigTypeSwitch (line 33) | ConfigTypeSwitch ConfigType = "switch" constant ConfigTypeButton (line 34) | ConfigTypeButton ConfigType = "button" constant ConfigTypeLegend (line 35) | ConfigTypeLegend ConfigType = "legend" constant ConfigTypeTagSelector (line 36) | ConfigTypeTagSelector ConfigType = "tag_selector" constant InputTypeText (line 40) | InputTypeText InputType = "text" constant InputTypeColor (line 41) | InputTypeColor InputType = "color" constant InputTypeDate (line 42) | InputTypeDate InputType = "date" constant InputTypeDatetime (line 43) | InputTypeDatetime InputType = "datetime-local" constant InputTypeEmail (line 44) | InputTypeEmail InputType = "email" constant InputTypeMonth (line 45) | InputTypeMonth InputType = "month" constant InputTypeNumber (line 46) | InputTypeNumber InputType = "number" constant InputTypePassword (line 47) | InputTypePassword InputType = "password" constant InputTypeRange (line 48) | InputTypeRange InputType = "range" constant InputTypeSearch (line 49) | InputTypeSearch InputType = "search" constant InputTypeTel (line 50) | InputTypeTel InputType = "tel" constant InputTypeTime (line 51) | InputTypeTime InputType = "time" constant InputTypeUrl (line 52) | InputTypeUrl InputType = "url" constant InputTypeWeek (line 53) | InputTypeWeek InputType = "week" type ConfigField (line 56) | type ConfigField struct type ConfigFieldUIOptions (line 67) | type ConfigFieldUIOptions struct type ConfigFieldOption (line 79) | type ConfigFieldOption struct type UIOptionAction (line 84) | type UIOptionAction struct constant LoadingActionStateNone (line 92) | LoadingActionStateNone LoadingActionType = "none" constant LoadingActionStatePending (line 93) | LoadingActionStatePending LoadingActionType = "pending" constant LoadingActionStateComplete (line 94) | LoadingActionStateComplete LoadingActionType = "completed" type LoadingActionType (line 97) | type LoadingActionType type LoadingAction (line 99) | type LoadingAction struct type OnCompleteAction (line 104) | type OnCompleteAction struct type TagSelectorOption (line 110) | type TagSelectorOption struct type Config (line 118) | type Config interface FILE: plugin/connector.go type Connector (line 22) | type Connector interface type ExternalLoginUserInfo (line 48) | type ExternalLoginUserInfo struct FILE: plugin/embed.go type EmbedConfig (line 24) | type EmbedConfig struct type Embed (line 29) | type Embed interface FILE: plugin/filter.go type Filter (line 22) | type Filter interface FILE: plugin/importer.go type QuestionImporterInfo (line 26) | type QuestionImporterInfo struct type Importer (line 33) | type Importer interface type ImporterFunc (line 38) | type ImporterFunc interface function ImporterEnabled (line 48) | func ImporterEnabled() (enabled bool) { function GetImporter (line 55) | func GetImporter() (ip Importer, ok bool) { FILE: plugin/kv_storage.go type KVParams (line 50) | type KVParams struct type KVOperator (line 59) | type KVOperator struct method Option (line 78) | func (kv *KVOperator) Option(opts ...KVStorageOption) { method getSession (line 84) | func (kv *KVOperator) getSession(ctx context.Context) (*xorm.Session, ... method getCacheKey (line 98) | func (kv *KVOperator) getCacheKey(params KVParams) string { method setCache (line 102) | func (kv *KVOperator) setCache(ctx context.Context, params KVParams) { method getCache (line 118) | func (kv *KVOperator) getCache(ctx context.Context, params KVParams) (... method cleanCache (line 127) | func (kv *KVOperator) cleanCache(ctx context.Context, params KVParams) { method Get (line 139) | func (kv *KVOperator) Get(ctx context.Context, params KVParams) (strin... method Set (line 175) | func (kv *KVOperator) Set(ctx context.Context, params KVParams) error { method Del (line 214) | func (kv *KVOperator) Del(ctx context.Context, params KVParams) error { method GetByGroup (line 240) | func (kv *KVOperator) GetByGroup(ctx context.Context, params KVParams)... method Tx (line 275) | func (kv *KVOperator) Tx(ctx context.Context, fn func(ctx context.Cont... type KVStorageOption (line 67) | type KVStorageOption function WithCacheTTL (line 71) | func WithCacheTTL(ttl time.Duration) KVStorageOption { type KVStorage (line 318) | type KVStorage interface function NewKVOperator (line 330) | func NewKVOperator(db *xorm.Engine, cache cache.Cache, pluginSlugName st... FILE: plugin/notification.go type NotificationType (line 23) | type NotificationType constant NotificationUpdateQuestion (line 26) | NotificationUpdateQuestion NotificationType = "notification.acti... constant NotificationAnswerTheQuestion (line 27) | NotificationAnswerTheQuestion NotificationType = "notification.acti... constant NotificationUpVotedTheQuestion (line 28) | NotificationUpVotedTheQuestion NotificationType = "notification.acti... constant NotificationDownVotedTheQuestion (line 29) | NotificationDownVotedTheQuestion NotificationType = "notification.acti... constant NotificationUpdateAnswer (line 30) | NotificationUpdateAnswer NotificationType = "notification.acti... constant NotificationAcceptAnswer (line 31) | NotificationAcceptAnswer NotificationType = "notification.acti... constant NotificationUpVotedTheAnswer (line 32) | NotificationUpVotedTheAnswer NotificationType = "notification.acti... constant NotificationDownVotedTheAnswer (line 33) | NotificationDownVotedTheAnswer NotificationType = "notification.acti... constant NotificationCommentQuestion (line 34) | NotificationCommentQuestion NotificationType = "notification.acti... constant NotificationCommentAnswer (line 35) | NotificationCommentAnswer NotificationType = "notification.acti... constant NotificationUpVotedTheComment (line 36) | NotificationUpVotedTheComment NotificationType = "notification.acti... constant NotificationReplyToYou (line 37) | NotificationReplyToYou NotificationType = "notification.acti... constant NotificationMentionYou (line 38) | NotificationMentionYou NotificationType = "notification.acti... constant NotificationYourQuestionIsClosed (line 39) | NotificationYourQuestionIsClosed NotificationType = "notification.acti... constant NotificationYourQuestionWasDeleted (line 40) | NotificationYourQuestionWasDeleted NotificationType = "notification.acti... constant NotificationYourAnswerWasDeleted (line 41) | NotificationYourAnswerWasDeleted NotificationType = "notification.acti... constant NotificationYourCommentWasDeleted (line 42) | NotificationYourCommentWasDeleted NotificationType = "notification.acti... constant NotificationInvitedYouToAnswer (line 43) | NotificationInvitedYouToAnswer NotificationType = "notification.acti... constant NotificationNewQuestion (line 44) | NotificationNewQuestion NotificationType = "notification.acti... constant NotificationNewQuestionFollowedTag (line 45) | NotificationNewQuestionFollowedTag NotificationType = "notification.acti... type Notification (line 48) | type Notification interface type NotificationMessage (line 58) | type NotificationMessage struct FILE: plugin/parser.go type Parser (line 22) | type Parser interface FILE: plugin/plugin.go type Data (line 36) | type Data struct function Register (line 55) | func Register(p Base) { type Stack (line 135) | type Stack struct type RegisterFn (line 139) | type RegisterFn type Caller (line 140) | type Caller type CallFn (line 141) | type CallFn function MakePlugin (line 148) | func MakePlugin[T Base](super bool) (CallFn[T], RegisterFn[T]) { type statusManager (line 177) | type statusManager struct method Enable (line 182) | func (m *statusManager) Enable(name string, enabled bool) { method IsEnabled (line 200) | func (m *statusManager) IsEnabled(name string) bool { method MarshalJSON (line 208) | func (m *statusManager) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 213) | func (m *statusManager) UnmarshalJSON(data []byte) error { function Translate (line 218) | func Translate(ctx *GinContext, key string) string { function TranslateWithData (line 223) | func TranslateWithData(lang i18n.Language, key string, data any) string { type TranslateFn (line 229) | type TranslateFn type Translator (line 232) | type Translator struct method Translate (line 245) | func (t Translator) Translate(ctx *GinContext) string { function MakeTranslator (line 237) | func MakeTranslator(key string) Translator { FILE: plugin/plugin_test/kv_storage_test.go function mustSet (line 40) | func mustSet(t *testing.T, kv *plugin.KVOperator, ctx context.Context, g... function mustGet (line 46) | func mustGet(t *testing.T, kv *plugin.KVOperator, ctx context.Context, g... function mustDel (line 56) | func mustDel(t *testing.T, kv *plugin.KVOperator, ctx context.Context, g... function assertNotFound (line 62) | func assertNotFound(t *testing.T, kv *plugin.KVOperator, ctx context.Con... function assertError (line 72) | func assertError(t *testing.T, err error, expected error, msg string) { type TestKVStoragePlugin (line 79) | type TestKVStoragePlugin struct method Info (line 84) | func (p *TestKVStoragePlugin) Info() plugin.Info { method SetOperator (line 96) | func (p *TestKVStoragePlugin) SetOperator(operator *plugin.KVOperator) { function setupTestEnvironment (line 101) | func setupTestEnvironment() { function TestBasicOperations (line 126) | func TestBasicOperations(t *testing.T) { function TestTransactions (line 189) | func TestTransactions(t *testing.T) { function TestPagination (line 250) | func TestPagination(t *testing.T) { function TestConcurrency (line 301) | func TestConcurrency(t *testing.T) { FILE: plugin/plugin_test/plugin_main_test.go function TestMain (line 74) | func TestMain(t *testing.M) { type TestDBSetting (line 96) | type TestDBSetting struct function initTestDataSource (line 105) | func initTestDataSource(dbSetting TestDBSetting) error { function initDatabaseImage (line 138) | func initDatabaseImage(dbSetting TestDBSetting) (connection string, clea... function initDatabase (line 181) | func initDatabase(dbSetting TestDBSetting) (dbEngine *xorm.Engine, err e... function initCache (line 201) | func initCache() (newCache cache.Cache, err error) { FILE: plugin/render.go type RenderConfig (line 24) | type RenderConfig struct type Render (line 30) | type Render interface FILE: plugin/reviewer.go type Reviewer (line 22) | type Reviewer interface type ReviewContent (line 28) | type ReviewContent struct type ReviewContentAuthor (line 48) | type ReviewContentAuthor struct type ReviewStatus (line 59) | type ReviewStatus constant ReviewStatusApproved (line 62) | ReviewStatusApproved ReviewStatus = "approved" constant ReviewStatusDeleteDirectly (line 63) | ReviewStatusDeleteDirectly ReviewStatus = "delete_directly" constant ReviewStatusNeedReview (line 64) | ReviewStatusNeedReview ReviewStatus = "need_review" type ReviewResult (line 68) | type ReviewResult struct FILE: plugin/search.go type SearchResult (line 26) | type SearchResult struct type SearchContent (line 33) | type SearchContent struct type SearchBasicCond (line 50) | type SearchBasicCond struct type SearchAcceptedCond (line 81) | type SearchAcceptedCond type SearchContentStatus (line 82) | type SearchContentStatus type SearchOrderCond (line 83) | type SearchOrderCond constant AcceptedCondAll (line 86) | AcceptedCondAll SearchAcceptedCond = iota constant AcceptedCondTrue (line 87) | AcceptedCondTrue constant AcceptedCondFalse (line 88) | AcceptedCondFalse constant SearchContentStatusAvailable (line 92) | SearchContentStatusAvailable = 1 constant SearchContentStatusDeleted (line 93) | SearchContentStatusDeleted = 10 constant SearchNewestOrder (line 97) | SearchNewestOrder SearchOrderCond = "newest" constant SearchActiveOrder (line 98) | SearchActiveOrder SearchOrderCond = "active" constant SearchScoreOrder (line 99) | SearchScoreOrder SearchOrderCond = "score" constant SearchRelevanceOrder (line 100) | SearchRelevanceOrder SearchOrderCond = "relevance" type Search (line 103) | type Search interface type SearchDesc (line 114) | type SearchDesc struct type SearchSyncer (line 121) | type SearchSyncer interface FILE: plugin/sidebar.go type SidebarConfig (line 23) | type SidebarConfig struct type Sidebar (line 28) | type Sidebar interface FILE: plugin/storage.go type UploadSource (line 22) | type UploadSource constant UserAvatar (line 25) | UserAvatar UploadSource = "user_avatar" constant UserPost (line 26) | UserPost UploadSource = "user_post" constant UserPostAttachment (line 27) | UserPostAttachment UploadSource = "user_post_attachment" constant AdminBranding (line 28) | AdminBranding UploadSource = "admin_branding" type UploadFileCondition (line 55) | type UploadFileCondition struct type UploadFileResponse (line 70) | type UploadFileResponse struct type Storage (line 79) | type Storage interface FILE: plugin/user_center.go type UserCenter (line 22) | type UserCenter interface type UserCenterDesc (line 46) | type UserCenterDesc struct type UserStatus (line 60) | type UserStatus constant UserStatusAvailable (line 63) | UserStatusAvailable UserStatus = 1 constant UserStatusSuspended (line 64) | UserStatusSuspended UserStatus = 9 constant UserStatusDeleted (line 65) | UserStatusDeleted UserStatus = 10 type UserCenterBasicUserInfo (line 68) | type UserCenterBasicUserInfo struct type ControlCenter (line 80) | type ControlCenter struct type SettingInfo (line 86) | type SettingInfo struct type PersonalBranding (line 91) | type PersonalBranding struct function UserCenterEnabled (line 104) | func UserCenterEnabled() (enabled bool) { function RankAgentEnabled (line 112) | func RankAgentEnabled() (enabled bool) { function GetUserCenter (line 120) | func GetUserCenter() (uc UserCenter, ok bool) { FILE: plugin/user_config.go type UserConfig (line 22) | type UserConfig interface function GetPluginUserConfig (line 42) | func GetPluginUserConfig(userID, pluginSlugName string) []byte { function RegisterGetPluginUserConfigFunc (line 50) | func RegisterGetPluginUserConfigFunc(fn func(userID, pluginSlugName stri... FILE: ui/scripts/importPlugins.js function resetPackageJson (line 26) | function resetPackageJson() { function addPluginToPackageJson (line 41) | function addPluginToPackageJson(packageName) { FILE: ui/scripts/loadPlugins.js function pascalize (line 27) | function pascalize(str) { function resetIndexTs (line 31) | function resetIndexTs() { function addPluginToIndexTs (line 36) | function addPluginToIndexTs(packageName, pluginFolder) { FILE: ui/scripts/setup-eslint.js constant UI_DIR (line 24) | const UI_DIR = path.resolve(__dirname, '..'); constant ROOT_DIR (line 25) | const ROOT_DIR = path.resolve(UI_DIR, '..'); constant GIT_DIR (line 26) | const GIT_DIR = getGitDir(ROOT_DIR); constant HUSKY_DIR (line 27) | const HUSKY_DIR = path.join(GIT_DIR, '.husky'); function getGitDir (line 30) | function getGitDir(startDir) { FILE: ui/src/App.tsx function App (line 28) | function App() { FILE: ui/src/common/constants.ts constant DEFAULT_SITE_NAME (line 20) | const DEFAULT_SITE_NAME = 'Answer'; constant DEFAULT_LANG (line 21) | const DEFAULT_LANG = 'en_US'; constant CURRENT_LANG_STORAGE_KEY (line 22) | const CURRENT_LANG_STORAGE_KEY = '_a_lang_'; constant LANG_RESOURCE_STORAGE_KEY (line 23) | const LANG_RESOURCE_STORAGE_KEY = '_a_lang_r_'; constant LOGGED_TOKEN_STORAGE_KEY (line 24) | const LOGGED_TOKEN_STORAGE_KEY = '_a_ltk_'; constant REDIRECT_PATH_STORAGE_KEY (line 25) | const REDIRECT_PATH_STORAGE_KEY = '_a_rp_'; constant CAPTCHA_CODE_STORAGE_KEY (line 26) | const CAPTCHA_CODE_STORAGE_KEY = '_a_captcha_'; constant DRAFT_QUESTION_STORAGE_KEY (line 27) | const DRAFT_QUESTION_STORAGE_KEY = '_a_dq_'; constant DRAFT_ANSWER_STORAGE_KEY (line 28) | const DRAFT_ANSWER_STORAGE_KEY = '_a_da_'; constant DRAFT_TIMESIGH_STORAGE_KEY (line 29) | const DRAFT_TIMESIGH_STORAGE_KEY = '|_a_t_s_|'; constant DEFAULT_THEME (line 30) | const DEFAULT_THEME = 'system'; constant ADMIN_PRIVILEGE_CUSTOM_LEVEL (line 31) | const ADMIN_PRIVILEGE_CUSTOM_LEVEL = 99; constant SKELETON_SHOW_TIME (line 32) | const SKELETON_SHOW_TIME = 1000; constant LIST_VIEW_STORAGE_KEY (line 33) | const LIST_VIEW_STORAGE_KEY = '_a_list_view_'; constant EXTERNAL_CONTENT_DISPLAY_MODE (line 34) | const EXTERNAL_CONTENT_DISPLAY_MODE = '_a_ecd_'; constant USER_AGENT_NAMES (line 36) | const USER_AGENT_NAMES = { constant ADMIN_LIST_STATUS (line 43) | const ADMIN_LIST_STATUS = { constant ADMIN_NAV_MENUS (line 91) | const ADMIN_NAV_MENUS = [ constant ADMIN_QA_NAV_MENUS (line 162) | const ADMIN_QA_NAV_MENUS = [ constant ADMIN_TAGS_NAV_MENUS (line 168) | const ADMIN_TAGS_NAV_MENUS = [ constant ADMIN_USERS_NAV_MENUS (line 176) | const ADMIN_USERS_NAV_MENUS = [ constant ADMIN_RULES_NAV_MENUS (line 181) | const ADMIN_RULES_NAV_MENUS = [ constant TIMEZONES (line 186) | const TIMEZONES = [ constant DEFAULT_TIMEZONE (line 675) | const DEFAULT_TIMEZONE = 'UTC'; constant TIMELINE_NORMAL_ACTIVITY_TYPE (line 677) | const TIMELINE_NORMAL_ACTIVITY_TYPE = [ constant SYSTEM_AVATAR_OPTIONS (line 690) | const SYSTEM_AVATAR_OPTIONS = [ constant TAG_SLUG_NAME_MAX_LENGTH (line 701) | const TAG_SLUG_NAME_MAX_LENGTH = 35; constant DEFAULT_THEME_COLOR (line 703) | const DEFAULT_THEME_COLOR = '#0033ff'; constant SUSPENSE_USER_TIME (line 705) | const SUSPENSE_USER_TIME = [ FILE: ui/src/common/interface.ts type FormValue (line 20) | interface FormValue { type FormDataType (line 27) | interface FormDataType { type FieldError (line 31) | interface FieldError { type Paging (line 36) | interface Paging { type ReportType (line 41) | type ReportType = 'question' | 'answer' | 'comment' | 'user'; type ReportAction (line 42) | type ReportAction = 'close' | 'flag' | 'review'; type ReportParams (line 43) | interface ReportParams { type TagBase (line 48) | interface TagBase { type Tag (line 56) | interface Tag extends TagBase { type SynonymsTag (line 62) | interface SynonymsTag extends Tag { type TagInfo (line 67) | interface TagInfo extends TagBase { type QuestionParams (line 81) | interface QuestionParams extends ImgCodeReq { type QuestionWithAnswer (line 88) | interface QuestionWithAnswer extends QuestionParams { type ListResult (line 92) | interface ListResult { type AnswerParams (line 97) | interface AnswerParams extends ImgCodeReq { type LoginReqParams (line 105) | interface LoginReqParams { type RegisterReqParams (line 113) | interface RegisterReqParams extends LoginReqParams { type ModifyPasswordReq (line 117) | interface ModifyPasswordReq { type ModifyUserReq (line 123) | interface ModifyUserReq { type RoleId (line 133) | enum RoleId { type User (line 139) | interface User { type UserInfoBase (line 147) | interface UserInfoBase { type UserInfoRes (line 161) | interface UserInfoRes extends UserInfoBase { type UploadType (line 176) | type UploadType = 'post' | 'avatar' | 'branding' | 'post_attachment'; type UploadReq (line 177) | interface UploadReq { type ImgCodeReq (line 181) | interface ImgCodeReq { type ImgCodeRes (line 186) | interface ImgCodeRes { type PasswordResetReq (line 192) | interface PasswordResetReq extends ImgCodeReq { type PasswordReplaceReq (line 196) | interface PasswordReplaceReq extends ImgCodeReq { type CaptchaReq (line 201) | interface CaptchaReq extends ImgCodeReq { type CaptchaKey (line 205) | type CaptchaKey = type SetNoticeReq (line 219) | interface SetNoticeReq { type NotificationBadgeAward (line 223) | interface NotificationBadgeAward { type NotificationStatus (line 230) | interface NotificationStatus { type QuestionDetailRes (line 238) | interface QuestionDetailRes { type AnswersReq (line 261) | interface AnswersReq extends Paging { type AnswerItem (line 266) | interface AnswerItem { type PostAnswerReq (line 277) | interface PostAnswerReq extends ImgCodeReq { type PageUser (line 283) | interface PageUser { type LangsType (line 290) | interface LangsType { type QuestionOrderBy (line 298) | type QuestionOrderBy = type QueryQuestionsReq (line 307) | interface QueryQuestionsReq extends Paging { type AdminQuestionStatus (line 313) | type AdminQuestionStatus = type AdminContentsFilterBy (line 319) | type AdminContentsFilterBy = 'normal' | 'pending' | 'closed' | 'deleted'; type AdminContentsReq (line 321) | interface AdminContentsReq extends Paging { type AdminAnswerStatus (line 329) | type AdminAnswerStatus = 'available' | 'deleted'; type UserFilterBy (line 334) | type UserFilterBy = type BadgeFilterBy (line 341) | type BadgeFilterBy = 'all' | 'active' | 'inactive'; type InstalledPluginsFilterBy (line 343) | type InstalledPluginsFilterBy = type FlagStatus (line 351) | type FlagStatus = 'pending' | 'completed'; type FlagType (line 352) | type FlagType = 'all' | 'question' | 'answer' | 'comment'; type AdminFlagsReq (line 353) | interface AdminFlagsReq extends Paging { type AdminSettingsGeneral (line 361) | interface AdminSettingsGeneral { type HelmetBase (line 370) | interface HelmetBase { type HelmetUpdate (line 376) | interface HelmetUpdate extends Omit { type AdminSettingsInterface (line 381) | interface AdminSettingsInterface { type AdminSettingsSmtp (line 386) | interface AdminSettingsSmtp { type AdminSettingsUsers (line 398) | interface AdminSettingsUsers { type AdminSettingsSecurity (line 409) | interface AdminSettingsSecurity { type SiteSettings (line 415) | interface SiteSettings { type AdminSettingBranding (line 433) | interface AdminSettingBranding { type AdminSettingsLegal (line 440) | interface AdminSettingsLegal { type AdminSettingsWrite (line 447) | interface AdminSettingsWrite { type AdminSettingsSeo (line 455) | interface AdminSettingsSeo { type themeConfig (line 465) | type themeConfig = { type AdminSettingsTheme (line 470) | interface AdminSettingsTheme { type AdminSettingsCustom (line 478) | interface AdminSettingsCustom { type AdminSettingsLogin (line 486) | interface AdminSettingsLogin { type FollowParams (line 496) | interface FollowParams { type SearchParams (line 504) | interface SearchParams extends ImgCodeReq { type SearchResItem (line 514) | interface SearchResItem { type SearchRes (line 531) | interface SearchRes extends ListResult { type AdminDashboard (line 535) | interface AdminDashboard { type TimelineReq (line 564) | interface TimelineReq { type TimelineItem (line 569) | interface TimelineItem { type TimelineObject (line 582) | interface TimelineObject { type TimelineRes (line 592) | interface TimelineRes { type SuggestReviewItem (line 597) | interface SuggestReviewItem { type SuggestReviewResp (line 619) | interface SuggestReviewResp { type ReasonItem (line 624) | interface ReasonItem { type BaseReviewItem (line 632) | interface BaseReviewItem { type FlagReviewItem (line 653) | interface FlagReviewItem extends BaseReviewItem { type FlagReviewResp (line 659) | interface FlagReviewResp { type QueuedReviewItem (line 664) | interface QueuedReviewItem extends BaseReviewItem { type QueuedReviewResp (line 670) | interface QueuedReviewResp { type UserRoleItem (line 675) | interface UserRoleItem { type MemberActionItem (line 680) | interface MemberActionItem { type QuestionOperationReq (line 686) | interface QuestionOperationReq { type OauthBindEmailReq (line 691) | interface OauthBindEmailReq { type UserOauthConnectorItem (line 697) | interface UserOauthConnectorItem { type NotificationConfigItem (line 705) | interface NotificationConfigItem { type NotificationConfig (line 709) | interface NotificationConfig { type ActivatedPlugin (line 715) | interface ActivatedPlugin { type UserPluginsConfigRes (line 720) | interface UserPluginsConfigRes { type ReviewTypeItem (line 725) | interface ReviewTypeItem { type PutFlagReviewParams (line 731) | interface PutFlagReviewParams { type ReactionItems (line 752) | interface ReactionItems { type ReactionItem (line 756) | interface ReactionItem { type BadgeListItem (line 763) | interface BadgeListItem { type BadgeListGroupItem (line 774) | interface BadgeListGroupItem { type BadgeInfo (line 779) | interface BadgeInfo extends BadgeListItem { type AdminBadgeListItem (line 785) | interface AdminBadgeListItem extends BadgeListItem { type BadgeDetailListReq (line 791) | interface BadgeDetailListReq { type BadgeDetailListItem (line 797) | interface BadgeDetailListItem { type BadgeDetailListRes (line 808) | interface BadgeDetailListRes { type AdminApiKeysItem (line 813) | interface AdminApiKeysItem { type AddOrEditApiKeyParams (line 822) | interface AddOrEditApiKeyParams { type AiConfig (line 828) | interface AiConfig { type AiProviderItem (line 839) | interface AiProviderItem { type ConversationListItem (line 845) | interface ConversationListItem { type AdminConversationListItem (line 851) | interface AdminConversationListItem { type ConversationDetailItem (line 860) | interface ConversationDetailItem { type ConversationDetail (line 869) | interface ConversationDetail { type VoteConversationParams (line 877) | interface VoteConversationParams { type AdminQuestionSetting (line 883) | interface AdminQuestionSetting { type AdminTagsSetting (line 889) | interface AdminTagsSetting { FILE: ui/src/components/AccordionNav/index.tsx type MenuItem (line 31) | interface MenuItem { function MenuNode (line 41) | function MenuNode({ type AccordionProps (line 143) | interface AccordionProps { FILE: ui/src/components/Actions/index.tsx type Props (line 34) | interface Props { FILE: ui/src/components/Avatar/index.tsx type IProps (line 26) | interface IProps { FILE: ui/src/components/BaseUserCard/index.tsx type Props (line 26) | interface Props { FILE: ui/src/components/BrandUpload/index.tsx type Props (line 28) | interface Props { FILE: ui/src/components/BubbleAi/index.tsx type IProps (line 30) | interface IProps { FILE: ui/src/components/BubbleUser/index.tsx type BubbleUserProps (line 23) | interface BubbleUserProps { FILE: ui/src/components/CardBadge/index.tsx type IProps (line 33) | interface IProps { FILE: ui/src/components/Comment/index.tsx type IProps (line 53) | interface IProps { FILE: ui/src/components/Counts/index.tsx type Props (line 28) | interface Props { FILE: ui/src/components/Customize/index.tsx constant CUSTOM_MARK_HEAD (line 25) | const CUSTOM_MARK_HEAD = 'customize_head'; constant CUSTOM_MARK_HEADER (line 26) | const CUSTOM_MARK_HEADER = 'customize_header'; constant CUSTOM_MARK_FOOTER (line 27) | const CUSTOM_MARK_FOOTER = 'customize_footer'; type pos (line 66) | type pos = 'afterbegin' | 'beforeend'; FILE: ui/src/components/DiffContent/index.tsx type Props (line 27) | interface Props { FILE: ui/src/components/Editor/MarkdownEditor.tsx type MarkdownEditorProps (line 27) | interface MarkdownEditorProps extends BaseEditorProps {} FILE: ui/src/components/Editor/Select/index.tsx type IProps (line 23) | interface IProps { FILE: ui/src/components/Editor/ToolBars/image.tsx function dragenter (line 65) | function dragenter(e) { function dragover (line 70) | function dragover(e) { function traverse (line 162) | function traverse(node) { FILE: ui/src/components/Editor/index.tsx type EditorRef (line 67) | interface EditorRef { type EventRef (line 71) | interface EventRef { type Props (line 77) | interface Props extends EventRef { FILE: ui/src/components/Editor/toolItem.tsx type IProps (line 26) | interface IProps { FILE: ui/src/components/Editor/types.ts type Position (line 22) | interface Position { type Level (line 28) | type Level = 1 | 2 | 3 | 4 | 5 | 6; type ExtendEditor (line 30) | interface ExtendEditor { type Editor (line 103) | type Editor = EditorView & ExtendEditor; type CodeMirrorEditor (line 104) | interface CodeMirrorEditor extends Editor { type BaseEditorProps (line 110) | interface BaseEditorProps { FILE: ui/src/components/Editor/utils/codemirror/adapter.ts function createCodeMirrorAdapter (line 46) | function createCodeMirrorAdapter(editor: Editor): Editor { FILE: ui/src/components/Editor/utils/codemirror/base.ts function createBaseMethods (line 37) | function createBaseMethods(editor: Editor) { FILE: ui/src/components/Editor/utils/codemirror/commands.ts function createCommandMethods (line 35) | function createCommandMethods(editor: Editor) { FILE: ui/src/components/Editor/utils/codemirror/events.ts function createEventMethods (line 34) | function createEventMethods(editor: Editor) { FILE: ui/src/components/Editor/utils/index.ts type htmlRenderConfig (line 36) | interface htmlRenderConfig { function htmlRender (line 40) | function htmlRender(el: HTMLElement | null, config?: htmlRenderConfig) { method paste (line 177) | paste(event) { FILE: ui/src/components/FormatTime/index.tsx type Props (line 26) | interface Props { FILE: ui/src/components/Header/components/NavItems/index.tsx type Props (line 31) | interface Props { FILE: ui/src/components/HighlightText/index.tsx type IProps (line 24) | interface IProps { FILE: ui/src/components/Icon/index.tsx type IProps (line 24) | interface IProps { FILE: ui/src/components/Icon/svg.tsx type IProps (line 24) | interface IProps { FILE: ui/src/components/InitialLoadingPlaceholder/index.tsx function InitialLoadingPlaceholder (line 24) | function InitialLoadingPlaceholder() { FILE: ui/src/components/Mentions/index.tsx type IProps (line 28) | interface IProps { constant MAX_RECODE (line 34) | const MAX_RECODE = 5; FILE: ui/src/components/Modal/BadgeModal.tsx type BadgeModalProps (line 34) | interface BadgeModalProps { FILE: ui/src/components/Modal/Confirm.tsx type Config (line 32) | interface Config extends Props { function render (line 59) | function render({ visible }: { visible: boolean }) { FILE: ui/src/components/Modal/LoginToContinueModal.tsx type IProps (line 31) | interface IProps { FILE: ui/src/components/Modal/Modal.tsx type Props (line 26) | interface Props { FILE: ui/src/components/Modal/index.tsx type ModalType (line 25) | type ModalType = typeof DefaultModal & { FILE: ui/src/components/Operate/index.tsx type IProps (line 45) | interface IProps { FILE: ui/src/components/Pagination/index.tsx type Props (line 27) | interface Props { type PageItemProps (line 34) | interface PageItemProps { FILE: ui/src/components/PinList/index.tsx type IProps (line 28) | interface IProps { FILE: ui/src/components/PluginRender/index.tsx type Props (line 39) | interface Props { FILE: ui/src/components/QueryGroup/index.tsx type Props (line 32) | interface Props { FILE: ui/src/components/QuestionList/index.tsx constant QUESTION_ORDER_KEYS (line 43) | const QUESTION_ORDER_KEYS: Type.QuestionOrderBy[] = [ type Props (line 51) | interface Props { FILE: ui/src/components/QuestionListLoader/index.tsx type Props (line 23) | interface Props { FILE: ui/src/components/SchemaForm/components/Button.tsx type Props (line 28) | interface Props { FILE: ui/src/components/SchemaForm/components/Check.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/Input.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/InputGroup.tsx type Props (line 27) | interface Props { FILE: ui/src/components/SchemaForm/components/Legend.tsx type Props (line 23) | interface Props { FILE: ui/src/components/SchemaForm/components/Select.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/Switch.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/TagSelector.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/Textarea.tsx type Props (line 27) | interface Props { FILE: ui/src/components/SchemaForm/components/Timezone.tsx type Props (line 25) | interface Props { FILE: ui/src/components/SchemaForm/components/Upload.tsx type Props (line 28) | interface Props { FILE: ui/src/components/SchemaForm/index.tsx method refreshConfig (line 127) | refreshConfig() { FILE: ui/src/components/SchemaForm/types.ts type FormProps (line 27) | interface FormProps { type FormRef (line 37) | interface FormRef { type JSONSchema (line 41) | interface JSONSchema { type BaseUIOptions (line 60) | interface BaseUIOptions { type InputOptions (line 76) | interface InputOptions extends BaseUIOptions { type SelectOptions (line 104) | interface SelectOptions extends BaseUIOptions {} type UploadOptions (line 105) | interface UploadOptions extends BaseUIOptions { type SwitchOptions (line 110) | interface SwitchOptions extends BaseUIOptions { type TimezoneOptions (line 114) | interface TimezoneOptions extends BaseUIOptions { type CheckboxOptions (line 118) | interface CheckboxOptions extends BaseUIOptions {} type RadioOptions (line 120) | interface RadioOptions extends BaseUIOptions {} type TextareaOptions (line 122) | interface TextareaOptions extends BaseUIOptions { type ButtonOptions (line 127) | interface ButtonOptions extends BaseUIOptions { type InputGroupOptions (line 138) | interface InputGroupOptions extends InputOptions { type UIOptions (line 145) | type UIOptions = type UIWidget (line 157) | type UIWidget = type UISchema (line 170) | interface UISchema { type UIAction (line 192) | interface UIAction { type FormKit (line 211) | interface FormKit { FILE: ui/src/components/Sender/index.tsx type IProps (line 30) | interface IProps { FILE: ui/src/components/Share/index.tsx type IProps (line 31) | interface IProps { FILE: ui/src/components/Tag/index.tsx type IProps (line 28) | interface IProps { FILE: ui/src/components/TagSelector/index.tsx type IProps (line 38) | interface IProps { FILE: ui/src/components/TagsLoader/index.tsx type Props (line 23) | interface Props { FILE: ui/src/components/Toast/index.tsx type IProps (line 23) | interface IProps { FILE: ui/src/components/Unactivate/index.tsx type IProps (line 31) | interface IProps { FILE: ui/src/components/UploadImg/index.tsx type IProps (line 28) | interface IProps { FILE: ui/src/components/UserCard/index.tsx type Props (line 28) | interface Props { FILE: ui/src/components/WelcomeTitle/index.tsx type Props (line 27) | interface Props { FILE: ui/src/hooks/useActivationEmailModal/index.tsx type IProps (line 35) | interface IProps { FILE: ui/src/hooks/useCaptchaModal/index.tsx type SubmitCallback (line 36) | type SubmitCallback = { FILE: ui/src/hooks/useChangePasswordModal/index.tsx type IProps (line 33) | interface IProps { FILE: ui/src/hooks/useChangeProfileModal/index.tsx type IProps (line 34) | interface IProps { FILE: ui/src/hooks/useChangeUserRoleModal/index.tsx type Props (line 32) | interface Props { FILE: ui/src/hooks/usePageTags/index.tsx function usePageTags (line 25) | function usePageTags(info: HelmetUpdate) { FILE: ui/src/hooks/usePrompt/index.tsx type PromptProps (line 29) | interface PromptProps { FILE: ui/src/hooks/useReportModal/index.tsx type Params (line 37) | interface Params { FILE: ui/src/hooks/useTagModal/index.tsx type IProps (line 31) | interface IProps { FILE: ui/src/hooks/useToast/index.tsx type Params (line 51) | interface Params { FILE: ui/src/hooks/useUserModal/index.tsx type IProps (line 33) | interface IProps { FILE: ui/src/pages/Admin/AiAssistant/components/Action/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Admin/AiAssistant/components/DetailModal/index.tsx type IProps (line 27) | interface IProps { FILE: ui/src/pages/Admin/Badges/components/Action/index.tsx type Props (line 25) | interface Props { FILE: ui/src/pages/Admin/Badges/index.tsx constant PAGE_SIZE (line 41) | const PAGE_SIZE = 10; FILE: ui/src/pages/Admin/Dashboard/components/HealthStatus/index.tsx type IProps (line 30) | interface IProps { FILE: ui/src/pages/Admin/Dashboard/components/Statistics/index.tsx type IProps (line 27) | interface IProps { FILE: ui/src/pages/Admin/Dashboard/components/SystemInfo/index.tsx type IProps (line 27) | interface IProps { FILE: ui/src/pages/Admin/Questions/index.tsx constant PAGE_SIZE (line 52) | const PAGE_SIZE = 20; FILE: ui/src/pages/Admin/Users/components/Action/index.tsx type Props (line 38) | interface Props { FILE: ui/src/pages/Admin/Users/index.tsx constant PAGE_SIZE (line 70) | const PAGE_SIZE = 10; FILE: ui/src/pages/AiAssistant/components/ConversationList/index.tsx type ConversationListItem (line 25) | interface ConversationListItem { type IProps (line 30) | interface IProps { FILE: ui/src/pages/AiAssistant/index.tsx type ConversationListItem (line 37) | interface ConversationListItem { FILE: ui/src/pages/Badges/Detail/components/Badge/index.tsx type IProps (line 30) | interface IProps { FILE: ui/src/pages/Badges/Detail/components/Loader/index.tsx type Props (line 23) | interface Props { FILE: ui/src/pages/Badges/Detail/components/UserCard/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Install/components/FifthStep/index.tsx type Props (line 26) | interface Props { FILE: ui/src/pages/Install/components/FirstStep/index.tsx type Props (line 31) | interface Props { FILE: ui/src/pages/Install/components/FourthStep/index.tsx type Props (line 28) | interface Props { FILE: ui/src/pages/Install/components/Progress/index.tsx type IProps (line 23) | interface IProps { FILE: ui/src/pages/Install/components/SecondStep/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Install/components/ThirdStep/index.tsx type Props (line 26) | interface Props { FILE: ui/src/pages/Layout/index.tsx function handleSystemThemeChange (line 136) | function handleSystemThemeChange(event) { FILE: ui/src/pages/Questions/Ask/index.tsx type FormDataItem (line 56) | interface FormDataItem { FILE: ui/src/pages/Questions/Detail/components/Alert/index.tsx type Props (line 26) | interface Props { FILE: ui/src/pages/Questions/Detail/components/Answer/index.tsx type Props (line 39) | interface Props { FILE: ui/src/pages/Questions/Detail/components/AnswerHead/index.tsx type Props (line 25) | interface Props { FILE: ui/src/pages/Questions/Detail/components/InviteToAnswer/PeopleDropdown.tsx type Props (line 30) | interface Props { type UserInfoCheck (line 37) | interface UserInfoCheck extends Type.UserInfoBase { FILE: ui/src/pages/Questions/Detail/components/InviteToAnswer/index.tsx type Props (line 36) | interface Props { FILE: ui/src/pages/Questions/Detail/components/LinkedQuestions/index.tsx type Props (line 31) | interface Props { FILE: ui/src/pages/Questions/Detail/components/Question/index.tsx type Props (line 40) | interface Props { FILE: ui/src/pages/Questions/Detail/components/Reactions/index.tsx type Props (line 30) | interface Props { FILE: ui/src/pages/Questions/Detail/components/RelatedQuestions/index.tsx type Props (line 29) | interface Props { FILE: ui/src/pages/Questions/Detail/components/WriteAnswer/index.tsx type Props (line 37) | interface Props { FILE: ui/src/pages/Questions/EditAnswer/index.tsx type FormDataItem (line 42) | interface FormDataItem { FILE: ui/src/pages/Review/components/ApproveDropdown/index.tsx type IProps (line 31) | interface IProps { FILE: ui/src/pages/Review/components/EditPostModal/index.tsx type Props (line 41) | interface Props { type FormDataItem (line 57) | interface FormDataItem { FILE: ui/src/pages/Review/components/FlagContent/index.tsx type IProps (line 41) | interface IProps { FILE: ui/src/pages/Review/components/QueuedContent/index.tsx type IProps (line 41) | interface IProps { FILE: ui/src/pages/Review/components/ReviewType/index.tsx type IProps (line 26) | interface IProps { FILE: ui/src/pages/Review/components/SuggestContent/index.tsx type IProps (line 31) | interface IProps { FILE: ui/src/pages/Search/components/Head/index.tsx type Props (line 33) | interface Props { FILE: ui/src/pages/Search/components/ListLoader/index.tsx type Props (line 23) | interface Props { FILE: ui/src/pages/Search/components/SearchHead/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Search/components/SearchItem/index.tsx type Props (line 37) | interface Props { FILE: ui/src/pages/Tags/Create/index.tsx type FormDataItem (line 35) | interface FormDataItem { FILE: ui/src/pages/Tags/Edit/index.tsx type FormDataItem (line 35) | interface FormDataItem { FILE: ui/src/pages/Tags/Info/components/MergeTagModal/index.tsx constant DEBOUNCE_DELAY (line 31) | const DEBOUNCE_DELAY = 400; type Props (line 33) | interface Props { type SearchTagResp (line 40) | interface SearchTagResp { FILE: ui/src/pages/Timeline/components/Item/index.tsx type Props (line 30) | interface Props { FILE: ui/src/pages/UserCenter/Auth/components/WeCom/service.ts type loginConf (line 22) | type loginConf = { type loginResult (line 27) | type loginResult = { FILE: ui/src/pages/Users/AccountForgot/components/sendEmail.tsx type IProps (line 29) | interface IProps { FILE: ui/src/pages/Users/Notifications/index.tsx constant PAGE_SIZE (line 39) | const PAGE_SIZE = 10; FILE: ui/src/pages/Users/Personal/components/Alert/index.tsx type Props (line 23) | interface Props { FILE: ui/src/pages/Users/Personal/components/Answers/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Personal/components/Badges/index.tsx type IProps (line 26) | interface IProps { FILE: ui/src/pages/Users/Personal/components/Comments/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Personal/components/DefaultList/index.tsx type Props (line 28) | interface Props { FILE: ui/src/pages/Users/Personal/components/ListHead/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Personal/components/NavBar/index.tsx type Props (line 25) | interface Props { FILE: ui/src/pages/Users/Personal/components/Overview/index.tsx type Props (line 29) | interface Props { FILE: ui/src/pages/Users/Personal/components/Reputation/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Personal/components/TopList/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Personal/components/UserInfo/index.tsx type Props (line 32) | interface Props { FILE: ui/src/pages/Users/Personal/components/Votes/index.tsx type Props (line 27) | interface Props { FILE: ui/src/pages/Users/Register/components/SignUpForm/index.tsx type Props (line 32) | interface Props { FILE: ui/src/plugins/builtin/HostingConnector/index.tsx type Props (line 37) | interface Props { FILE: ui/src/plugins/builtin/SearchInfo/services.ts type AlgoliaRes (line 24) | interface AlgoliaRes { FILE: ui/src/plugins/builtin/ThirdPartyConnector/index.tsx type Props (line 41) | interface Props { FILE: ui/src/plugins/builtin/ThirdPartyConnector/services.ts type OauthConnectorItem (line 24) | interface OauthConnectorItem { FILE: ui/src/router/alias.ts constant REACT_BASE_PATH (line 20) | const REACT_BASE_PATH = process.env.REACT_APP_BASE_URL || ''; constant BASE_ORIGIN (line 21) | const BASE_ORIGIN = `${window.location.origin}${REACT_BASE_PATH}`; FILE: ui/src/router/index.tsx function useMergeRoutes (line 78) | function useMergeRoutes() { FILE: ui/src/router/routes.ts type IndexRouteNode (line 27) | type IndexRouteNode = Omit; type NonIndexRouteNode (line 28) | type NonIndexRouteNode = Omit; type UnionRouteNode (line 29) | type UnionRouteNode = IndexRouteNode | NonIndexRouteNode; type RouteNode (line 31) | type RouteNode = UnionRouteNode & { FILE: ui/src/services/admin/mcp.ts type McpConfig (line 22) | type McpConfig = { FILE: ui/src/services/admin/plugins.ts type PluginOption (line 26) | interface PluginOption { type PluginItem (line 31) | interface PluginItem { type PluginConfig (line 42) | interface PluginConfig { FILE: ui/src/services/admin/settings.ts type AdminSettingsUsers (line 25) | interface AdminSettingsUsers { type PrivilegeLevel (line 34) | interface PrivilegeLevel { type AdminSettingsPrivilege (line 43) | interface AdminSettingsPrivilege { type AdminSettingsPrivilegeReq (line 48) | interface AdminSettingsPrivilegeReq { FILE: ui/src/services/client/personal.ts type ListReq (line 43) | interface ListReq { type ListRes (line 50) | interface ListRes { FILE: ui/src/services/client/settings.ts type userSettingInterface (line 35) | interface userSettingInterface { FILE: ui/src/services/client/user.ts type UserPermissionKey (line 43) | type UserPermissionKey = FILE: ui/src/services/user-center/index.ts type UcAgentControl (line 22) | interface UcAgentControl { type UcAgent (line 27) | interface UcAgent { type UcSettingAgent (line 41) | interface UcSettingAgent { type UcSettings (line 45) | interface UcSettings { type UcBrandingEntry (line 50) | interface UcBrandingEntry { type UcBranding (line 56) | interface UcBranding { type AdminUcAgent (line 61) | interface AdminUcAgent { FILE: ui/src/stores/aiControl.ts type AiControlStore (line 22) | interface AiControlStore { FILE: ui/src/stores/branding.ts type IType (line 24) | interface IType { FILE: ui/src/stores/commentReply.ts type CommentReplyType (line 22) | interface CommentReplyType { FILE: ui/src/stores/customize.ts type IType (line 22) | interface IType { FILE: ui/src/stores/errorCode.ts type codeType (line 22) | type codeType = '403' | '404' | '50X' | ''; type ErrorCodeType (line 24) | interface ErrorCodeType { FILE: ui/src/stores/interface.ts type InterfaceType (line 25) | interface InterfaceType { FILE: ui/src/stores/loggedUserInfo.ts type UserInfoStore (line 26) | interface UserInfoStore { FILE: ui/src/stores/loginSetting.ts type IType (line 24) | interface IType { FILE: ui/src/stores/loginToContinue.ts type IProps (line 22) | interface IProps { FILE: ui/src/stores/pageTags.ts type HelmetStore (line 26) | interface HelmetStore { FILE: ui/src/stores/seoSetting.ts type IProps (line 24) | interface IProps { FILE: ui/src/stores/sideNav.ts type reviewData (line 22) | type reviewData = { type ErrorCodeType (line 27) | interface ErrorCodeType { FILE: ui/src/stores/siteInfo.ts type SiteInfoType (line 25) | interface SiteInfoType { FILE: ui/src/stores/siteSecurity.ts type SecurityStore (line 22) | interface SecurityStore { FILE: ui/src/stores/themeSetting.ts type IType (line 25) | interface IType { FILE: ui/src/stores/toast.ts type Variant (line 22) | type Variant = 'warning' | 'success' | 'danger'; type ToastStore (line 23) | interface ToastStore { FILE: ui/src/stores/userCenter.ts type UserCenterStore (line 24) | interface UserCenterStore { FILE: ui/src/stores/writeSetting.ts type IProps (line 28) | interface IProps { FILE: ui/src/utils/animateGift.ts class Confetti (line 22) | class Confetti { method constructor (line 45) | constructor(param) { method CONST (line 83) | static get CONST() { method build (line 114) | build() { method render (line 150) | render(now) { method destroy (line 180) | destroy() { FILE: ui/src/utils/color.ts constant WHITE (line 42) | const WHITE = Color('#fff'); constant BLACK (line 43) | const BLACK = Color('#000'); FILE: ui/src/utils/common.ts function thousandthDivision (line 28) | function thousandthDivision(num) { function formatCount (line 33) | function formatCount($num: number): string { function scrollToElementTop (line 47) | function scrollToElementTop(element) { function scrollElementIntoView (line 63) | function scrollElementIntoView(element) { function matchedUsers (line 98) | function matchedUsers(markdown) { function parseUserInfo (line 119) | function parseUserInfo(markdown) { function parseEditMentionUser (line 124) | function parseEditMentionUser(markdown) { function formatUptime (line 129) | function formatUptime(value) { function escapeRemove (line 147) | function escapeRemove(str: string) { function handleFormError (line 156) | function handleFormError( function escapeHtml (line 179) | function escapeHtml(str: string) { function formatDiffPart (line 191) | function formatDiffPart(part: any, className: string): string { function diffText (line 208) | function diffText(newText: string, oldText?: string): string { function base64ToSvg (line 232) | function base64ToSvg(base64: string, svgClassName?: string) { function getUaType (line 261) | function getUaType() { function changeTheme (line 275) | function changeTheme(mode: 'default' | 'light' | 'dark' | 'system') { function isDarkTheme (line 290) | function isDarkTheme() { function pageTitleType (line 295) | function pageTitleType() { FILE: ui/src/utils/floppyNavigation.ts type NavigateHandler (line 119) | type NavigateHandler = 'href' | 'replace' | NavigateFunction; type NavigateConfig (line 120) | interface NavigateConfig { FILE: ui/src/utils/guard.ts type TLoginState (line 47) | type TLoginState = { type TGuardResult (line 56) | type TGuardResult = { type TGuardFunc (line 64) | type TGuardFunc = (args: { constant IGNORE_PATH_LIST (line 102) | const IGNORE_PATH_LIST = [ FILE: ui/src/utils/pluginKit/index.ts class Plugins (line 45) | class Plugins { method constructor (line 58) | constructor() { method init (line 62) | async init() { method refresh (line 87) | async refresh() { method validate (line 95) | validate(plugin: Plugin) { method registerBuiltin (line 113) | registerBuiltin() { method registerPlugins (line 123) | async registerPlugins() { method register (line 166) | register(plugin: Plugin) { method getPlugin (line 205) | getPlugin(slug_name: string) { method getOnePluginHooks (line 209) | getOnePluginHooks(slug_name: string) { method getPlugins (line 214) | getPlugins() { method getPluginsAsync (line 218) | async getPluginsAsync() { method getInitializationStatus (line 223) | getInitializationStatus() { method getReplacementPlugin (line 230) | getReplacementPlugin(type: PluginType): Plugin | null { FILE: ui/src/utils/pluginKit/interface.ts type PluginType (line 25) | enum PluginType { type PluginInfo (line 36) | interface PluginInfo { type Plugin (line 45) | interface Plugin { FILE: ui/src/utils/pluginKit/utils.ts constant I18N_NS (line 36) | const I18N_NS = 'plugin'; type I18nResource (line 37) | interface I18nResource { FILE: ui/src/utils/progress.ts class Progress (line 20) | class Progress { method constructor (line 31) | constructor( method CONST (line 48) | static get CONST() { method reset (line 54) | reset() { method start (line 58) | start(now) { method tick (line 62) | tick(now) { FILE: ui/src/utils/request.ts type ApiConfig (line 45) | interface ApiConfig extends AxiosRequestConfig { class Request (line 53) | class Request { method constructor (line 56) | constructor(config: AxiosRequestConfig) { method request (line 225) | public request(config: AxiosRequestConfig): Promise { method get (line 229) | public get(url: string, config?: ApiConfig): Promise { method post (line 233) | public post( method put (line 241) | public put( method delete (line 249) | public delete( FILE: ui/src/utils/requestAi.ts type RequestAiOptions (line 29) | interface RequestAiOptions extends RequestInit { FILE: ui/src/utils/saveDraft.ts type QuestionDraft (line 28) | type QuestionDraft = { type AnswerDraft (line 38) | type AnswerDraft = { type DraftType (line 44) | type DraftType = { type DraftParams (line 48) | type DraftParams = QuestionDraft | AnswerDraft; class SaveDraft (line 50) | class SaveDraft { method constructor (line 55) | constructor({ type = 'question' }: DraftType) { method remove (line 81) | remove() { FILE: ui/src/utils/storageWithExpires.ts method set (line 24) | set(key: string, value, time?: number): void { method get (line 33) | get(key: string): any { method remove (line 63) | remove(key: string, callback?: () => void): void {