Documentation ¶
Index ¶
Constants ¶
View Source
const ( ActEdited = "edited" ActClosed = "closed" ActVotedDown = "voted_down" ActVotedUp = "voted_up" ActVoteDown = "vote_down" ActVoteUp = "vote_up" ActUpVote = "upvote" ActDownVote = "downvote" ActFollow = "follow" ActAccepted = "accepted" ActAccept = "accept" ActPin = "pin" ActUnPin = "unpin" ActShow = "show" ActHide = "hide" )
View Source
const ( UserStatusChangedCacheKey = "answer:user:status:" UserStatusChangedCacheTime = 7 * 24 * time.Hour UserTokenCacheKey = "answer:user:token:" UserTokenCacheTime = 7 * 24 * time.Hour UserVisitTokenCacheKey = "answer:user:visit:" UserVisitCacheTime = 7 * 24 * 60 * 60 UserVisitCookiesCacheKey = "visit" AdminTokenCacheKey = "answer:admin:token:" AdminTokenCacheTime = 7 * 24 * time.Hour UserTokenMappingCacheKey = "answer:user-token:mapping:" UserEmailCodeCacheKey = "answer:user:email-code:" UserEmailCodeCacheTime = 10 * time.Minute UserLatestEmailCodeCacheKey = "answer:user-id:email-code:" SiteInfoCacheKey = "answer:site-info:" SiteInfoCacheTime = 1 * time.Hour ConfigID2KEYCacheKeyPrefix = "answer:config:id:" ConfigKEY2ContentCacheKeyPrefix = "answer:config:key:" ConfigCacheTime = 1 * time.Hour ConnectorUserExternalInfoCacheKey = "answer:connector:" ConnectorUserExternalInfoCacheTime = 10 * time.Minute SiteMapQuestionCacheKeyPrefix = "answer:sitemap:question:%d" SiteMapQuestionCacheTime = time.Hour SitemapMaxSize = 50000 NewQuestionNotificationLimitCacheKeyPrefix = "answer:new-question-notification-limit:" NewQuestionNotificationLimitCacheTime = 7 * 24 * time.Hour NewQuestionNotificationLimitMax = 50 RateLimitCacheKeyPrefix = "answer:rate-limit:" RateLimitCacheTime = 5 * time.Minute RedDotCacheKey = "answer:red-dot:%s:%s" RedDotCacheTime = 30 * 24 * time.Hour )
View Source
const ( DefaultPageSize = 20 // Default number of pages DefaultBulkUser = 5000 )
View Source
const ( AcceptLanguageFlag = "Accept-Language" ShortIDFlag = "Short-ID-Enabled" )
View Source
const ( EmailTplKeyChangeEmailTitle = "email_tpl.change_email.title" EmailTplKeyChangeEmailBody = "email_tpl.change_email.body" EmailTplKeyNewAnswerTitle = "email_tpl.new_answer.title" EmailTplKeyNewAnswerBody = "email_tpl.new_answer.body" EmailTplKeyNewCommentTitle = "email_tpl.new_comment.title" EmailTplKeyNewCommentBody = "email_tpl.new_comment.body" EmailTplKeyPassResetTitle = "email_tpl.pass_reset.title" EmailTplKeyPassResetBody = "email_tpl.pass_reset.body" EmailTplKeyRegisterTitle = "email_tpl.register.title" EmailTplKeyRegisterBody = "email_tpl.register.body" EmailTplKeyTestTitle = "email_tpl.test.title" EmailTplKeyTestBody = "email_tpl.test.body" EmailTplKeyInvitedAnswerTitle = "email_tpl.invited_you_to_answer.title" EmailTplKeyInvitedAnswerBody = "email_tpl.invited_you_to_answer.body" EmailTplKeyNewQuestionTitle = "email_tpl.new_question.title" EmailTplKeyNewQuestionBody = "email_tpl.new_question.body" )
View Source
const ( // NotificationUpdateQuestion update question NotificationUpdateQuestion = "notification.action.update_question" // NotificationAnswerTheQuestion answer the question NotificationAnswerTheQuestion = "notification.action.answer_the_question" // NotificationUpVotedTheQuestion up voted the question NotificationUpVotedTheQuestion = "notification.action.up_voted_question" // NotificationDownVotedTheQuestion down voted the question NotificationDownVotedTheQuestion = "notification.action.down_voted_question" // NotificationUpdateAnswer update answer NotificationUpdateAnswer = "notification.action.update_answer" // NotificationAcceptAnswer accept answer NotificationAcceptAnswer = "notification.action.accept_answer" // NotificationUpVotedTheAnswer up voted the answer NotificationUpVotedTheAnswer = "notification.action.up_voted_answer" // NotificationDownVotedTheAnswer down voted the answer NotificationDownVotedTheAnswer = "notification.action.down_voted_answer" // NotificationCommentQuestion comment question NotificationCommentQuestion = "notification.action.comment_question" // NotificationCommentAnswer comment answer NotificationCommentAnswer = "notification.action.comment_answer" // NotificationUpVotedTheComment up voted the comment NotificationUpVotedTheComment = "notification.action.up_voted_comment" // NotificationReplyToYou reply to you NotificationReplyToYou = "notification.action.reply_to_you" // NotificationMentionYou mention you NotificationMentionYou = "notification.action.mention_you" // NotificationYourQuestionIsClosed your question is closed NotificationYourQuestionIsClosed = "notification.action.your_question_is_closed" // NotificationYourQuestionWasDeleted your question was deleted NotificationYourQuestionWasDeleted = "notification.action.your_question_was_deleted" // NotificationYourAnswerWasDeleted your answer was deleted NotificationYourAnswerWasDeleted = "notification.action.your_answer_was_deleted" // NotificationYourCommentWasDeleted your comment was deleted NotificationYourCommentWasDeleted = "notification.action.your_comment_was_deleted" // NotificationInvitedYouToAnswer invited you to answer NotificationInvitedYouToAnswer = "notification.action.invited_you_to_answer" // NotificationEarnedBadge earned badge NotificationEarnedBadge = "notification.action.earned_badge" )
View Source
const ( NotificationTypeInbox = "inbox" NotificationTypeAchievement = "achievement" NotificationTypeBadgeAchievement = "badge" )
View Source
const ( QuestionObjectType = "question" AnswerObjectType = "answer" TagObjectType = "tag" UserObjectType = "user" CollectionObjectType = "collection" CommentObjectType = "comment" ReportObjectType = "report" BadgeObjectType = "badge" BadgeAwardObjectType = "badge_award" )
View Source
const ( RankQuestionAddKey = "rank.question.add" RankQuestionEditKey = "rank.question.edit" RankQuestionDeleteKey = "rank.question.delete" RankQuestionVoteUpKey = "rank.question.vote_up" RankQuestionVoteDownKey = "rank.question.vote_down" RankAnswerAddKey = "rank.answer.add" RankAnswerEditKey = "rank.answer.edit" RankAnswerDeleteKey = "rank.answer.delete" RankAnswerAcceptKey = "rank.answer.accept" RankAnswerVoteUpKey = "rank.answer.vote_up" RankAnswerVoteDownKey = "rank.answer.vote_down" RankInviteSomeoneToAnswerKey = "rank.answer.invite_someone_to_answer" RankCommentAddKey = "rank.comment.add" RankCommentEditKey = "rank.comment.edit" RankCommentDeleteKey = "rank.comment.delete" RankReportAddKey = "rank.report.add" RankTagAddKey = "rank.tag.add" RankTagEditKey = "rank.tag.edit" RankTagDeleteKey = "rank.tag.delete" RankTagSynonymKey = "rank.tag.synonym" RankLinkUrlLimitKey = "rank.link.url_limit" RankVoteDetailKey = "rank.vote.detail" RankCommentVoteUpKey = "rank.comment.vote_up" RankCommentVoteDownKey = "rank.comment.vote_down" RankQuestionEditWithoutReviewKey = "rank.question.edit_without_review" RankAnswerEditWithoutReviewKey = "rank.answer.edit_without_review" RankTagEditWithoutReviewKey = "rank.tag.edit_without_review" RankAnswerAuditKey = "rank.answer.audit" RankQuestionAuditKey = "rank.question.audit" RankTagAuditKey = "rank.tag.audit" RankQuestionCloseKey = "rank.question.close" RankQuestionReopenKey = "rank.question.reopen" RankTagUseReservedTagKey = "rank.tag.use_reserved_tag" )
View Source
const ( DeletedQuestionTitleTrKey = "question.deleted_title" QuestionsTitleTrKey = "question.questions_title" TagsListTitleTrKey = "tag.tags_title" TagHasNoDescription = "tag.no_description" )
View Source
const ( ReasonSpam = "reason.spam" ReasonRudeOrAbusive = "reason.rude_or_abusive" ReasonSomething = "reason.something" ReasonADuplicate = "reason.a_duplicate" ReasonNotAAnswer = "reason.not_a_answer" ReasonNoLongerNeeded = "reason.no_longer_needed" ReasonCommunitySpecific = "reason.community_specific" ReasonNotClarity = "reason.not_clarity" ReasonNormal = "reason.normal" ReasonNormalUser = "reason.normal.user" ReasonClosed = "reason.closed" ReasonDeleted = "reason.deleted" ReasonDeletedUser = "reason.deleted.user" ReasonSuspended = "reason.suspended" ReasonInactive = "reason.inactive" ReasonLooksOk = "reason.looks_ok" ReasonNeedsEdit = "reason.needs_edit" ReasonNeedsClose = "reason.needs_close" ReasonNeedsDelete = "reason.needs_delete" )
View Source
const ( ReportOperationEditPost = "edit_post" ReportOperationClosePost = "close_post" ReportOperationDeletePost = "delete_post" ReportOperationUnlistPost = "unlist_post" ReportOperationIgnoreReport = "ignore_report" )
View Source
const ( ReviewQueuedPostLabel = "review.queued_post" ReviewFlaggedPostLabel = "review.flagged_post" ReviewSuggestedPostEditLabel = "review.suggested_post_edit" )
View Source
const ( DefaultGravatarBaseURL = "https://www.gravatar.com/avatar/" DefaultAvatar = "system" AvatarTypeDefault = "default" AvatarTypeGravatar = "gravatar" AvatarTypeCustom = "custom" )
View Source
const ( // PermalinkQuestionIDAndTitle /questions/10010000000000001/post-title PermalinkQuestionIDAndTitle = iota + 1 // PermalinkQuestionID /questions/10010000000000001 PermalinkQuestionID // PermalinkQuestionIDAndTitleByShortID /questions/11/post-title PermalinkQuestionIDAndTitleByShortID // PermalinkQuestionIDByShortID /questions/11 PermalinkQuestionIDByShortID )
View Source
const ( ColorSchemeDefault = "default" ColorSchemeLight = "light" ColorSchemeDark = "dark" ColorSchemeSystem = "system" )
View Source
const ( SiteTypeGeneral = "general" SiteTypeInterface = "interface" SiteTypeBranding = "branding" SiteTypeWrite = "write" SiteTypeLegal = "legal" SiteTypeSeo = "seo" SiteTypeLogin = "login" SiteTypeCustomCssHTML = "css-html" SiteTypeTheme = "theme" SiteTypePrivileges = "privileges" SiteTypeUsers = "users" )
View Source
const ( UserNormal = "normal" UserSuspended = "suspended" UserDeleted = "deleted" UserInactive = "inactive" )
View Source
const ( EmailStatusAvailable = 1 EmailStatusToBeVerified = 2 )
View Source
const (
CommentEditDeadline = time.Minute * 5
)
View Source
const (
EmailConfigKey = "email.config"
)
View Source
const (
PluginStatus = "plugin.status"
)
View Source
const (
ReactionTooltipLabel = "reaction.tooltip"
)
Variables ¶
View Source
var ( Version = "" Revision = "" GoVersion = "" )
View Source
var ( ObjectTypeStrMapping = map[string]int{ QuestionObjectType: 1, AnswerObjectType: 2, TagObjectType: 3, UserObjectType: 4, CollectionObjectType: 6, CommentObjectType: 7, ReportObjectType: 8, BadgeObjectType: 9, BadgeAwardObjectType: 10, } ObjectTypeNumberMapping = map[int]string{ 1: QuestionObjectType, 2: AnswerObjectType, 3: TagObjectType, 4: UserObjectType, 6: CollectionObjectType, 7: CommentObjectType, 8: ReportObjectType, 9: BadgeObjectType, 10: BadgeAwardObjectType, } )
View Source
var ( NotificationMsgTypeMapping = map[string]int{ NotificationUpdateQuestion: 1, NotificationAnswerTheQuestion: 1, NotificationUpVotedTheQuestion: 2, NotificationDownVotedTheQuestion: 2, NotificationUpdateAnswer: 1, NotificationAcceptAnswer: 1, NotificationUpVotedTheAnswer: 2, NotificationDownVotedTheAnswer: 2, NotificationCommentQuestion: 1, NotificationCommentAnswer: 1, NotificationUpVotedTheComment: 2, NotificationReplyToYou: 1, NotificationMentionYou: 1, NotificationYourQuestionIsClosed: 1, NotificationYourQuestionWasDeleted: 1, NotificationYourAnswerWasDeleted: 1, NotificationYourCommentWasDeleted: 1, NotificationInvitedYouToAnswer: 3, } )
View Source
var ( RankAllPrivileges = []*Privilege{ {Label: reason.RankQuestionAddLabel, Key: RankQuestionAddKey}, {Label: reason.RankAnswerAddLabel, Key: RankAnswerAddKey}, {Label: reason.RankCommentAddLabel, Key: RankCommentAddKey}, {Label: reason.RankReportAddLabel, Key: RankReportAddKey}, {Label: reason.RankCommentVoteUpLabel, Key: RankCommentVoteUpKey}, {Label: reason.RankLinkUrlLimitLabel, Key: RankLinkUrlLimitKey}, {Label: reason.RankQuestionVoteUpLabel, Key: RankQuestionVoteUpKey}, {Label: reason.RankAnswerVoteUpLabel, Key: RankAnswerVoteUpKey}, {Label: reason.RankQuestionVoteDownLabel, Key: RankQuestionVoteDownKey}, {Label: reason.RankAnswerVoteDownLabel, Key: RankAnswerVoteDownKey}, {Label: reason.RankInviteSomeoneToAnswerLabel, Key: RankInviteSomeoneToAnswerKey}, {Label: reason.RankTagAddLabel, Key: RankTagAddKey}, {Label: reason.RankTagEditLabel, Key: RankTagEditKey}, {Label: reason.RankQuestionEditLabel, Key: RankQuestionEditKey}, {Label: reason.RankAnswerEditLabel, Key: RankAnswerEditKey}, {Label: reason.RankQuestionEditWithoutReviewLabel, Key: RankQuestionEditWithoutReviewKey}, {Label: reason.RankAnswerEditWithoutReviewLabel, Key: RankAnswerEditWithoutReviewKey}, {Label: reason.RankQuestionAuditLabel, Key: RankQuestionAuditKey}, {Label: reason.RankAnswerAuditLabel, Key: RankAnswerAuditKey}, {Label: reason.RankTagAuditLabel, Key: RankTagAuditKey}, {Label: reason.RankTagEditWithoutReviewLabel, Key: RankTagEditWithoutReviewKey}, {Label: reason.RankTagSynonymLabel, Key: RankTagSynonymKey}, } )
Functions ¶
func ConvertUserStatus ¶
Types ¶
type ActivityTypeKey ¶
type ActivityTypeKey string
const ( ActQuestionAsked ActivityTypeKey = "question.asked" ActQuestionClosed ActivityTypeKey = "question.closed" ActQuestionReopened ActivityTypeKey = "question.reopened" ActQuestionAnswered ActivityTypeKey = "question.answered" ActQuestionCommented ActivityTypeKey = "question.commented" ActQuestionAccept ActivityTypeKey = "question.accept" ActQuestionUpvote ActivityTypeKey = "question.upvote" ActQuestionDownVote ActivityTypeKey = "question.downvote" ActQuestionEdited ActivityTypeKey = "question.edited" ActQuestionRollback ActivityTypeKey = "question.rollback" ActQuestionDeleted ActivityTypeKey = "question.deleted" ActQuestionUndeleted ActivityTypeKey = "question.undeleted" ActQuestionPin ActivityTypeKey = "question.pin" ActQuestionUnPin ActivityTypeKey = "question.unpin" ActQuestionHide ActivityTypeKey = "question.hide" ActQuestionShow ActivityTypeKey = "question.show" )
const ( ActAnswerAnswered ActivityTypeKey = "answer.answered" ActAnswerCommented ActivityTypeKey = "answer.commented" ActAnswerAccept ActivityTypeKey = "answer.accept" ActAnswerUpvote ActivityTypeKey = "answer.upvote" ActAnswerDownVote ActivityTypeKey = "answer.downvote" ActAnswerEdited ActivityTypeKey = "answer.edited" ActAnswerRollback ActivityTypeKey = "answer.rollback" ActAnswerDeleted ActivityTypeKey = "answer.deleted" ActAnswerUndeleted ActivityTypeKey = "answer.undeleted" )
const ( ActTagCreated ActivityTypeKey = "tag.created" ActTagEdited ActivityTypeKey = "tag.edited" ActTagRollback ActivityTypeKey = "tag.rollback" ActTagDeleted ActivityTypeKey = "tag.deleted" ActTagUndeleted ActivityTypeKey = "tag.undeleted" )
type EventType ¶ added in v1.4.0
type EventType string
EventType event type. It is used to define the type of event. Such as object.action
const ( EventUserUpdate EventType = eventUser + "." + eventUpdate )
const ( EventQuestionCreate EventType = eventQuestion + "." + eventCreate EventQuestionUpdate EventType = eventQuestion + "." + eventUpdate EventQuestionDelete EventType = eventQuestion + "." + eventDelete EventQuestionVote EventType = eventQuestion + "." + eventVote EventQuestionAccept EventType = eventQuestion + "." + eventAccept EventQuestionFlag EventType = eventQuestion + "." + eventFlag EventQuestionReact EventType = eventQuestion + "." + eventReact )
const ( EventAnswerCreate EventType = eventAnswer + "." + eventCreate EventAnswerUpdate EventType = eventAnswer + "." + eventUpdate EventAnswerDelete EventType = eventAnswer + "." + eventDelete EventAnswerVote EventType = eventAnswer + "." + eventVote EventAnswerFlag EventType = eventAnswer + "." + eventFlag EventAnswerReact EventType = eventAnswer + "." + eventReact )
const ( EventCommentCreate EventType = eventComment + "." + eventCreate EventCommentUpdate EventType = eventComment + "." + eventUpdate EventCommentDelete EventType = eventComment + "." + eventDelete EventCommentVote EventType = eventComment + "." + eventVote EventCommentFlag EventType = eventComment + "." + eventFlag )
type NotificationChannelKey ¶
type NotificationChannelKey string
const (
EmailChannel NotificationChannelKey = "email"
)
type NotificationSource ¶
type NotificationSource string
const ( InboxSource NotificationSource = "inbox" AllNewQuestionSource NotificationSource = "all_new_question" AllNewQuestionForFollowingTagsSource NotificationSource = "all_new_question_for_following_tags" )
type ReviewingType ¶ added in v1.3.0
type ReviewingType string
const ( QueuedPost ReviewingType = "queued_post" QueuedUser ReviewingType = "queued_user" FlaggedPost ReviewingType = "flagged_post" FlaggedUser ReviewingType = "flagged_user" SuggestedPostEdit ReviewingType = "suggested_post_edit" )
Click to show internal directories.
Click to hide internal directories.