update sk

This commit is contained in:
2025-07-17 15:52:59 -03:00
parent 9bbbc51c4a
commit 31a8025125
2 changed files with 30 additions and 5 deletions

View File

@@ -5,7 +5,7 @@ from aws_lambda_powertools.utilities.data_classes import (
)
from aws_lambda_powertools.utilities.typing import LambdaContext
from layercake.dateutils import now
from layercake.dynamodb import ComposeKey, DynamoDBPersistenceLayer, KeyPair
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
from layercake.strutils import first_word, truncate_str
from boto3clients import dynamodb_client, sesv2_client
@@ -39,6 +39,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
# Post-migration: Remove the following lines
if 'email' not in old_image:
# If email is missing, use enrollment email
data = enrollment_layer.get_item(KeyPair(old_image['id'], '0'))
old_image['name'] = data['user']['name']
old_image['email'] = data['user']['email']
@@ -72,9 +73,9 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
enrollment_layer.put_item(
item={
'id': old_image['id'],
'sk': ComposeKey('failed', 'schedules#reminder_no_access_3_days'),
'sk': 'schedules#reminder_no_access_3_days#failed',
# Post-migration: Uncomment the following line
# 'sk': ComposeKey('failed', old_image['sk']),
# 'sk': f'{old_image["sk"]}#failed',
'created_at': now_,
}
)
@@ -84,9 +85,9 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
enrollment_layer.put_item(
item={
'id': old_image['id'],
'sk': ComposeKey('completed', 'schedules#reminder_no_access_3_days'),
'sk': 'schedules#reminder_no_access_3_days#executed',
# Post-migration: Uncomment the following line
# 'sk': ComposeKey('completed', old_image['sk']),
# 'sk': f'{old_image["sk"]}#executed',
'created_at': now_,
}
)

View File

@@ -62,6 +62,30 @@ Resources:
new_image:
sk: ["0"]
EventAllocateSlotsFunction:
Type: AWS::Serverless::Function
Properties:
Handler: events.allocate_slots.lambda_handler
LoggingConfig:
LogGroup: !Ref EventLog
Policies:
- DynamoDBCrudPolicy:
TableName: !Ref OrderTable
- DynamoDBCrudPolicy:
TableName: !Ref EnrollmentTable
Events:
DynamoDBEvent:
Type: EventBridgeRule
Properties:
Pattern:
resources: [!Ref OrderTable]
detail-type: [INSERT]
detail:
new_image:
sk: [slots]
mode: [BATCH]
status: [PENDING]
EventReminderNoAccess3DaysFunction:
Type: AWS::Serverless::Function
Properties: