mirror of
https://github.com/cyberbread-ru/notepad-server.git
synced 2026-07-14 12:51:04 +03:00
initial vibecoded... thing
This commit is contained in:
@@ -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")
|
||||
Reference in New Issue
Block a user