fix limit

This commit is contained in:
2025-07-23 10:18:02 -03:00
parent 475721252f
commit 3060eb5ac0
5 changed files with 18 additions and 12 deletions

View File

@@ -65,7 +65,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> list[str]
deduplication_window=DeduplicationWindow(offset_days=90), deduplication_window=DeduplicationWindow(offset_days=90),
linked_entities=frozenset({LinkedEntity(order_id, 'ORDER')}), linked_entities=frozenset({LinkedEntity(order_id, 'ORDER')}),
) )
ids.append(enrollment.id) ids.append(str(enrollment.id))
order_layer.update_item( order_layer.update_item(
key=KeyPair(new_image['id'], new_image['sk']), key=KeyPair(new_image['id'], new_image['sk']),

View File

@@ -62,7 +62,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
class CourseNotFoundError(Exception): class CourseNotFoundError(Exception):
def __init__(self, *args): def __init__(self, *args):
super().__init__('Course not found') super().__init__('Course not found in SQLite')
def _get_course(course_id: str) -> dict: def _get_course(course_id: str) -> dict:

View File

@@ -30,10 +30,11 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
# f'SLOT#ORG#{org_id}', # f'SLOT#ORG#{org_id}',
f'vacancies#{org_id}', f'vacancies#{org_id}',
order_id, order_id,
) ),
limit=100,
) )
logger.info('Slots found', slots=result['items']) logger.info('Slots found', total_items=len(result['items']), slots=result['items'])
with enrollment_layer.batch_writer() as batch: with enrollment_layer.batch_writer() as batch:
for pair in result['items']: for pair in result['items']:

View File

@@ -5,7 +5,6 @@ from aws_lambda_powertools.utilities.data_classes import (
) )
from aws_lambda_powertools.utilities.typing import LambdaContext from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dynamodb import ( from layercake.dynamodb import (
ComposeKey,
DynamoDBPersistenceLayer, DynamoDBPersistenceLayer,
KeyPair, KeyPair,
) )
@@ -26,10 +25,10 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
the total is greater than zero.""" the total is greater than zero."""
new_image = event.detail['new_image'] new_image = event.detail['new_image']
data = order_layer.get_item(KeyPair(new_image['id'], '0')) data = order_layer.get_item(KeyPair(new_image['id'], '0'))
tenant_id = data['tenant_id'] org_id = data['tenant_id']
policy = user_layer.collection.get_item( policy = user_layer.collection.get_item(
KeyPair(pk=tenant_id, sk='metadata#billing_policy'), KeyPair(pk=org_id, sk='metadata#billing_policy'),
raise_on_error=False, raise_on_error=False,
default=False, default=False,
) )
@@ -39,22 +38,28 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
logger.info('Missing billing policy.') logger.info('Missing billing policy.')
return False return False
logger.info(f'Billing policy from Tenant ID "{tenant_id}" found', policy=policy) logger.info(f'Billing policy from Org ID "{org_id}" found', policy=policy)
result = enrollment_layer.collection.query( result = enrollment_layer.collection.query(
KeyPair( KeyPair(
ComposeKey(tenant_id, prefix='vacancies'), f'vacancies#{org_id}',
new_image['id'], new_image['id'],
) ),
limit=100,
) )
logger.info('Slots found', slots=result['items']) logger.info(
'Slots found',
total_items=len(result['items']),
slots=result['items'],
)
with enrollment_layer.batch_writer() as batch: with enrollment_layer.batch_writer() as batch:
for pair in result['items']: for pair in result['items']:
org_id = pair['id']
batch.delete_item( batch.delete_item(
Key={ Key={
'id': {'S': ComposeKey(pair['id'], prefix='vacancies')}, 'id': {'S': f'vacancies#{org_id}'},
'sk': {'S': pair['sk']}, 'sk': {'S': pair['sk']},
} }
) )