Vladimir Hodakov
c9855116da
As result of profile format change, introduced in game update yesterday we need to change profile regexp. As result of some refactoring, rarely changed data removed from database and added to sources of bot.
63 lines
2.7 KiB
Go
63 lines
2.7 KiB
Go
// i2_bot – Instinct PokememBro Bot
|
||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||
|
||
package datacacheinterface
|
||
|
||
import (
|
||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||
"source.wtfteam.pro/i2_bot/i2_bot/lib/datamapping"
|
||
"source.wtfteam.pro/i2_bot/i2_bot/lib/dbmapping"
|
||
)
|
||
|
||
// DataCacheInterface implements DataCache for importing via appcontext.
|
||
type DataCacheInterface interface {
|
||
Init()
|
||
|
||
GetAllGroupChats() []dbmapping.Chat
|
||
GetAllPrivateChats() []dbmapping.Chat
|
||
GetChatByID(chatID int) (*dbmapping.Chat, error)
|
||
GetOrCreateChat(update *tgbotapi.Update) (*dbmapping.Chat, error)
|
||
GetGroupChatsByIDs(chatIDs []int) []dbmapping.Chat
|
||
GetLeaguePrivateChats() []dbmapping.Chat
|
||
UpdateChatTitle(chatID int, newTitle string) (*dbmapping.Chat, error)
|
||
|
||
AddPlayerToSquad(relation *dbmapping.SquadPlayer) (int, error)
|
||
GetAllSquadMembers(squadID int) []dbmapping.SquadPlayerFull
|
||
GetAllSquadsChats() []dbmapping.Chat
|
||
GetAllSquadsWithChats() []dbmapping.SquadChat
|
||
GetAvailableSquadsChatsForUser(userID int) []dbmapping.Chat
|
||
GetCommandersForSquad(squadID int) []dbmapping.Player
|
||
GetSquadByID(squadID int) (*dbmapping.SquadChat, error)
|
||
GetSquadByChatID(chatID int) (*dbmapping.Squad, error)
|
||
GetSquadsChatsBySquadsIDs(squadsIDs []int) []dbmapping.Chat
|
||
GetUserRoleInSquad(squadID int, playerID int) string
|
||
GetUserRolesInSquads(userID int) []dbmapping.SquadPlayerFull
|
||
|
||
AddPlayer(player *dbmapping.Player) (int, error)
|
||
GetOrCreatePlayerByTelegramID(telegramID int) (*dbmapping.Player, error)
|
||
GetPlayerByID(playerID int) (*dbmapping.Player, error)
|
||
GetPlayerByTelegramID(telegramID int) (*dbmapping.Player, error)
|
||
UpdatePlayerFields(player *dbmapping.Player) (*dbmapping.Player, error)
|
||
UpdatePlayerTimestamp(playerID int) error
|
||
|
||
AddProfile(profile *dbmapping.Profile) (int, error)
|
||
GetPlayersWithCurrentProfiles() map[int]*dbmapping.PlayerProfile
|
||
GetProfileByID(profileID int) (*dbmapping.Profile, error)
|
||
GetProfileByPlayerID(playerID int) (*dbmapping.Profile, error)
|
||
|
||
AddPokememe(pokememeData map[string]string, pokememeLocations map[string]string, pokememeElements map[string]string) (int, error)
|
||
GetAllPokememes() map[int]*dbmapping.PokememeFull
|
||
GetPokememeByID(pokememeID int) (*dbmapping.PokememeFull, error)
|
||
GetPokememeByName(name string) (*dbmapping.PokememeFull, error)
|
||
DeletePokememeByID(pokememeID int) error
|
||
UpdatePokememe(pokememeData map[string]string, pokememeLocations map[string]string, pokememeElements map[string]string) (int, error)
|
||
|
||
GetElementByID(elementID int) (*datamapping.Element, error)
|
||
|
||
GetLeagueByID(leagueID int) (*datamapping.League, error)
|
||
GetLeagueBySymbol(symbol string) (*datamapping.League, error)
|
||
|
||
GetWeaponTypeByID(weaponID int) (*datamapping.Weapon, error)
|
||
GetWeaponTypeByName(name string) (*datamapping.Weapon, error)
|
||
}
|