reditect to order

This commit is contained in:
2026-01-14 21:08:23 -03:00
parent d893114e38
commit a3e4fe887d
22 changed files with 1105 additions and 1157 deletions

View File

@@ -56,6 +56,7 @@ app.include_router(orgs.billing, prefix='/orgs')
app.include_router(orgs.custom_pricing, prefix='/orgs')
app.include_router(orgs.scheduled, prefix='/orgs')
app.include_router(orgs.submissions, prefix='/orgs')
app.include_router(orgs.seats, prefix='/orgs')
app.include_router(orgs.users, prefix='/orgs')
app.include_router(orgs.batch_jobs, prefix='/orgs')

View File

@@ -24,6 +24,7 @@ def get_order(order_id: str):
TransactKey(order_id)
+ SortKey('0')
+ SortKey('ITEMS', rename_key='items')
+ SortKey('CREATED_BY', rename_key='created_by')
+ SortKey('ADDRESS', rename_key='address')
+ SortKey('CREDIT_CARD', rename_key='credit_card')
+ SortKey('INVOICE', rename_key='invoice')
@@ -38,7 +39,11 @@ def get_order(order_id: str):
attempts = dyn.collection.query(KeyPair(order_id, 'TRANSACTION#ATTEMPT#'))
enrollments = dyn.collection.query(KeyPair(order_id, 'ENROLLMENT#'))
return order | {
'attempts': attempts['items'],
'enrollments': enrollments['items'],
}
return (
order
| {
'payment_attempts': attempts['items'],
'enrollments': enrollments['items'],
}
| ({'paid_at': order['payment_date']} if 'payment_date' in order else {})
)

View File

@@ -7,6 +7,7 @@ from http import HTTPStatus
from typing import Any, Literal
from uuid import uuid4
from aws_lambda_powertools import Logger
from aws_lambda_powertools.event_handler.api_gateway import Router
from aws_lambda_powertools.event_handler.exceptions import (
NotFoundError,
@@ -30,6 +31,7 @@ from config import DUE_DAYS, ORDER_TABLE
from routes.enrollments.enroll import Enrollment
router = Router()
logger = Logger(__name__)
dyn = DynamoDBPersistenceLayer(ORDER_TABLE, dynamodb_client)
@@ -138,6 +140,7 @@ def checkout(payload: Checkout):
org_id = payload.org_id
address = payload.address
credit_card = payload.credit_card
created_by = payload.created_by
items = payload.items
enrollments = payload.enrollments
coupon = payload.coupon
@@ -201,6 +204,17 @@ def checkout(payload: Checkout):
| address.model_dump()
)
if created_by:
transact.put(
item={
'id': order_id,
'sk': 'CREATED_BY',
'user_id': created_by.id,
'name': created_by.name,
'created_at': now_,
}
)
if credit_card:
transact.put(
item={

View File

@@ -5,6 +5,7 @@ from .billing import router as billing
from .custom_pricing import router as custom_pricing
from .enrollments.scheduled import router as scheduled
from .enrollments.submissions import router as submissions
from .seats import router as seats
from .users.add import router as users
from .users.batch_jobs import router as batch_jobs
@@ -16,6 +17,7 @@ __all__ = [
'custom_pricing',
'scheduled',
'submissions',
'seats',
'users',
'batch_jobs',
]