update id

This commit is contained in:
2025-10-30 02:02:23 -03:00
parent f284b64c60
commit 76dfc44b71
25 changed files with 103 additions and 40 deletions

View File

@@ -14,7 +14,7 @@ from aws_lambda_powertools.utilities.typing import LambdaContext
from api_gateway import JSONResponse
from json_encoder import JSONEncoder
from routes import courses, enrollments, orders, users
from routes import courses, enrollments, orders, orgs, users
logger = Logger(__name__)
tracer = Tracer()
@@ -42,6 +42,7 @@ app.include_router(users.router, prefix='/users')
app.include_router(users.emails, prefix='/users')
app.include_router(users.orgs, prefix='/users')
app.include_router(orders.router, prefix='/orders')
app.include_router(orgs.custom_pricing, prefix='/orgs')
@app.exception_handler(ServiceError)

View File

@@ -51,17 +51,18 @@ class Course(BaseModel):
@router.put('/<course_id>')
def edit_course(course_id: str):
def put_course(course_id: str):
event = router.current_event
if not event.decoded_body:
raise BadRequestError('Invalid request body')
body = BytesIO(event.decoded_body.encode())
course = Course.model_validate(
{'id': course_id, 'cert': {}} | parse(event.headers, body),
)
now_ = now()
body = parse(
event.headers,
BytesIO(event.decoded_body.encode()),
)
course = Course.model_validate({'id': course_id, 'cert': {}} | body)
if course.rawfile:
object_key = f'certs/templates/{course_id}.html'

View File

@@ -1,7 +1,6 @@
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
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
from layercake.dynamodb import DynamoDBPersistenceLayer, SortKey, TransactKey
from boto3clients import dynamodb_client
from config import ENROLLMENT_TABLE
@@ -20,7 +19,6 @@ dyn = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client)
@router.get('/<enrollment_id>')
def get_enrollment(enrollment_id: str):
return dyn.collection.get_item(
KeyPair(enrollment_id, '0'),
exc_cls=NotFoundError,
return dyn.collection.get_items(
TransactKey(enrollment_id) + SortKey('0') + SortKey('ORG') + SortKey('LOCK'),
)

View File

@@ -0,0 +1,4 @@
from .custom_pricing import router as custom_pricing
__all__ = ['custom_pricing']

View File

@@ -0,0 +1,17 @@
from aws_lambda_powertools.event_handler.api_gateway import Router
from layercake.dynamodb import DynamoDBPersistenceLayer, PartitionKey
from boto3clients import dynamodb_client
from config import COURSE_TABLE, USER_TABLE
router = Router()
dyn = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
@router.get('/<org_id>/custompricing')
def get_custom_pricing(org_id: str):
return dyn.collection.query(
PartitionKey(f'CUSTOM_PRICING#ORG#{org_id}'),
table_name=COURSE_TABLE,
limit=100,
)