33 lines
791 B
Python
33 lines
791 B
Python
from layercake.dateutils import now
|
|
from layercake.dynamodb import DynamoDBPersistenceLayer, TransactItems
|
|
|
|
from models import Course, Org
|
|
|
|
|
|
def create_course(
|
|
course: Course,
|
|
org: Org,
|
|
*,
|
|
persistence_layer: DynamoDBPersistenceLayer,
|
|
):
|
|
current_time = now()
|
|
transact = TransactItems(persistence_layer.table_name)
|
|
transact.put(
|
|
item={
|
|
'sk': '0',
|
|
'tenant:org_id': {org.id},
|
|
'create_date': current_time,
|
|
**course.model_dump(),
|
|
}
|
|
)
|
|
transact.put(
|
|
item={
|
|
'id': course.id,
|
|
'sk': 'tenant',
|
|
'org_id': org.id,
|
|
'name': org.name,
|
|
'create_date': current_time,
|
|
}
|
|
)
|
|
return persistence_layer.transact_write_items(transact)
|