badgeservice

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 20, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CodeFirstPost      = "first_post"
	CodeFirstComment   = "first_comment"
	CodeFirstLikeGiven = "first_like_given"
	CodeFirstFollower  = "first_follower"
	CodeWriter10       = "writer_10"
	CodeCommenter50    = "commenter_50"
	CodeLiked10        = "liked_10"
	CodePopular100     = "popular_100"
	CodeSocial10       = "social_10"
	CodeEarlyMember    = "early_member"
	CodeContributor    = "contributor"
	CodeModerator      = "moderator"
	CodeSponsor        = "sponsor"
	CodeKing           = "king"
	CodeRobot          = "robot"
)
View Source
const (
	LevelBronze  = "bronze"
	LevelSilver  = "silver"
	LevelGold    = "gold"
	LevelSpecial = "special"
)

Variables

This section is empty.

Functions

func CheckAndGrant

func CheckAndGrant(userID uint64, trigger Trigger)

func Grant

func Grant(userID uint64, code string, source string, reason string, grantedBy uint64) (bool, error)

func InvalidateDefinitions

func InvalidateDefinitions()

Types

type AdminBadge

type AdminBadge struct {
	Badge
	IsSystem  bool `json:"isSystem"`
	CanDelete bool `json:"canDelete"`
}

func AllForAdmin

func AllForAdmin() []AdminBadge

type Badge

type Badge struct {
	Code        string `json:"code"`
	Type        string `json:"type"`
	GrantMode   string `json:"grantMode"`
	Name        string `json:"name"`
	Description string `json:"description"`
	IconType    string `json:"iconType"`
	IconKey     string `json:"iconKey"`
	IconURL     string `json:"iconUrl"`
	Color       string `json:"color"`
	Level       string `json:"level"`
	IsEnabled   bool   `json:"isEnabled"`
	SortOrder   int    `json:"sortOrder"`
}

func ManualGrantBadgesForAdmin

func ManualGrantBadgesForAdmin() []Badge

func ResolveByCodes

func ResolveByCodes(codes []string) []Badge

func ResolveOne

func ResolveOne(code string) Badge

type Definition

type Definition struct {
	Code        string
	Type        string
	GrantMode   string
	Name        string
	Description string
	IconType    string
	IconKey     string
	IconURL     string
	Color       string
	Level       string
	IsEnabled   bool
	SortOrder   int
}

type Trigger

type Trigger string
const (
	TriggerSignUp  Trigger = "sign_up"
	TriggerPost    Trigger = "post"
	TriggerComment Trigger = "comment"
	TriggerLike    Trigger = "like"
	TriggerFollow  Trigger = "follow"
)

type UserBadge

type UserBadge struct {
	Badge
	Source    string `json:"source"`
	Reason    string `json:"reason"`
	GrantedAt string `json:"grantedAt"`
}

func GetUserBadges

func GetUserBadges(userID uint64) []UserBadge

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL