feat(card): 卡片展示/隐藏调整为批量接口
This commit is contained in:
@@ -274,19 +274,19 @@ async def update_card_price_info(
|
||||
return {'message': 'ok' if result is not None else 'fail'}
|
||||
|
||||
|
||||
@card_router.post('/{card_id}/display/', summary='卡片展示/隐藏', response_model=base_schema.BaseResponse)
|
||||
@card_router.post('/display/', summary='卡片展示/隐藏', response_model=base_schema.BaseResponse)
|
||||
async def display_card_status(
|
||||
card_id: int,
|
||||
action: Literal['displayed', 'undisplayed'],
|
||||
payload: schema.DisplayCardIn,
|
||||
login_user: LoginUser = Depends(get_current_user_form_http),
|
||||
db_session: AsyncSession = Depends(get_async_session)
|
||||
):
|
||||
db_crud = CRUD(db_session, UserCollection)
|
||||
result = await db_crud.update(
|
||||
result = await db_crud.updates(
|
||||
data={
|
||||
'displayed': (action == 'displayed'),
|
||||
},
|
||||
filters={'card_id': card_id, 'user_id': login_user.user_id}
|
||||
filters={'card_id__in': payload.card_ids, 'user_id': login_user.user_id}
|
||||
)
|
||||
return {'message': 'ok' if result is not None else 'fail'}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ class Card(BaseModel):
|
||||
class CardIn(Card):
|
||||
category: CardCategoryType
|
||||
source: PlatformSourceType
|
||||
diy_source: Optional[str] = None
|
||||
diy_source: Optional[constr(max_length=50)] = None
|
||||
reward: Optional[bool] = False
|
||||
|
||||
|
||||
@@ -71,8 +71,13 @@ class CardOut(CardVisitOut):
|
||||
card_year: str | None
|
||||
purchase_price: Optional[condecimal(max_digits=10, decimal_places=2)] = None
|
||||
display_price: Optional[condecimal(max_digits=10, decimal_places=2)] = None
|
||||
displayed: Optional[bool] = True
|
||||
diy_source: Optional[str] = None
|
||||
|
||||
|
||||
class DisplayCardIn(BaseModel):
|
||||
card_ids: list[int]
|
||||
|
||||
|
||||
class DeleteCardIn(BaseModel):
|
||||
card_ids: list[int]
|
||||
|
||||
Reference in New Issue
Block a user