diff --git a/modal_backend/routes/notes.py b/modal_backend/routes/notes.py index 4c535eb..a39144d 100644 --- a/modal_backend/routes/notes.py +++ b/modal_backend/routes/notes.py @@ -6,6 +6,7 @@ from modal_backend import settings from modal_backend.models.db import ModalStatus, Note +from modal_backend.schemas.base import StatusResponseModel from modal_backend.schemas.models import ( NoteChoiceGet, NoteChoicePost, @@ -209,3 +210,19 @@ async def update_note_status(id: int, user=Depends(UnionAuth(scopes=["modal.note """ updated_note = await NoteService.update_status(db, id=id) return NoteStatus.model_validate(updated_note) + + +@note.delete("/{id}", response_model=StatusResponseModel) +async def delete_note(id: int, user=Depends(UnionAuth(scopes=["modal.note.delete"]))) -> StatusResponseModel: + """ + Удаляет модалку по id + + Права: `["modal.note.delete"]` + + Исключение **ObjectNotFound**, если `id` не найден + """ + Note.get(session=db.session, id=id) + Note.delete(session=db.session, id=id) + return StatusResponseModel( + status="success", message="Note has been successfully deleted", ru="Модалка успешно удалена" + )