wip
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import json
|
||||
import os
|
||||
from datetime import date
|
||||
from functools import partial
|
||||
from typing import Any
|
||||
|
||||
@@ -9,26 +8,13 @@ from aws_lambda_powertools.event_handler.api_gateway import (
|
||||
APIGatewayHttpResolver,
|
||||
CORSConfig,
|
||||
)
|
||||
from aws_lambda_powertools.event_handler.exceptions import NotFoundError, ServiceError
|
||||
from aws_lambda_powertools.event_handler.exceptions import ServiceError
|
||||
from aws_lambda_powertools.logging import correlation_paths
|
||||
from aws_lambda_powertools.shared.json_encoder import Encoder
|
||||
from aws_lambda_powertools.utilities.typing import LambdaContext
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||
|
||||
from api_gateway import JSONResponse
|
||||
from boto3clients import dynamodb_client
|
||||
from config import COURSE_TABLE
|
||||
|
||||
dyn = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client)
|
||||
|
||||
|
||||
class JSONEncoder(Encoder):
|
||||
def default(self, obj):
|
||||
if isinstance(obj, date):
|
||||
return obj.isoformat()
|
||||
|
||||
return super().default(obj)
|
||||
|
||||
from json_encoder import JSONEncoder
|
||||
from routes import courses, enrollments
|
||||
|
||||
tracer = Tracer()
|
||||
logger = Logger(__name__)
|
||||
@@ -44,27 +30,8 @@ app = APIGatewayHttpResolver(
|
||||
debug='AWS_SAM_LOCAL' in os.environ,
|
||||
serializer=partial(json.dumps, separators=(',', ':'), cls=JSONEncoder),
|
||||
)
|
||||
|
||||
|
||||
@app.get('/users/<user_id>')
|
||||
@tracer.capture_method
|
||||
def get_user(user_id: str):
|
||||
return {'id': user_id}
|
||||
|
||||
|
||||
@app.get('/users/<user_id>/emails')
|
||||
@tracer.capture_method
|
||||
def get_emails(user_id: str):
|
||||
return [{'email': 'sergio@somosbeta.com.br'}]
|
||||
|
||||
|
||||
@app.get('/courses/<course_id>')
|
||||
@tracer.capture_method
|
||||
def get_course(course_id: str):
|
||||
return dyn.collection.get_item(
|
||||
KeyPair(course_id, '0'),
|
||||
exc_cls=NotFoundError,
|
||||
)
|
||||
app.include_router(courses.router, prefix='/courses')
|
||||
app.include_router(enrollments.router, prefix='/enrollments')
|
||||
|
||||
|
||||
@app.exception_handler(ServiceError)
|
||||
|
||||
Reference in New Issue
Block a user