database

package
v0.0.0-...-d931726 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDatabaseNotFound = errors.New("value not found")

ErrDatabaseNotFound is returned when no value was found in the database for the specified request.

Functions

func IsErrDatabaseNotFound

func IsErrDatabaseNotFound(err error) bool

IsErrDatabaseNotFound returns true if the passed err is an ErrDatabaseNotFound.

Types

type Database

type Database interface {
	Connect(credentials ...interface{}) error
	Close()
	Status() error

	GetSetting(setting string) (string, error)
	SetSetting(setting, value string) error

	GetGuildPrefix(guildID string) (string, error)
	SetGuildPrefix(guildID, newPrefix string) error

	GetGuildAutoRole(guildID string) ([]string, error)
	SetGuildAutoRole(guildID string, autoRoleIDs []string) error

	GetGuildAutoVC(guildID string) ([]string, error)
	SetGuildAutoVC(guildID string, autoVCIDs []string) error

	GetGuildModLog(guildID string) (string, error)
	SetGuildModLog(guildID, chanID string) error

	GetGuildVoiceLog(guildID string) (string, error)
	SetGuildVoiceLog(guildID, chanID string) error

	GetGuildVoiceLogIgnores(guildID string) ([]string, error)
	IsGuildVoiceLogIgnored(guildID, channelID string) (bool, error)
	SetGuildVoiceLogIngore(guildID, channelID string) error
	RemoveGuildVoiceLogIgnore(guildID, channelID string) error

	GetGuildNotifyRole(guildID string) (string, error)
	SetGuildNotifyRole(guildID, roleID string) error

	GetGuildGhostpingMsg(guildID string) (string, error)
	SetGuildGhostpingMsg(guildID, msg string) error

	GetGuildPermissions(guildID string) (map[string]permissions.PermissionArray, error)
	SetGuildRolePermission(guildID, roleID string, p permissions.PermissionArray) error

	GetGuildJdoodleKey(guildID string) (string, error)
	SetGuildJdoodleKey(guildID, key string) error

	GetGuildCodeExecEnabled(guildID string) (bool, error)
	SetGuildCodeExecEnabled(guildID string, enabled bool) error

	GetGuildBackup(guildID string) (bool, error)
	SetGuildBackup(guildID string, enabled bool) error

	GetGuildInviteBlock(guildID string) (string, error)
	SetGuildInviteBlock(guildID string, data string) error

	GetGuildJoinMsg(guildID string) (string, string, error)
	SetGuildJoinMsg(guildID string, channelID string, msg string) error

	GetGuildLeaveMsg(guildID string) (string, string, error)
	SetGuildLeaveMsg(guildID string, channelID string, msg string) error

	GetGuildColorReaction(guildID string) (bool, error)
	SetGuildColorReaction(guildID string, enable bool) error

	GetGuildLogDisable(guildID string) (bool, error)
	SetGuildLogDisable(guildID string, enabled bool) error

	GetGuildAPI(guildID string) (models.GuildAPISettings, error)
	SetGuildAPI(guildID string, settings models.GuildAPISettings) error

	GetGuildVerificationRequired(guildID string) (bool, error)
	SetGuildVerificationRequired(guildID string, enable bool) error

	GetGuildBirthdayChan(guildID string) (string, error)
	SetGuildBirthdayChan(guildID string, chanID string) error

	GetGuildModNot(guildID string) (string, error)
	SetGuildModNot(guildID string, chanID string) error

	GetUserOTAEnabled(userID string) (bool, error)
	SetUserOTAEnabled(userID string, enabled bool) error

	GetUserVerified(userID string) (bool, error)
	SetUserVerified(userID string, enabled bool) error

	GetUserStarboardOptout(userID string) (bool, error)
	SetUserStarboardOptout(userID string, enabled bool) error

	GetUserByRefreshToken(token string) (string, time.Time, error)
	SetUserRefreshToken(userID, token string, expires time.Time) error
	RevokeUserRefreshToken(userID string) error
	CleanupExpiredRefreshTokens() (int64, error)

	FlushUserData(userID string) (res map[string]int, err error)

	AddReport(rep models.Report) error
	DeleteReport(id snowflake.ID) error
	GetReport(id snowflake.ID) (models.Report, error)
	GetReportsGuild(guildID string, offset, limit int) ([]models.Report, error)
	GetReportsFiltered(guildID, memberID string, repType models.ReportType, offset, limit int) ([]models.Report, error)
	GetReportsGuildCount(guildID string) (int, error)
	GetReportsFilteredCount(guildID, memberID string, repType int) (int, error)
	GetExpiredReports() ([]models.Report, error)
	ExpireReports(id ...string) (err error)

	GetGuildUnbanRequests(guildID string, limit, offset int) ([]models.UnbanRequest, error)
	GetGuildUnbanRequestsCount(guildID string, state *models.UnbanRequestState) (int, error)
	GetGuildUserUnbanRequests(userID, guildID string) ([]models.UnbanRequest, error)
	GetUnbanRequest(id string) (models.UnbanRequest, error)
	AddUnbanRequest(request models.UnbanRequest) error
	UpdateUnbanRequest(request models.UnbanRequest) error

	GetVotes() (map[string]vote.Vote, error)
	AddUpdateVote(votes vote.Vote) error
	DeleteVote(voteID string) error

	GetAllTwitchNotifies(twitchUserID string) ([]twitchnotify.DBEntry, error)
	GetTwitchNotify(twitchUserID, guildID string) (twitchnotify.DBEntry, error)
	SetTwitchNotify(twitchNotify twitchnotify.DBEntry) error
	DeleteTwitchNotify(twitchUserID, guildID string) error

	AddBackup(guildID, fileID string) error
	DeleteBackup(guildID, fileID string) error
	GetBackups(guildID string) ([]backupmodels.Entry, error)
	GetGuilds() ([]string, error)

	AddTag(tag tag.Tag) error
	EditTag(tag tag.Tag) error
	GetTagByID(id snowflake.ID) (tag.Tag, error)
	GetTagByIdent(ident string, guildID string) (tag.Tag, error)
	GetGuildTags(guildID string) ([]tag.Tag, error)
	DeleteTag(id snowflake.ID) error

	SetAPIToken(token models.APITokenEntry) error
	GetAPIToken(userID string) (models.APITokenEntry, error)
	DeleteAPIToken(userID string) error

	GetKarma(userID, guildID string) (int, error)
	GetKarmaSum(userID string) (int, error)
	GetKarmaGuild(guildID string, limit int) ([]models.GuildKarma, error)
	SetKarma(userID, guildID string, val int) error
	UpdateKarma(userID, guildID string, diff int) error

	SetKarmaState(guildID string, state bool) error
	GetKarmaState(guildID string) (bool, error)

	SetKarmaEmotes(guildID, emotesInc, emotesDec string) error
	GetKarmaEmotes(guildID string) (emotesInc, emotesDec string, err error)

	SetKarmaTokens(guildID string, tokens int) error
	GetKarmaTokens(guildID string) (int, error)

	SetKarmaPenalty(guildID string, state bool) error
	GetKarmaPenalty(guildID string) (bool, error)

	GetKarmaBlockList(guildID string) ([]string, error)
	IsKarmaBlockListed(guildID, userID string) (bool, error)
	AddKarmaBlockList(guildID, userID string) error
	RemoveKarmaBlockList(guildID, userID string) error

	GetKarmaRules(guildID string) ([]models.KarmaRule, error)
	CheckKarmaRule(guildID, checksum string) (ok bool, err error)
	AddOrUpdateKarmaRule(rule models.KarmaRule) error
	RemoveKarmaRule(guildID string, id snowflake.ID) error

	SetLockChan(chanID, guildID, executorID, permissions string) error
	GetLockChan(chanID string) (guildID, executorID, permissions string, err error)
	GetLockChannels(guildID string) (chanIDs []string, err error)
	DeleteLockChan(chanID string) error

	SetAntiraidState(guildID string, state bool) error
	GetAntiraidState(guildID string) (bool, error)

	SetAntiraidRegeneration(guildID string, periodSecs int) error
	GetAntiraidRegeneration(guildID string) (int, error)

	SetAntiraidBurst(guildID string, burst int) error
	GetAntiraidBurst(guildID string) (int, error)

	SetAntiraidVerification(guildID string, state bool) error
	GetAntiraidVerification(guildID string) (bool, error)

	AddToAntiraidJoinList(guildID, userID, userTag string, accountCreated time.Time) error
	GetAntiraidJoinList(guildID string) ([]models.JoinLogEntry, error)
	FlushAntiraidJoinList(guildID string) error
	RemoveAntiraidJoinList(guildID, userID string) error

	SetStarboardConfig(config models.StarboardConfig) error
	GetStarboardConfig(guildID string) (models.StarboardConfig, error)
	SetStarboardEntry(e models.StarboardEntry) (err error)
	RemoveStarboardEntry(msgID string) error
	GetStarboardEntries(guildID string, sortBy models.StarboardSortBy, limit, offset int) ([]models.StarboardEntry, error)
	GetStarboardEntriesCount(guildID string) (int, error)
	GetStarboardEntry(messageID string) (models.StarboardEntry, error)

	GetGuildLogEntries(guildID string, offset, limit int, severity models.GuildLogSeverity, ascending bool) ([]models.GuildLogEntry, error)
	GetGuildLogEntriesCount(guildID string, severity models.GuildLogSeverity) (int, error)
	AddGuildLogEntry(entry models.GuildLogEntry) error
	DeleteLogEntry(guildID string, id snowflake.ID) error
	DeleteLogEntries(guildID string) error

	FlushGuildData(guildID string) error

	GetVerificationQueue(guildID, userID string) ([]models.VerificationQueueEntry, error)
	FlushVerificationQueue(guildID string) error
	AddVerificationQueue(e models.VerificationQueueEntry) error
	RemoveVerificationQueue(guildID, userID string) (bool, error)

	GetBirthdays(guildID string) ([]models.Birthday, error)
	SetBirthday(m models.Birthday) error
	DeleteBirthday(guildID, userID string) error

	AddRoleSelects(v []models.RoleSelect) error
	GetRoleSelects() ([]models.RoleSelect, error)
	RemoveRoleSelect(guildID, channelID, messageID string) error
}

Database describes functionalities of a database driver.

type Migration

type Migration interface {
	// Migrate checks if the currently applied database
	// model is up to date and migrates the database to
	// the latest state.
	Migrate() error
}

Migration describes a databse middleware that allows database version migration.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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