fix relationshipt

This commit is contained in:
2025-07-21 18:40:35 -03:00
parent 024cd63a92
commit 58a174f432

View File

@@ -4,6 +4,7 @@ from aws_lambda_powertools.utilities.data_classes import (
event_source, event_source,
) )
from aws_lambda_powertools.utilities.typing import LambdaContext from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dateutils import now
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
import konviva import konviva
@@ -20,6 +21,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
new_image = event.detail['new_image'] new_image = event.detail['new_image']
user_id = new_image['user_id'] user_id = new_image['user_id']
class_id = new_image['class_id'] class_id = new_image['class_id']
now_ = now()
try: try:
enrollment_id = konviva.enroll( enrollment_id = konviva.enroll(
@@ -30,11 +32,22 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
logger.exception(err) logger.exception(err)
return False return False
return enrollment_layer.update_item( with enrollment_layer.transact_writer() as transact:
key=KeyPair(new_image['id'], 'konviva'), transact.update(
update_expr='SET enrollment_id = :enrollment_id', key=KeyPair(new_image['id'], 'konviva'),
cond_expr='attribute_exists(sk)', update_expr='SET enrollment_id = :enrollment_id',
expr_attr_values={ cond_expr='attribute_exists(sk)',
':enrollment_id': enrollment_id, expr_attr_values={
}, ':enrollment_id': enrollment_id,
) },
)
transact.put(
item={
'id': 'konviva',
'sk': str(enrollment_id),
'enrollment_id': new_image['id'],
'created_at': now_,
}
)
return True