Adding card variant support
This commit is contained in:
parent
adaa8206c8
commit
b20d0cdf88
2
.gitignore
vendored
2
.gitignore
vendored
@ -59,3 +59,5 @@ pyvenv.cfg
|
||||
docker-compose*
|
||||
*.db
|
||||
venv
|
||||
.claude/
|
||||
CLAUDE.md
|
||||
@ -24,6 +24,7 @@ class CardPydantic(pydantic.BaseModel):
|
||||
team_id: int
|
||||
pack_id: int
|
||||
value: Optional[int] = 0
|
||||
variant: Optional[int] = 0
|
||||
|
||||
|
||||
class CardModel(pydantic.BaseModel):
|
||||
@ -33,7 +34,7 @@ class CardModel(pydantic.BaseModel):
|
||||
@router.get('')
|
||||
async def get_cards(
|
||||
player_id: Optional[int] = None, team_id: Optional[int] = None, pack_id: Optional[int] = None,
|
||||
value: Optional[int] = None, min_value: Optional[int] = None, max_value: Optional[int] = None,
|
||||
value: Optional[int] = None, min_value: Optional[int] = None, max_value: Optional[int] = None, variant: Optional[int] = None,
|
||||
order_by: Optional[str] = None, limit: Optional[int] = None, dupes: Optional[bool] = None,
|
||||
csv: Optional[bool] = None):
|
||||
all_cards = Card.select()
|
||||
@ -65,6 +66,8 @@ async def get_cards(
|
||||
all_cards = all_cards.where(Card.pack == this_pack)
|
||||
if value is not None:
|
||||
all_cards = all_cards.where(Card.value == value)
|
||||
# if variant is not None:
|
||||
# all_cards = all_cards.where(Card.variant == variant)
|
||||
if min_value is not None:
|
||||
all_cards = all_cards.where(Card.value >= min_value)
|
||||
if max_value is not None:
|
||||
@ -93,12 +96,12 @@ async def get_cards(
|
||||
# raise HTTPException(status_code=404, detail=f'No cards found')
|
||||
|
||||
if csv:
|
||||
data_list = [['id', 'player', 'cardset', 'rarity', 'team', 'pack', 'value']]
|
||||
data_list = [['id', 'player', 'cardset', 'rarity', 'team', 'pack', 'value']] #, 'variant']]
|
||||
for line in all_cards:
|
||||
data_list.append(
|
||||
[
|
||||
line.id, line.player.p_name, line.player.cardset, line.player.rarity, line.team.abbrev, line.pack,
|
||||
line.value
|
||||
line.value, # line.variant
|
||||
]
|
||||
)
|
||||
return_val = DataFrame(data_list).to_csv(header=False, index=False)
|
||||
@ -177,7 +180,8 @@ async def v1_cards_post(cards: CardModel, token: str = Depends(oauth2_scheme)):
|
||||
player_id=x.player_id,
|
||||
team_id=x.team_id,
|
||||
pack_id=x.pack_id,
|
||||
value=x.value
|
||||
value=x.value,
|
||||
# variant=x.variant
|
||||
)
|
||||
if inc_dex:
|
||||
Paperdex.get_or_create(team_id=x.team_id, player_id=x.player_id)
|
||||
@ -287,7 +291,7 @@ async def v1_cards_wipe_team(team_id: int, token: str = Depends(oauth2_scheme)):
|
||||
@router.patch('/{card_id}')
|
||||
async def v1_cards_patch(
|
||||
card_id, player_id: Optional[int] = None, team_id: Optional[int] = None, pack_id: Optional[int] = None,
|
||||
value: Optional[int] = None, roster1_id: Optional[int] = None, roster2_id: Optional[int] = None,
|
||||
value: Optional[int] = None, variant: Optional[int] = None, roster1_id: Optional[int] = None, roster2_id: Optional[int] = None,
|
||||
roster3_id: Optional[int] = None, token: str = Depends(oauth2_scheme)):
|
||||
if not valid_token(token):
|
||||
logging.warning(f'Bad Token: {token}')
|
||||
@ -313,6 +317,8 @@ async def v1_cards_patch(
|
||||
this_card.pack_id = pack_id
|
||||
if value is not None:
|
||||
this_card.value = value
|
||||
# if variant is not None:
|
||||
# this_card.variant = variant
|
||||
if roster1_id is not None:
|
||||
this_card.roster1_id = roster1_id
|
||||
if roster2_id is not None:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user