add events

This commit is contained in:
2025-08-21 22:18:37 -03:00
parent c70a74b94a
commit 3ab20c485b
19 changed files with 315 additions and 164 deletions

View File

@@ -44,6 +44,8 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
org_id = new_image['org_id']
enrollment = enrollment_layer.collection.get_items(
TransactKey(new_image['id']) + SortKey('0') + SortKey('author')
# Post-migration: uncomment the following line
# + SortKey('CREATED_BY')
)
if not enrollment:
@@ -97,7 +99,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
# Add enrollment entry to billing
try:
author = enrollment.get('author')
canceled_by = enrollment.get('author')
course_id = enrollment['course']['id']
course = course_layer.collection.get_items(
KeyPair(
@@ -129,11 +131,11 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
| (
{
'author': {
'id': author['user_id'],
'name': author['name'],
'id': canceled_by['user_id'],
'name': canceled_by['name'],
}
}
if author
if canceled_by
else {}
),
cond_expr='attribute_not_exists(sk)',

View File

@@ -29,8 +29,8 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
TransactKey(enrollment_id)
+ SortKey('METADATA#SUBSCRIPTION_COVERED')
# Post-migration: uncomment the following line
# + SortKey('CANCELED', path_spec='author', rename_key='author')
+ SortKey('canceled', path_spec='author', rename_key='author')
# + SortKey('CANCELED', path_spec='canceled_by', rename_key='canceled_by')
+ SortKey('canceled', path_spec='author', rename_key='canceled_by')
)
created_at: datetime = fromisoformat(new_image['create_date']) # type: ignore
@@ -49,7 +49,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
return False
try:
author = subscription.get('author')
canceled_by = subscription.get('canceled_by')
# Retrieve canceled enrollment data
old_enrollment = order_layer.collection.get_item(
KeyPair(
@@ -68,7 +68,9 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
}
| pick(('user', 'course', 'enrolled_at'), old_enrollment)
# Add author if present
| ({'author': author} if author else {}),
| ({'author': canceled_by} if canceled_by else {}),
# Post-migration: uncomment the following line
# | ({'created_by': canceled_by} if canceled_by else {}),
cond_expr='attribute_not_exists(sk)',
)
except Exception as exc:

View File

@@ -30,7 +30,6 @@
{"id": "77055ad7-03e1-4b07-98dc-a2f1a90913ba", "sk": "METADATA#SUBSCRIPTION_COVERED", "billing_day": 6, "org_id": "cJtK9SsnJhKPyxESe7g3DG"}
{"id": "77055ad7-03e1-4b07-98dc-a2f1a90913ba", "sk": "canceled", "canceled_at": "2025-08-18T15:41:49.927856-03:00", "author": {"id": "123", "name": "Dexter Holland"}}
// Course
{"id": "123", "sk": "0", "access_period": "360", "cert": {"exp_interval": 360}, "created_at": "2024-12-30T00:33:33.088916-03:00", "metadata__konviva_class_id": "194", "metadata__unit_price": 99, "name": "Direção Defensiva (08 horas)", "tenant_id": "*", "updated_at": "2025-07-24T00:00:24.639003-03:00"}
{"id": "CUSTOM_PRICING#ORG#cJtK9SsnJhKPyxESe7g3DG", "sk": "COURSE#123", "created_at": "2025-07-24T16:10:09.304073-03:00", "unit_price": "79.2"}