mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
feat: init CourseUpdates backend CRUD
This commit is contained in:
parent
171feabe99
commit
d1a620b2e2
4 changed files with 260 additions and 2 deletions
|
|
@ -2,6 +2,11 @@ from typing import List
|
|||
from fastapi import APIRouter, Depends, UploadFile, Form, Request
|
||||
from sqlmodel import Session
|
||||
from src.core.events.database import get_db_session
|
||||
from src.db.course_updates import (
|
||||
CourseUpdateCreate,
|
||||
CourseUpdateRead,
|
||||
CourseUpdateUpdate,
|
||||
)
|
||||
from src.db.users import PublicUser
|
||||
from src.db.courses import (
|
||||
CourseCreate,
|
||||
|
|
@ -19,6 +24,7 @@ from src.services.courses.courses import (
|
|||
delete_course,
|
||||
update_course_thumbnail,
|
||||
)
|
||||
from src.services.courses.updates import create_update, delete_update, get_updates_by_course_uuid, update_update
|
||||
|
||||
|
||||
router = APIRouter()
|
||||
|
|
@ -51,7 +57,9 @@ async def api_create_course(
|
|||
learnings=learnings,
|
||||
tags=tags,
|
||||
)
|
||||
return await create_course(request, org_id, course, current_user, db_session, thumbnail)
|
||||
return await create_course(
|
||||
request, org_id, course, current_user, db_session, thumbnail
|
||||
)
|
||||
|
||||
|
||||
@router.put("/{course_uuid}/thumbnail")
|
||||
|
|
@ -145,3 +153,64 @@ async def api_delete_course(
|
|||
"""
|
||||
|
||||
return await delete_course(request, course_uuid, current_user, db_session)
|
||||
|
||||
@ router.get("/{course_uuid}/updates")
|
||||
async def api_get_course_updates(
|
||||
request: Request,
|
||||
course_uuid: str,
|
||||
db_session: Session = Depends(get_db_session),
|
||||
current_user: PublicUser = Depends(get_current_user),
|
||||
) -> List[CourseUpdateRead]:
|
||||
"""
|
||||
Get Course Updates by course_uuid
|
||||
"""
|
||||
|
||||
return await get_updates_by_course_uuid(request, course_uuid, current_user, db_session)
|
||||
|
||||
@router.post("/{course_uuid}/update")
|
||||
async def api_create_course_update(
|
||||
request: Request,
|
||||
course_uuid: str,
|
||||
update_object: CourseUpdateCreate,
|
||||
db_session: Session = Depends(get_db_session),
|
||||
current_user: PublicUser = Depends(get_current_user),
|
||||
) -> CourseUpdateRead:
|
||||
"""
|
||||
Create new Course Update
|
||||
"""
|
||||
|
||||
return await create_update(
|
||||
request, course_uuid, update_object, current_user, db_session
|
||||
)
|
||||
|
||||
@router.put("/{course_uuid}/update/{courseupdate_uuid}")
|
||||
async def api_update_course_update(
|
||||
request: Request,
|
||||
course_uuid: str,
|
||||
courseupdate_uuid: str,
|
||||
update_object: CourseUpdateUpdate,
|
||||
db_session: Session = Depends(get_db_session),
|
||||
current_user: PublicUser = Depends(get_current_user),
|
||||
) -> CourseUpdateRead:
|
||||
"""
|
||||
Update Course Update by courseupdate_uuid
|
||||
"""
|
||||
|
||||
return await update_update(
|
||||
request, courseupdate_uuid, update_object, current_user, db_session
|
||||
)
|
||||
|
||||
@router.delete("/{course_uuid}/update/{courseupdate_uuid}")
|
||||
async def api_delete_course_update(
|
||||
request: Request,
|
||||
course_uuid: str,
|
||||
courseupdate_uuid: str,
|
||||
db_session: Session = Depends(get_db_session),
|
||||
current_user: PublicUser = Depends(get_current_user),
|
||||
):
|
||||
"""
|
||||
Delete Course Update by courseupdate_uuid
|
||||
"""
|
||||
|
||||
return await delete_update(request, courseupdate_uuid, current_user, db_session)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue