add draft
This commit is contained in:
@@ -47,6 +47,7 @@ class Course(BaseModel):
|
|||||||
name: str
|
name: str
|
||||||
access_period: int
|
access_period: int
|
||||||
cert: Cert
|
cert: Cert
|
||||||
|
draft: bool = False
|
||||||
rawfile: bytes | None = None
|
rawfile: bytes | None = None
|
||||||
|
|
||||||
|
|
||||||
@@ -77,8 +78,11 @@ def edit_course(course_id: str):
|
|||||||
with dyn.transact_writer() as transact:
|
with dyn.transact_writer() as transact:
|
||||||
transact.update(
|
transact.update(
|
||||||
key=KeyPair(str(course.id), '0'),
|
key=KeyPair(str(course.id), '0'),
|
||||||
update_expr='SET #name = :name, access_period = :access_period, \
|
update_expr='SET #name = :name, \
|
||||||
cert = :cert, updated_at = :updated_at',
|
access_period = :access_period, \
|
||||||
|
cert = :cert, \
|
||||||
|
draft = :draft, \
|
||||||
|
updated_at = :updated_at',
|
||||||
expr_attr_names={
|
expr_attr_names={
|
||||||
'#name': 'name',
|
'#name': 'name',
|
||||||
},
|
},
|
||||||
@@ -86,6 +90,7 @@ def edit_course(course_id: str):
|
|||||||
':name': course.name,
|
':name': course.name,
|
||||||
':cert': course.cert.model_dump(),
|
':cert': course.cert.model_dump(),
|
||||||
':access_period': course.access_period,
|
':access_period': course.access_period,
|
||||||
|
':draft': course.draft,
|
||||||
':updated_at': now_,
|
':updated_at': now_,
|
||||||
},
|
},
|
||||||
cond_expr='attribute_exists(sk)',
|
cond_expr='attribute_exists(sk)',
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import time
|
|
||||||
|
|
||||||
from aws_lambda_powertools import Logger
|
from aws_lambda_powertools import Logger
|
||||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||||
from aws_lambda_powertools.event_handler.exceptions import (
|
from aws_lambda_powertools.event_handler.exceptions import (
|
||||||
@@ -22,7 +20,6 @@ dyn = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
|
|||||||
|
|
||||||
@router.get('/<user_id>')
|
@router.get('/<user_id>')
|
||||||
def get_user(user_id: str):
|
def get_user(user_id: str):
|
||||||
time.sleep(2)
|
|
||||||
return dyn.collection.get_item(
|
return dyn.collection.get_item(
|
||||||
KeyPair(user_id, '0'),
|
KeyPair(user_id, '0'),
|
||||||
exc_cls=NotFoundError,
|
exc_cls=NotFoundError,
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import time
|
|
||||||
|
|
||||||
from aws_lambda_powertools import Logger
|
from aws_lambda_powertools import Logger
|
||||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||||
@@ -14,7 +12,6 @@ dyn = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
|
|||||||
|
|
||||||
@router.get('/<user_id>/emails')
|
@router.get('/<user_id>/emails')
|
||||||
def get_emails(user_id: str):
|
def get_emails(user_id: str):
|
||||||
time.sleep(1)
|
|
||||||
start_key = router.current_event.get_query_string_value('start_key', None)
|
start_key = router.current_event.get_query_string_value('start_key', None)
|
||||||
|
|
||||||
return dyn.collection.query(
|
return dyn.collection.query(
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import time
|
|
||||||
|
|
||||||
from aws_lambda_powertools import Logger
|
from aws_lambda_powertools import Logger
|
||||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair
|
||||||
@@ -14,7 +12,6 @@ dyn = DynamoDBPersistenceLayer(USER_TABLE, dynamodb_client)
|
|||||||
|
|
||||||
@router.get('/<user_id>/orgs')
|
@router.get('/<user_id>/orgs')
|
||||||
def get_orgs(user_id: str):
|
def get_orgs(user_id: str):
|
||||||
time.sleep(1)
|
|
||||||
start_key = router.current_event.get_query_string_value('start_key', None)
|
start_key = router.current_event.get_query_string_value('start_key', None)
|
||||||
|
|
||||||
return dyn.collection.query(
|
return dyn.collection.query(
|
||||||
|
|||||||
Reference in New Issue
Block a user