update meilis

This commit is contained in:
2025-07-05 15:08:06 -03:00
parent 0df4d7aa71
commit d002828afa
17 changed files with 430 additions and 45 deletions

View File

@@ -7,12 +7,12 @@ from aws_lambda_powertools.utilities.data_classes import (
event_source,
)
from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dateutils import now
from layercake.dynamodb import DynamoDBPersistenceLayer
from sqlite_utils import Database
from boto3clients import dynamodb_client
from config import (
COURSE_TABLE,
ENROLLMENT_TABLE,
SQLITE_DATABASE,
SQLITE_TABLE,
@@ -22,8 +22,6 @@ sqlite3.register_converter('json', json.loads)
logger = Logger(__name__)
enrollment_layer = DynamoDBPersistenceLayer(ENROLLMENT_TABLE, dynamodb_client)
course_layer = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client)
deduplication_window = {'offset_days': 90}
class DeduplicationConflictError(Exception):
@@ -35,6 +33,27 @@ class DeduplicationConflictError(Exception):
@logger.inject_lambda_context
def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
new_image = event.detail['new_image']
now_ = now()
course = _get_course(new_image['course']['id'])
with enrollment_layer.transact_writer() as transact:
transact.put(
item={
'id': new_image['id'],
'sk': 'metadata#deduplication_window',
'offset_days': 90,
'created_at': now_,
}
)
transact.put(
item={
'id': new_image['id'],
'sk': 'metadata#course',
'created_at': now_,
'access_period': int(course['access_period']),
'cert': course['cert'],
}
)
return True