This commit is contained in:
2025-09-15 19:47:32 -03:00
parent 0b6cccaef1
commit 6f983fe0ac
3 changed files with 32 additions and 19 deletions

View File

@@ -1,5 +1,6 @@
from http import HTTPStatus
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
@@ -18,6 +19,7 @@ from models import Course
from rules.course import create_course, update_course
router = Router()
logger = Logger(__name__)
meili_client = Meilisearch(MEILISEARCH_HOST, MEILISEARCH_API_KEY)
course_layer = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client)
user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
@@ -36,6 +38,7 @@ def get_courses():
page = int(event.get_query_string_value('page', '1'))
hits_per_page = int(event.get_query_string_value('hitsPerPage', '25'))
try:
return meili_client.index(COURSE_TABLE).search(
query,
{
@@ -45,6 +48,9 @@ def get_courses():
'hitsPerPage': hits_per_page,
},
)
except Exception as exc:
logger.exception(exc)
raise
@router.post(

View File

@@ -2,6 +2,7 @@ import urllib.parse as parse
from http import HTTPStatus
from typing import Annotated
from aws_lambda_powertools import Logger
from aws_lambda_powertools.event_handler.api_gateway import Router
from aws_lambda_powertools.event_handler.exceptions import (
BadRequestError as PowertoolsBadRequestError,
@@ -41,6 +42,7 @@ router = Router()
user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
user_collect = DynamoDBCollection(user_layer, exc_cls=BadRequestError)
meili_client = Meilisearch(MEILISEARCH_HOST, MEILISEARCH_API_KEY) # noqa: F821
logger = Logger(__name__)
@router.get(
@@ -70,6 +72,7 @@ def get_users():
},
] + filter_
try:
return meili_client.index(USER_TABLE).search(
query,
{
@@ -80,6 +83,9 @@ def get_users():
'filter': meili.encode(filter_),
},
)
except Exception as exc:
logger.exception(exc)
raise
class UserData(BaseModel):

View File

@@ -115,6 +115,7 @@ def set_score(
+ SortKey('0')
+ SortKey(
sk='METADATA#COURSE',
# Prevent conflicts with `course`
rename_key='metadata__course',
)
+ SortKey(