fix billing

This commit is contained in:
2025-08-27 22:17:33 -03:00
parent b3a4b48fe5
commit 83c97f409b
12 changed files with 129 additions and 45 deletions

View File

@@ -211,7 +211,7 @@ def set_status_as_canceled(
id: str,
*,
lock_hash: str | None = None,
author: Author,
created_by: Author,
course: Course | None = None,
vacancy_key: KeyPair | None = None,
persistence_layer: DynamoDBPersistenceLayer,
@@ -235,25 +235,30 @@ def set_status_as_canceled(
transact.put(
item={
'id': id,
'sk': 'canceled',
'author': author,
'sk': 'CANCELED',
'canceled_by': created_by,
'canceled_at': now_,
},
)
transact.delete(
key=KeyPair(id, 'cancel_policy'),
key=KeyPair(id, 'CANCEL_POLICY'),
cond_expr='attribute_exists(sk)',
)
# Remove schedules lifecycle events, referencies and locks
transact.delete(key=KeyPair(id, LifecycleEvents.ARCHIVE_IT))
transact.delete(key=KeyPair(id, LifecycleEvents.NO_ACTIVITY))
transact.delete(key=KeyPair(id, LifecycleEvents.ACCESS_PERIOD_ENDS))
transact.delete(key=KeyPair(id, LifecycleEvents.DOES_NOT_ACCESS))
transact.delete(key=KeyPair(id, 'SCHEDULE#REMINDER_NO_ACCESS_AFTER_3_DAYS'))
transact.delete(key=KeyPair(id, 'SCHEDULE#REMINDER_NO_ACTIVITY_AFTER_7_DAYS'))
transact.delete(
key=KeyPair(id, 'SCHEDULE#REMINDER_ACCESS_PERIOD_BEFORE_30_DAYS')
)
transact.delete(
key=KeyPair(id, 'SCHEDULE#REMINDER_CERT_EXPIRATION_BEFORE_30_DAYS')
)
transact.delete(key=KeyPair(id, 'SCHEDULE#SET_AS_EXPIRED'))
transact.delete(key=KeyPair(id, 'parent_vacancy'))
if lock_hash:
transact.delete(key=KeyPair(id, 'lock'))
transact.delete(key=KeyPair('lock', lock_hash))
transact.delete(key=KeyPair(id, 'LOCK'))
transact.delete(key=KeyPair('LOCK', lock_hash))
if vacancy_key and course:
vacancy_pk, vacancy_sk = vacancy_key.values()