wip
This commit is contained in:
@@ -5,7 +5,7 @@ ORDER_TABLE: str = os.getenv('ORDER_TABLE') # type: ignore
|
||||
COURSE_TABLE: str = os.getenv('COURSE_TABLE') # type: ignore
|
||||
ENROLLMENT_TABLE: str = os.getenv('ENROLLMENT_TABLE') # type: ignore
|
||||
|
||||
# Post-migration: remove the lines below
|
||||
# Post-migration: Remove the following lines
|
||||
if os.getenv('AWS_LAMBDA_FUNCTION_NAME'):
|
||||
SQLITE_DATABASE = 'courses_export_2025-06-18_110214.db'
|
||||
else:
|
||||
|
||||
@@ -64,4 +64,6 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
},
|
||||
)
|
||||
|
||||
logger.info('IDs updated')
|
||||
|
||||
return True
|
||||
|
||||
@@ -32,7 +32,7 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
|
||||
result = enrollment_layer.collection.query(
|
||||
KeyPair(
|
||||
# Post-migration: uncomment the following line
|
||||
# Post-migration: Uncomment the following line
|
||||
# ComposeKey(tenant_id, prefix='slots#org'),
|
||||
ComposeKey(tenant_id, prefix='vacancies'),
|
||||
order_id,
|
||||
@@ -45,10 +45,12 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
for pair in result['items']:
|
||||
batch.delete_item(
|
||||
Key={
|
||||
# Post-migration: rename `vacancies` to `slots#org`
|
||||
# Post-migration: Rename `vacancies` to `slots#org`
|
||||
'id': {'S': ComposeKey(pair['id'], prefix='vacancies')},
|
||||
'sk': {'S': pair['sk']},
|
||||
}
|
||||
)
|
||||
|
||||
logger.info('Slots deleted')
|
||||
|
||||
return True
|
||||
|
||||
@@ -6,6 +6,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,
|
||||
)
|
||||
@@ -41,7 +42,23 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
)
|
||||
except Exception:
|
||||
logger.info('Failed to update status to EXPIRED', order_id=new_image['id'])
|
||||
order_layer.put_item(
|
||||
item={
|
||||
'id': new_image['id'],
|
||||
'sk': ComposeKey('failed', prefix=new_image['sk']),
|
||||
'created_at': now_,
|
||||
}
|
||||
)
|
||||
|
||||
return False
|
||||
else:
|
||||
logger.info('Status set to EXPIRED', order_id=new_image['id'])
|
||||
order_layer.put_item(
|
||||
item={
|
||||
'id': new_image['id'],
|
||||
'sk': ComposeKey('completed', prefix=new_image['sk']),
|
||||
'created_at': now_,
|
||||
}
|
||||
)
|
||||
|
||||
return True
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import json
|
||||
import sqlite3
|
||||
from decimal import ROUND_HALF_UP, Decimal
|
||||
|
||||
from aws_lambda_powertools import Logger
|
||||
from aws_lambda_powertools.utilities.data_classes import (
|
||||
@@ -33,9 +34,15 @@ def lambda_handler(event: EventBridgeEvent, context: LambdaContext) -> bool:
|
||||
|
||||
for item in items:
|
||||
course = _get_course(item['id'])
|
||||
unit_price = Decimal(item['unit_price'])
|
||||
|
||||
new_items.append(
|
||||
item
|
||||
| {
|
||||
'unit_price': unit_price.quantize(
|
||||
Decimal('0.01'), rounding=ROUND_HALF_UP
|
||||
)
|
||||
}
|
||||
| (
|
||||
{
|
||||
'id': course.get('metadata__betaeducacao_id'),
|
||||
|
||||
@@ -21,11 +21,14 @@ def test_schedule_expired(
|
||||
}
|
||||
}
|
||||
|
||||
assert app.lambda_handler(event, lambda_context)
|
||||
assert {
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
expected = {
|
||||
'sk': 'schedules#set_as_expired',
|
||||
'ttl': Decimal('1751715285'),
|
||||
'id': '123',
|
||||
} == dynamodb_persistence_layer.get_item(
|
||||
}
|
||||
r = dynamodb_persistence_layer.get_item(
|
||||
key=KeyPair('123', 'schedules#set_as_expired')
|
||||
)
|
||||
assert r['ttl'] == expected['ttl']
|
||||
|
||||
@@ -21,8 +21,7 @@ def test_assign_tenant_cnpj(
|
||||
|
||||
assert app.lambda_handler(event, lambda_context) # type: ignore
|
||||
|
||||
result = dynamodb_persistence_layer.collection.query(
|
||||
r = dynamodb_persistence_layer.collection.query(
|
||||
PartitionKey('9omWNKymwU5U4aeun6mWzZ')
|
||||
)
|
||||
|
||||
assert 3 == len(result['items'])
|
||||
assert 2 == len(r['items'])
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "metadata#payment_policy"}, "due_days": {"N": "90"}}
|
||||
{"id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}, "sk": {"S": "metadata#billing_policy"}, "billing_day": {"N": "1"}, "payment_method": {"S": "PIX"}}
|
||||
{"id": {"S": "9omWNKymwU5U4aeun6mWzZ"}, "sk": {"S": "0"}, "total": {"N": "398"}, "status": {"S": "PENDING"}, "payment_method": {"S": "MANUAL"}, "tenant": {"S": "cJtK9SsnJhKPyxESe7g3DG"}}
|
||||
{"id": {"S": "9omWNKymwU5U4aeun6mWzZ"}, "sk": {"S": "0"}, "total": {"N": "398"}, "status": {"S": "PENDING"}, "payment_method": {"S": "MANUAL"}, "tenant": {"S": "cJtK9SsnJhKPyxESe7g3DG"}}
|
||||
{"id": {"S": "cnpj"}, "sk": {"S": "15608435000190"}, "user_id": {"S": "cJtK9SsnJhKPyxESe7g3DG"}}
|
||||
{"id": {"S": "email"}, "sk": {"S": "sergio@somosbeta.com.br"}, "user_id": {"S": "5OxmMjL-ujoR5IMGegQz"}}
|
||||
{"id": {"S": "5OxmMjL-ujoR5IMGegQz"}, "sk": {"S": "0"}, "name": {"S": "Sérgio R Siqueira"}}
|
||||
|
||||
Reference in New Issue
Block a user