Vladimir Hodakov
b8226d8aa8
Recent game update changed pokememes view in pokedeks, so we need to reflect it by updating parser. Introducing DataCache - a silver bullet for eliminating lags linked to database queries. Less queries, more in RAM, faster work. Needs testing in production environment.
35 lines
1.4 KiB
Go
35 lines
1.4 KiB
Go
// i2_bot – Instinct PokememBro Bot
|
||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||
|
||
package datacacheinterface
|
||
|
||
import (
|
||
"git.wtfteam.pro/fat0troll/i2_bot/lib/dbmapping"
|
||
)
|
||
|
||
// DataCacheInterface implements DataCache for importing via appcontext.
|
||
type DataCacheInterface interface {
|
||
Init()
|
||
|
||
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
|
||
|
||
GetLeagueBySymbol(symbol string) (*dbmapping.League, error)
|
||
GetWeaponTypeByName(name string) (*dbmapping.Weapon, error)
|
||
}
|