From cea6b61f5145f12ab626baaeb81f124656bf414b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Rafael=20Siqueira?= Date: Fri, 11 Jul 2025 21:31:30 -0300 Subject: [PATCH] update slots --- http-api/app/routes/enrollments/slots.py | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 http-api/app/routes/enrollments/slots.py diff --git a/http-api/app/routes/enrollments/slots.py b/http-api/app/routes/enrollments/slots.py new file mode 100644 index 0000000..8b6efb5 --- /dev/null +++ b/http-api/app/routes/enrollments/slots.py @@ -0,0 +1,38 @@ +from aws_lambda_powertools.event_handler.api_gateway import Router +from layercake.dynamodb import ( + ComposeKey, + DynamoDBPersistenceLayer, + PartitionKey, +) + +from boto3clients import dynamodb_client +from config import ( + ENROLLMENT_TABLE, + USER_TABLE, +) +from middlewares import Tenant, TenantMiddleware + +router = Router() + +enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client) +user_layer = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client) + + +@router.get( + '/slots', + compress=True, + tags=['Enrollment'], + middlewares=[ + TenantMiddleware(user_layer.collection), + ], +) +def get_vacancies(): + tenant: Tenant = router.context['tenant'] + + return enrollment_layer.collection.query( + PartitionKey( + # Post-migration: uncomment the following line + # ComposeKey(str(tenant.id), prefix='slots#orgs'), + ComposeKey(str(tenant.id), prefix='vacancies'), + ) + )