Fix admin drops endpoint.

pull/833/head
Andrey 2023-07-06 07:30:50 +03:00
rodzic d27e675df0
commit d3bdc3f28d
3 zmienionych plików z 44 dodań i 6 usunięć

Wyświetl plik

@ -151,7 +151,7 @@ def dropper_create_drop_handler(args: argparse.Namespace) -> None:
def dropper_activate_drop_handler(args: argparse.Namespace) -> None:
try:
with db.yield_db_session_ctx() as db_session:
activated_claim = actions.activate_claim(
activated_claim = actions.activate_drop(
db_session=db_session,
dropper_claim_id=args.dropper_claim_id,
)
@ -164,7 +164,7 @@ def dropper_activate_drop_handler(args: argparse.Namespace) -> None:
def dropper_deactivate_drop_handler(args: argparse.Namespace) -> None:
try:
with db.yield_db_session_ctx() as db_session:
deactivated_claim = actions.deactivate_claim(
deactivated_claim = actions.deactivate_drop(
db_session=db_session,
dropper_claim_id=args.dropper_claim_id,
)

Wyświetl plik

@ -91,6 +91,7 @@ class Claimant(BaseModel):
address: str
amount: int
raw_amount: Optional[str] = None
added_by: Optional[str] = None
class BatchAddClaimantsRequest(BaseModel):
@ -155,8 +156,20 @@ class DropBatchResponseItem(BaseModel):
blockchain: str
class DropsResponseItem(BaseModel):
id: UUID
title: str
description: str
terminus_address: Optional[str] = None
terminus_pool_id: Optional[int] = None
claim_block_deadline: Optional[int] = None
drop_number: Optional[int] = None
active: bool = True
dropper_contract_address: str
class DropListResponse(BaseModel):
drops: List[Any] = Field(default_factory=list)
drops: List[DropsResponseItem] = Field(default_factory=list)
class DropClaimant(BaseModel):

Wyświetl plik

@ -102,7 +102,22 @@ async def get_drop_list_handler(
logger.error(f"Can't get drops. Failed with error: {e}")
raise EngineHTTPException(status_code=500, detail="Can't get claims")
return data.DropListResponse(drops=[result for result in results])
return data.DropListResponse(
drops=[
data.DropsResponseItem(
id=result.id,
title=result.title,
description=result.description,
terminus_address=result.terminus_address,
terminus_pool_id=result.terminus_pool_id,
claim_block_deadline=result.claim_block_deadline,
drop_number=result.drop_number,
active=result.active,
dropper_contract_address=result.dropper_contract_address,
)
for result in results
]
)
@app.post("/drops", response_model=data.DropCreatedResponse)
@ -314,7 +329,7 @@ async def get_claimants(
limit: int = 10,
offset: int = 0,
db_session: Session = Depends(db.yield_db_session),
) -> data.DropListResponse:
) -> data.ClaimantsResponse:
"""
Get list of claimants for a given dropper contract.
"""
@ -346,7 +361,17 @@ async def get_claimants(
logger.info(f"Can't add claimants for claim {dropper_claim_id} with error: {e}")
raise EngineHTTPException(status_code=500, detail=f"Error adding claimants")
return data.ClaimantsResponse(claimants=list(results))
return data.ClaimantsResponse(
claimants=[
data.Claimant(
address=result.address,
amount=result.amount,
raw_amount=result.raw_amount,
added_by=result.added_by,
)
for result in results
]
)
@app.post(