initial vibecoded... thing

This commit is contained in:
cyberbread-ru
2026-05-15 16:06:28 +04:00
commit 3b8451fa1c
9 changed files with 270 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
from fastapi import APIRouter, Depends, HTTPException
from app.auth import verify_api_key
from app.models import Note, NoteCreate, NoteUpdate
from app.services import NoteService
router = APIRouter(
prefix="/notes",
tags=["notes"],
dependencies=[Depends(verify_api_key)],
)
_service = NoteService()
@router.get("/", response_model=list[Note])
def get_notes():
return _service.list()
@router.get("/{note_id}", response_model=Note)
def get_note(note_id: str):
note = _service.get(note_id)
if not note:
raise HTTPException(status_code=404, detail="Note not found")
return note
@router.post("/", response_model=Note, status_code=201)
def create_note(payload: NoteCreate):
return _service.create(payload.title, payload.content)
@router.put("/{note_id}", response_model=Note)
def update_note(note_id: str, payload: NoteUpdate):
note = _service.update(note_id, payload.title, payload.content)
if not note:
raise HTTPException(status_code=404, detail="Note not found")
return note
@router.delete("/{note_id}", status_code=204)
def delete_note(note_id: str):
deleted = _service.remove(note_id)
if not deleted:
raise HTTPException(status_code=404, detail="Note not found")