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*
|
docker-compose*
|
||||||
*.db
|
*.db
|
||||||
venv
|
venv
|
||||||
|
.claude/
|
||||||
|
CLAUDE.md
|
||||||
@ -24,6 +24,7 @@ class CardPydantic(pydantic.BaseModel):
|
|||||||
team_id: int
|
team_id: int
|
||||||
pack_id: int
|
pack_id: int
|
||||||
value: Optional[int] = 0
|
value: Optional[int] = 0
|
||||||
|
variant: Optional[int] = 0
|
||||||
|
|
||||||
|
|
||||||
class CardModel(pydantic.BaseModel):
|
class CardModel(pydantic.BaseModel):
|
||||||
@ -33,7 +34,7 @@ class CardModel(pydantic.BaseModel):
|
|||||||
@router.get('')
|
@router.get('')
|
||||||
async def get_cards(
|
async def get_cards(
|
||||||
player_id: Optional[int] = None, team_id: Optional[int] = None, pack_id: Optional[int] = None,
|
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,
|
order_by: Optional[str] = None, limit: Optional[int] = None, dupes: Optional[bool] = None,
|
||||||
csv: Optional[bool] = None):
|
csv: Optional[bool] = None):
|
||||||
all_cards = Card.select()
|
all_cards = Card.select()
|
||||||
@ -65,6 +66,8 @@ async def get_cards(
|
|||||||
all_cards = all_cards.where(Card.pack == this_pack)
|
all_cards = all_cards.where(Card.pack == this_pack)
|
||||||
if value is not None:
|
if value is not None:
|
||||||
all_cards = all_cards.where(Card.value == value)
|
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:
|
if min_value is not None:
|
||||||
all_cards = all_cards.where(Card.value >= min_value)
|
all_cards = all_cards.where(Card.value >= min_value)
|
||||||
if max_value is not None:
|
if max_value is not None:
|
||||||
@ -93,12 +96,12 @@ async def get_cards(
|
|||||||
# raise HTTPException(status_code=404, detail=f'No cards found')
|
# raise HTTPException(status_code=404, detail=f'No cards found')
|
||||||
|
|
||||||
if csv:
|
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:
|
for line in all_cards:
|
||||||
data_list.append(
|
data_list.append(
|
||||||
[
|
[
|
||||||
line.id, line.player.p_name, line.player.cardset, line.player.rarity, line.team.abbrev, line.pack,
|
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)
|
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,
|
player_id=x.player_id,
|
||||||
team_id=x.team_id,
|
team_id=x.team_id,
|
||||||
pack_id=x.pack_id,
|
pack_id=x.pack_id,
|
||||||
value=x.value
|
value=x.value,
|
||||||
|
# variant=x.variant
|
||||||
)
|
)
|
||||||
if inc_dex:
|
if inc_dex:
|
||||||
Paperdex.get_or_create(team_id=x.team_id, player_id=x.player_id)
|
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}')
|
@router.patch('/{card_id}')
|
||||||
async def v1_cards_patch(
|
async def v1_cards_patch(
|
||||||
card_id, player_id: Optional[int] = None, team_id: Optional[int] = None, pack_id: Optional[int] = None,
|
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)):
|
roster3_id: Optional[int] = None, token: str = Depends(oauth2_scheme)):
|
||||||
if not valid_token(token):
|
if not valid_token(token):
|
||||||
logging.warning(f'Bad Token: {token}')
|
logging.warning(f'Bad Token: {token}')
|
||||||
@ -313,6 +317,8 @@ async def v1_cards_patch(
|
|||||||
this_card.pack_id = pack_id
|
this_card.pack_id = pack_id
|
||||||
if value is not None:
|
if value is not None:
|
||||||
this_card.value = value
|
this_card.value = value
|
||||||
|
# if variant is not None:
|
||||||
|
# this_card.variant = variant
|
||||||
if roster1_id is not None:
|
if roster1_id is not None:
|
||||||
this_card.roster1_id = roster1_id
|
this_card.roster1_id = roster1_id
|
||||||
if roster2_id is not None:
|
if roster2_id is not None:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user