Files

40 lines
987 B
Python

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'),
),
limit=150,
)