mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-13 04:45:19 +00:00
wip: notes
This commit is contained in:
parent
93d27b84d4
commit
30bd4a2910
4 changed files with 23 additions and 23 deletions
|
|
@ -74,7 +74,7 @@ class NoteUserResponse(NoteModel):
|
|||
|
||||
|
||||
class NoteTable:
|
||||
def insert_new_note(
|
||||
async def insert_new_note(
|
||||
self,
|
||||
form_data: NoteForm,
|
||||
user_id: str,
|
||||
|
|
@ -92,8 +92,8 @@ class NoteTable:
|
|||
|
||||
new_note = Note(**note.model_dump())
|
||||
|
||||
db.add(new_note)
|
||||
db.commit()
|
||||
await db.add(new_note)
|
||||
await db.commit()
|
||||
return note
|
||||
|
||||
async def get_notes(self) -> list[NoteModel]:
|
||||
|
|
@ -112,16 +112,16 @@ class NoteTable:
|
|||
or await has_access(user_id, permission, note.access_control)
|
||||
]
|
||||
|
||||
def get_note_by_id(self, id: str) -> Optional[NoteModel]:
|
||||
async def get_note_by_id(self, id: str) -> Optional[NoteModel]:
|
||||
async with get_db() as db:
|
||||
note = db.query(Note).filter(Note.id == id).first()
|
||||
note = await db.query(Note).filter(Note.id == id).first()
|
||||
return NoteModel.model_validate(note) if note else None
|
||||
|
||||
def update_note_by_id(
|
||||
async def update_note_by_id(
|
||||
self, id: str, form_data: NoteUpdateForm
|
||||
) -> Optional[NoteModel]:
|
||||
async with get_db() as db:
|
||||
note = db.query(Note).filter(Note.id == id).first()
|
||||
note = await db.query(Note).filter(Note.id == id).first()
|
||||
if not note:
|
||||
return None
|
||||
|
||||
|
|
@ -139,13 +139,13 @@ class NoteTable:
|
|||
|
||||
note.updated_at = int(time.time_ns())
|
||||
|
||||
db.commit()
|
||||
await db.commit()
|
||||
return NoteModel.model_validate(note) if note else None
|
||||
|
||||
def delete_note_by_id(self, id: str):
|
||||
async def delete_note_by_id(self, id: str):
|
||||
async with get_db() as db:
|
||||
db.query(Note).filter(Note.id == id).delete()
|
||||
db.commit()
|
||||
await db.query(Note).filter(Note.id == id).delete()
|
||||
await db.commit()
|
||||
return True
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -512,7 +512,7 @@ def get_sources_from_items(
|
|||
|
||||
elif item.get("type") == "note":
|
||||
# Note Attached
|
||||
note = Notes.get_note_by_id(item.get("id"))
|
||||
note = await Notes.get_note_by_id(item.get("id"))
|
||||
|
||||
if note and (
|
||||
user.role == "admin"
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ async def get_notes(request: Request, user=Depends(get_verified_user)):
|
|||
),
|
||||
}
|
||||
)
|
||||
for note in Notes.get_notes_by_user_id(user.id, "write")
|
||||
for note in await Notes.get_notes_by_user_id(user.id, "write")
|
||||
]
|
||||
|
||||
return notes
|
||||
|
|
@ -76,7 +76,7 @@ async def get_note_list(request: Request, user=Depends(get_verified_user)):
|
|||
|
||||
notes = [
|
||||
NoteTitleIdResponse(**note.model_dump())
|
||||
for note in Notes.get_notes_by_user_id(user.id, "write")
|
||||
for note in await Notes.get_notes_by_user_id(user.id, "write")
|
||||
]
|
||||
|
||||
return notes
|
||||
|
|
@ -101,7 +101,7 @@ async def create_new_note(
|
|||
)
|
||||
|
||||
try:
|
||||
note = Notes.insert_new_note(form_data, user.id)
|
||||
note = await Notes.insert_new_note(form_data, user.id)
|
||||
return note
|
||||
except Exception as e:
|
||||
log.exception(e)
|
||||
|
|
@ -125,7 +125,7 @@ async def get_note_by_id(request: Request, id: str, user=Depends(get_verified_us
|
|||
detail=ERROR_MESSAGES.UNAUTHORIZED,
|
||||
)
|
||||
|
||||
note = Notes.get_note_by_id(id)
|
||||
note = await Notes.get_note_by_id(id)
|
||||
if not note:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND, detail=ERROR_MESSAGES.NOT_FOUND
|
||||
|
|
@ -163,7 +163,7 @@ async def update_note_by_id(
|
|||
detail=ERROR_MESSAGES.UNAUTHORIZED,
|
||||
)
|
||||
|
||||
note = Notes.get_note_by_id(id)
|
||||
note = await Notes.get_note_by_id(id)
|
||||
if not note:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND, detail=ERROR_MESSAGES.NOT_FOUND
|
||||
|
|
@ -180,7 +180,7 @@ async def update_note_by_id(
|
|||
)
|
||||
|
||||
try:
|
||||
note = Notes.update_note_by_id(id, form_data)
|
||||
note = await Notes.update_note_by_id(id, form_data)
|
||||
await sio.emit(
|
||||
"note-events",
|
||||
note.model_dump(),
|
||||
|
|
@ -210,7 +210,7 @@ async def delete_note_by_id(request: Request, id: str, user=Depends(get_verified
|
|||
detail=ERROR_MESSAGES.UNAUTHORIZED,
|
||||
)
|
||||
|
||||
note = Notes.get_note_by_id(id)
|
||||
note = await Notes.get_note_by_id(id)
|
||||
if not note:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND, detail=ERROR_MESSAGES.NOT_FOUND
|
||||
|
|
@ -227,7 +227,7 @@ async def delete_note_by_id(request: Request, id: str, user=Depends(get_verified
|
|||
)
|
||||
|
||||
try:
|
||||
note = Notes.delete_note_by_id(id)
|
||||
note = await Notes.delete_note_by_id(id)
|
||||
return True
|
||||
except Exception as e:
|
||||
log.exception(e)
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ async def join_note(sid, data):
|
|||
if not user:
|
||||
return
|
||||
|
||||
note = Notes.get_note_by_id(data["note_id"])
|
||||
note = await Notes.get_note_by_id(data["note_id"])
|
||||
if not note:
|
||||
log.error(f"Note {data['note_id']} not found for user {user.id}")
|
||||
return
|
||||
|
|
@ -394,7 +394,7 @@ async def ydoc_document_join(sid, data):
|
|||
|
||||
if document_id.startswith("note:"):
|
||||
note_id = document_id.split(":")[1]
|
||||
note = Notes.get_note_by_id(note_id)
|
||||
note = await Notes.get_note_by_id(note_id)
|
||||
if not note:
|
||||
log.error(f"Note {note_id} not found")
|
||||
return
|
||||
|
|
@ -464,7 +464,7 @@ async def ydoc_document_join(sid, data):
|
|||
async def document_save_handler(document_id, data, user):
|
||||
if document_id.startswith("note:"):
|
||||
note_id = document_id.split(":")[1]
|
||||
note = Notes.get_note_by_id(note_id)
|
||||
note = await Notes.get_note_by_id(note_id)
|
||||
if not note:
|
||||
log.error(f"Note {note_id} not found")
|
||||
return
|
||||
|
|
|
|||
Loading…
Reference in a new issue