add put method to kontor-api
This commit is contained in:
@@ -4,7 +4,12 @@ from fastapi import APIRouter, status, HTTPException
|
||||
from src.core.log_conf import logger
|
||||
from src.db.repository.media.actor import delete_mediaactor, import_mediaactor
|
||||
from src.db.session import SessionDep
|
||||
from src.schema.media.actor import MediaActorModel, MediaActorResponse, actor_to_response
|
||||
from src.schema.media.actor import (
|
||||
MediaActorModel,
|
||||
MediaActorResponse,
|
||||
actor_to_response,
|
||||
actor_to_model
|
||||
)
|
||||
from src.db.models.media import MediaActor
|
||||
|
||||
router = APIRouter()
|
||||
@@ -26,6 +31,23 @@ def get_actor(actor_id: str, db: SessionDep) -> MediaActorResponse:
|
||||
response = actor_to_response(media_actor)
|
||||
return response
|
||||
|
||||
@router.put("/actors/{actor_id}", response_model=MediaActorResponse)
|
||||
def update_actor(actor_id: str, db:SessionDep, info: MediaActorResponse) -> MediaActorResponse:
|
||||
"""
|
||||
Update MediaActor with given id and data.
|
||||
"""
|
||||
media_actor = db.get(MediaActor, actor_id)
|
||||
if not media_actor:
|
||||
raise HTTPException(status_code=404, detail="MediaActor could not be found")
|
||||
actor_to_model(info, media_actor)
|
||||
db.add(media_actor)
|
||||
db.commit()
|
||||
mediaactor = db.get(MediaActor, actor_id)
|
||||
if not mediaactor:
|
||||
raise HTTPException(status_code=404, detail="MediaActor could not be found")
|
||||
response = actor_to_response(mediaactor)
|
||||
return response
|
||||
|
||||
@router.delete("/actors/{actor_id}", status_code=status.HTTP_204_NO_CONTENT)
|
||||
def delete_actor(actor_id: str, db: SessionDep):
|
||||
media_actor = db.get(MediaActor, actor_id)
|
||||
|
||||
Reference in New Issue
Block a user