mirror of
https://github.com/PaiGramTeam/GramCore.git
synced 2024-12-04 18:51:26 +00:00
✨ Support query player when only player_id
This commit is contained in:
parent
549a40e8af
commit
0ae6a40433
@ -4,7 +4,7 @@ from typing import TYPE_CHECKING, Optional, Tuple
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from telegram import Update
|
from telegram import Update
|
||||||
|
|
||||||
REGEX = r"@(\d{10})|@(\d{9})|@(\d)"
|
REGEX = r"@(\d{10})|@(\d{9})|@(\d{8})|@(\d)"
|
||||||
|
|
||||||
|
|
||||||
def get_real_uid_or_offset_by_text(text: str) -> Tuple[Optional[int], Optional[int]]:
|
def get_real_uid_or_offset_by_text(text: str) -> Tuple[Optional[int], Optional[int]]:
|
||||||
|
@ -12,7 +12,7 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
import json as jsonlib
|
import json as jsonlib
|
||||||
|
|
||||||
__all__ = ("Player", "PlayersDataBase", "PlayerInfo", "PlayerInfoSQLModel")
|
__all__ = ("Player", "PlayersDataBase", "PlayerInfo", "PlayerInfoSQLModel", "ExtraPlayerInfo")
|
||||||
|
|
||||||
|
|
||||||
class Player(SQLModel):
|
class Player(SQLModel):
|
||||||
@ -34,10 +34,12 @@ class PlayersDataBase(Player, table=True):
|
|||||||
|
|
||||||
class ExtraPlayerInfo(BaseModel):
|
class ExtraPlayerInfo(BaseModel):
|
||||||
class Config(BaseSettings.Config):
|
class Config(BaseSettings.Config):
|
||||||
|
frozen = False
|
||||||
json_loads = jsonlib.loads
|
json_loads = jsonlib.loads
|
||||||
json_dumps = jsonlib.dumps
|
json_dumps = jsonlib.dumps
|
||||||
|
|
||||||
waifu_id: Optional[int] = None
|
waifu_id: Optional[int] = None
|
||||||
|
level: Optional[int] = None
|
||||||
|
|
||||||
|
|
||||||
class ExtraPlayerType(TypeDecorator): # pylint: disable=W0223
|
class ExtraPlayerType(TypeDecorator): # pylint: disable=W0223
|
||||||
|
@ -18,7 +18,7 @@ class PlayersRepository(BaseService.Component):
|
|||||||
|
|
||||||
async def get(
|
async def get(
|
||||||
self,
|
self,
|
||||||
user_id: int,
|
user_id: Optional[int] = None,
|
||||||
player_id: Optional[int] = None,
|
player_id: Optional[int] = None,
|
||||||
account_id: Optional[int] = None,
|
account_id: Optional[int] = None,
|
||||||
region: Optional[RegionEnum] = None,
|
region: Optional[RegionEnum] = None,
|
||||||
@ -26,7 +26,9 @@ class PlayersRepository(BaseService.Component):
|
|||||||
offset: int = 0,
|
offset: int = 0,
|
||||||
) -> Optional[Player]:
|
) -> Optional[Player]:
|
||||||
async with AsyncSession(self.engine) as session:
|
async with AsyncSession(self.engine) as session:
|
||||||
statement = select(Player).where(Player.user_id == user_id)
|
statement = select(Player)
|
||||||
|
if user_id is not None:
|
||||||
|
statement = statement.where(Player.user_id == user_id)
|
||||||
if player_id is not None:
|
if player_id is not None:
|
||||||
statement = statement.where(Player.player_id == player_id)
|
statement = statement.where(Player.player_id == player_id)
|
||||||
if account_id is not None:
|
if account_id is not None:
|
||||||
|
@ -14,7 +14,7 @@ class PlayersService(BaseService):
|
|||||||
|
|
||||||
async def get(
|
async def get(
|
||||||
self,
|
self,
|
||||||
user_id: int,
|
user_id: Optional[int] = None,
|
||||||
player_id: Optional[int] = None,
|
player_id: Optional[int] = None,
|
||||||
account_id: Optional[int] = None,
|
account_id: Optional[int] = None,
|
||||||
region: Optional[RegionEnum] = None,
|
region: Optional[RegionEnum] = None,
|
||||||
|
Loading…
Reference in New Issue
Block a user