update layercake version

This commit is contained in:
2025-05-28 17:52:15 -03:00
parent 42e62ec183
commit 797a325cb0
28 changed files with 692 additions and 566 deletions

View File

@@ -1,5 +1,5 @@
from layercake.dateutils import now
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, TransactItems
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
from models import Course, Org
@@ -11,25 +11,26 @@ def create_course(
persistence_layer: DynamoDBPersistenceLayer,
):
now_ = now()
transact = TransactItems(persistence_layer.table_name)
transact.put(
item={
'sk': '0',
'metadata__tenant_id': org.id,
'create_date': now_,
**course.model_dump(),
}
)
transact.put(
item={
'id': course.id,
'sk': 'metadata#tenant',
'tenant_id': f'ORG#{org.id}',
'name': org.name,
'create_date': now_,
}
)
return persistence_layer.transact_write_items(transact)
with persistence_layer.transact_writer() as transact:
transact.put(
item={
'sk': '0',
'metadata__tenant_id': org.id,
'create_date': now_,
**course.model_dump(),
}
)
transact.put(
item={
'id': course.id,
'sk': 'metadata#tenant',
'tenant_id': f'ORG#{org.id}',
'name': org.name,
'create_date': now_,
}
)
return True
def update_course(
@@ -39,20 +40,20 @@ def update_course(
persistence_layer: DynamoDBPersistenceLayer,
):
now_ = now()
transact = TransactItems(persistence_layer.table_name)
transact.update(
key=KeyPair(id, '0'),
update_expr='SET #name = :name, access_period = :access_period, \
cert = :cert, update_date = :update_date',
expr_attr_names={
'#name': 'name',
},
expr_attr_values={
':name': course.name,
':cert': course.cert.model_dump() if course.cert else None,
':access_period': course.access_period,
':update_date': now_,
},
cond_expr='attribute_exists(sk)',
)
return persistence_layer.transact_write_items(transact)
with persistence_layer.transact_writer() as transact:
transact.update(
key=KeyPair(id, '0'),
update_expr='SET #name = :name, access_period = :access_period, \
cert = :cert, update_date = :update_date',
expr_attr_names={
'#name': 'name',
},
expr_attr_values={
':name': course.name,
':cert': course.cert.model_dump() if course.cert else None,
':access_period': course.access_period,
':update_date': now_,
},
cond_expr='attribute_exists(sk)',
)
return True