fix billing
This commit is contained in:
@@ -2,6 +2,7 @@ from datetime import date
|
||||
from typing import Annotated
|
||||
|
||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||
from aws_lambda_powertools.event_handler.exceptions import NotFoundError
|
||||
from aws_lambda_powertools.event_handler.openapi.params import Query
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||
|
||||
@@ -12,6 +13,9 @@ router = Router()
|
||||
dyn = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client)
|
||||
|
||||
|
||||
class BillingNotFoundError(NotFoundError): ...
|
||||
|
||||
|
||||
@router.get('/<org_id>/subscription')
|
||||
def subscription(org_id: str):
|
||||
return dyn.collection.get_item(
|
||||
@@ -31,10 +35,17 @@ def billing(
|
||||
start_date: Annotated[date, Query()],
|
||||
end_date: Annotated[date, Query()],
|
||||
):
|
||||
return dyn.collection.query(
|
||||
pk = f'BILLING#ORG#{org_id}'
|
||||
sk = f'START#{start_date}#END#{end_date}'
|
||||
r = dyn.collection.get_item(
|
||||
KeyPair(pk, sk),
|
||||
exc_cls=BillingNotFoundError,
|
||||
)
|
||||
|
||||
return r | dyn.collection.query(
|
||||
KeyPair(
|
||||
pk=f'BILLING#ORG#{org_id}',
|
||||
sk=f'START#{start_date}#END#{end_date}',
|
||||
pk=pk,
|
||||
sk=f'{sk}#ENROLLMENT',
|
||||
),
|
||||
limit=150,
|
||||
)
|
||||
|
||||
@@ -75,9 +75,7 @@ export default function Route({
|
||||
</div>
|
||||
|
||||
<Await resolve={billing}>
|
||||
{({ items }) => {
|
||||
const billing = items.find((item) => item.sk === sk)
|
||||
|
||||
{({ items, ...billing }) => {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="space-y-2.5">
|
||||
|
||||
Reference in New Issue
Block a user