move seeds dir
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from layercake.dateutils import now
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, TransactItems
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, TransactItems
|
||||
|
||||
from models import Course, Org
|
||||
|
||||
@@ -7,7 +7,7 @@ from models import Course, Org
|
||||
def create_course(
|
||||
course: Course,
|
||||
org: Org,
|
||||
*,
|
||||
/,
|
||||
persistence_layer: DynamoDBPersistenceLayer,
|
||||
):
|
||||
current_time = now()
|
||||
@@ -30,3 +30,28 @@ def create_course(
|
||||
}
|
||||
)
|
||||
return persistence_layer.transact_write_items(transact)
|
||||
|
||||
|
||||
def update_course(
|
||||
id: str,
|
||||
course: Course,
|
||||
/,
|
||||
persistence_layer: DynamoDBPersistenceLayer,
|
||||
):
|
||||
current_time = now()
|
||||
transact = TransactItems(persistence_layer.table_name)
|
||||
transact.update(
|
||||
key=KeyPair(course.id, '0'), # type: ignore
|
||||
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': current_time,
|
||||
},
|
||||
cond_expr='attribute_exists(sk)',
|
||||
)
|
||||
return persistence_layer.transact_write_items(transact)
|
||||
|
||||
Reference in New Issue
Block a user