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

View File

@@ -62,6 +62,30 @@ Resources:
new_image: new_image:
sk: ["0"] 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: EventReminderNoAccess3DaysFunction:
Type: AWS::Serverless::Function Type: AWS::Serverless::Function
Properties: Properties: