Documentation
¶
Index ¶
- func BulkSave(members []Member) error
- func ConvertRank(r int32) ranks.Rank
- func GetPromotionsEmbed() (*discordgo.MessageEmbed, error)
- func GetStoredMemberIDs() ([]string, error)
- func ListPromotions() ([]dbgen.ListPromotionsRow, error)
- func PgTypeTextToString(t pgtype.Text) string
- func PgTypeTimestamptzToTime(t pgtype.Timestamptz) time.Time
- func Setup() error
- func ValidateDiscordMembers(discordMembers []*discordgo.Member) []*discordgo.Member
- func Watch(ctx context.Context, out chan Member) error
- type AttendedEvent
- type Converter
- type ConverterImpl
- func (c *ConverterImpl) FromGetMemberRow(source dbgen.GetMemberRow) Member
- func (c *ConverterImpl) FromGetMemberRows(source []dbgen.GetMemberRow) []Member
- func (c *ConverterImpl) FromListMembersByBlueprintRow(source dbgen.ListMembersByBlueprintRow) Member
- func (c *ConverterImpl) FromListMembersByBlueprintRows(source []dbgen.ListMembersByBlueprintRow) []Member
- func (c *ConverterImpl) FromListMembersByIDsRow(source dbgen.ListMembersByIDsRow) Member
- func (c *ConverterImpl) FromListMembersByIDsRows(source []dbgen.ListMembersByIDsRow) []Member
- func (c *ConverterImpl) FromListMembersPageRow(source dbgen.ListMembersPageRow) Member
- func (c *ConverterImpl) FromListMembersPageRows(source []dbgen.ListMembersPageRow) []Member
- func (c *ConverterImpl) FromListMembersRow(source dbgen.ListMembersRow) Member
- func (c *ConverterImpl) FromListMembersRows(source []dbgen.ListMembersRow) []Member
- func (c *ConverterImpl) FromListRandomMembersByRankRow(source dbgen.ListRandomMembersByRankRow) Member
- func (c *ConverterImpl) FromListRandomMembersByRankRows(source []dbgen.ListRandomMembersByRankRow) []Member
- func (c *ConverterImpl) FromRsiInfoRow(source dbgen.RsiInfo) *RsiInfo
- func (c *ConverterImpl) FromRsiInfoRows(source []dbgen.RsiInfo) []*RsiInfo
- type Demerit
- type GameplayType
- type Member
- func Get(id string) (*Member, error)
- func GetList(ids []string) ([]*Member, error)
- func GetRandom(max int, maxRank ranks.Rank) ([]Member, error)
- func List(ctx context.Context, page, limit int) ([]Member, error)
- func ListAll(ctx context.Context) ([]Member, error)
- func ListByBlueprint(blueprintId string) ([]Member, error)
- func New(discordMember *discordgo.Member) *Member
- func (m *Member) ApplyDiscordMember(discordMember *discordgo.Member) bool
- func (m *Member) BadAffiliation() bool
- func (m *Member) Delete(reason string) error
- func (m *Member) GetOnboardingMessage() *discordgo.Message
- func (m *Member) GetTrueNick(discordMember *discordgo.Member) string
- func (m *Member) GiveDemerit(reason string, who *Member) error
- func (m *Member) GiveMerit(reason string, who *Member) error
- func (m *Member) IsAdmin() bool
- func (m *Member) IsOfficer() bool
- func (m *Member) IsRanked() bool
- func (m *Member) OnRsi() bool
- func (m *Member) OptOutOfDMs() error
- func (m *Member) Save() error
- func (m *Member) ToJSON() ([]byte, error)
- func (m *Member) ToMap() map[string]any
- func (m *Member) UpdateFromDiscordMember(discordMember *discordgo.Member) error
- func (m *Member) UpdateRank(discordRoles []string)
- func (m *Member) UpdateRsiInfo() error
- type MemberError
- type Merit
- type RsiInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertRank ¶ added in v1.12.10
Helper to convert Rank from int32
func GetPromotionsEmbed ¶ added in v1.13.2
func GetPromotionsEmbed() (*discordgo.MessageEmbed, error)
func GetStoredMemberIDs ¶
func ListPromotions ¶ added in v1.12.7
func ListPromotions() ([]dbgen.ListPromotionsRow, error)
func PgTypeTextToString ¶ added in v1.12.10
Custom converters for pgtype to native types
func PgTypeTimestamptzToTime ¶ added in v1.12.10
func PgTypeTimestamptzToTime(t pgtype.Timestamptz) time.Time
func ValidateDiscordMembers ¶
Types ¶
type AttendedEvent ¶
type Converter ¶ added in v1.12.10
type Converter interface {
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
// goverter:ignore RsiInfo
FromGetMemberRow(row dbgen.GetMemberRow) Member
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
// goverter:ignore RsiInfo
FromListMembersRow(row dbgen.ListMembersRow) Member
FromListMembersRows(rows []dbgen.ListMembersRow) []Member
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
FromListMembersByIDsRow(row dbgen.ListMembersByIDsRow) Member
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
FromListMembersPageRow(row dbgen.ListMembersPageRow) Member
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
FromListMembersByBlueprintRow(row dbgen.ListMembersByBlueprintRow) Member
// goverter:map ID Id
// goverter:ignore Notes RsiInfo Avatar Suffix
// goverter:ignore MemberSince DKP DKPSpent Merits Demerits BlueprintIds OnboardedAt Age
// goverter:ignore Pronouns Playtime Gameplay Recruiter ChannelId MessageId FoundBy
// goverter:ignore TimeZone Other LegacyAge LegacyPlaytime LegacyGameplay LegacyRecruiter LegacyOther
FromListRandomMembersByRankRow(row dbgen.ListRandomMembersByRankRow) Member
// Batch conversions for slices
FromGetMemberRows(rows []dbgen.GetMemberRow) []Member
FromListMembersPageRows(rows []dbgen.ListMembersPageRow) []Member
FromListMembersByIDsRows(rows []dbgen.ListMembersByIDsRow) []Member
FromListMembersByBlueprintRows(rows []dbgen.ListMembersByBlueprintRow) []Member
FromListRandomMembersByRankRows(rows []dbgen.ListRandomMembersByRankRow) []Member
FromRsiInfoRow(row dbgen.RsiInfo) *RsiInfo
FromRsiInfoRows(rows []dbgen.RsiInfo) []*RsiInfo
}
goverter:converter goverter:output:file ./converters.gen.go goverter:extend PgTypeTextToString goverter:extend PgTypeTimestamptzToTime goverter:extend ConvertRank
type ConverterImpl ¶ added in v1.12.10
type ConverterImpl struct{}
func (*ConverterImpl) FromGetMemberRow ¶ added in v1.12.10
func (c *ConverterImpl) FromGetMemberRow(source dbgen.GetMemberRow) Member
func (*ConverterImpl) FromGetMemberRows ¶ added in v1.12.10
func (c *ConverterImpl) FromGetMemberRows(source []dbgen.GetMemberRow) []Member
func (*ConverterImpl) FromListMembersByBlueprintRow ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersByBlueprintRow(source dbgen.ListMembersByBlueprintRow) Member
func (*ConverterImpl) FromListMembersByBlueprintRows ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersByBlueprintRows(source []dbgen.ListMembersByBlueprintRow) []Member
func (*ConverterImpl) FromListMembersByIDsRow ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersByIDsRow(source dbgen.ListMembersByIDsRow) Member
func (*ConverterImpl) FromListMembersByIDsRows ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersByIDsRows(source []dbgen.ListMembersByIDsRow) []Member
func (*ConverterImpl) FromListMembersPageRow ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersPageRow(source dbgen.ListMembersPageRow) Member
func (*ConverterImpl) FromListMembersPageRows ¶ added in v1.12.10
func (c *ConverterImpl) FromListMembersPageRows(source []dbgen.ListMembersPageRow) []Member
func (*ConverterImpl) FromListMembersRow ¶ added in v1.14.13
func (c *ConverterImpl) FromListMembersRow(source dbgen.ListMembersRow) Member
func (*ConverterImpl) FromListMembersRows ¶ added in v1.14.13
func (c *ConverterImpl) FromListMembersRows(source []dbgen.ListMembersRow) []Member
func (*ConverterImpl) FromListRandomMembersByRankRow ¶ added in v1.12.10
func (c *ConverterImpl) FromListRandomMembersByRankRow(source dbgen.ListRandomMembersByRankRow) Member
func (*ConverterImpl) FromListRandomMembersByRankRows ¶ added in v1.12.10
func (c *ConverterImpl) FromListRandomMembersByRankRows(source []dbgen.ListRandomMembersByRankRow) []Member
func (*ConverterImpl) FromRsiInfoRow ¶ added in v1.12.10
func (c *ConverterImpl) FromRsiInfoRow(source dbgen.RsiInfo) *RsiInfo
func (*ConverterImpl) FromRsiInfoRows ¶ added in v1.12.10
func (c *ConverterImpl) FromRsiInfoRows(source []dbgen.RsiInfo) []*RsiInfo
type GameplayType ¶
type GameplayType string
const ( Unknown GameplayType = "unknown" BountyHunting GameplayType = "bounty_hunting" Engineering GameplayType = "engineering" Exporation GameplayType = "exporation" FpsCombat GameplayType = "fps_combat" Hauling GameplayType = "hauling" Medical GameplayType = "medical" Mining GameplayType = "mining" Reconnaissance GameplayType = "reconnaissance" Racing GameplayType = "racing" Scrapping GameplayType = "scrapping" ShipCrew GameplayType = "ship_crew" ShipCombat GameplayType = "ship_combat" Trading GameplayType = "trading" )
func ToGameplayType ¶
func ToGameplayType(s string) GameplayType
func (GameplayType) String ¶
func (g GameplayType) String() string
type Member ¶
type Member struct {
Id string `json:"id"`
Name string `json:"name"`
Rank ranks.Rank `json:"rank"`
Notes string `json:"notes"`
Avatar string `json:"avatar"`
Updated time.Time `json:"updated"`
ValidatedAt *time.Time `json:"validated_at"`
Joined time.Time `json:"joined"`
Suffix string `json:"suffix"`
DmOptOut bool `json:"dm_opt_out"`
DateLeft *time.Time `json:"date_left"`
RsiInfo *RsiInfo `json:"rsi_info"`
MemberSince time.Time `json:"member_since"`
IsBot bool `json:"is_bot"`
IsAlly bool `json:"is_ally"`
IsAffiliate bool `json:"is_affiliate"`
DKP []string `json:"dkp"`
DKPSpent int `json:"dkp_spent"`
Merits []*Merit `json:"merits"`
Demerits []*Demerit `json:"demerits"`
BlueprintIds []string `json:"blueprintIds"`
// onboarding info
OnboardedAt *time.Time `json:"onboarded_at"`
Age int `json:"age"`
Pronouns string `json:"pronouns"`
Playtime int `json:"playtime"`
Gameplay []GameplayType `json:"gameplay"`
Recruiter *string `json:"recruiter"`
ChannelId string `json:"channel_id"`
MessageId string `json:"message_id"`
FoundBy string `json:"found_by"`
TimeZone string `json:"time_zone"`
Other string `json:"other"`
LegacyAge string `json:"legacy_age"`
LegacyPlaytime string `json:"legacy_playtime"`
LegacyGameplay string `json:"legacy_gameplay"`
LegacyRecruiter string `json:"legacy_recruiter"`
LegacyOther string `json:"legacy_other"`
}
func ListByBlueprint ¶
func (*Member) ApplyDiscordMember ¶ added in v1.14.15
ApplyDiscordMember updates member fields from Discord data and returns whether any member fields changed.
func (*Member) BadAffiliation ¶
func (*Member) GetOnboardingMessage ¶
func (*Member) OptOutOfDMs ¶ added in v1.12.10
func (*Member) UpdateFromDiscordMember ¶ added in v1.12.10
func (*Member) UpdateRank ¶ added in v1.12.16
func (*Member) UpdateRsiInfo ¶ added in v1.12.10
type MemberError ¶
type MemberError error
var (
MemberNotFound MemberError = errors.New("member not found")
)
Click to show internal directories.
Click to hide internal directories.