Skip to content
Snippets Groups Projects
Commit f139ed69 authored by blenzi's avatar blenzi
Browse files

GET collections, documents, queries: order by creation or modification date

parent c3722e50
Branches
Tags
No related merge requests found
......@@ -211,7 +211,8 @@ async def process_message(
async def get_chat_queries(session: SessionDep, current_user: CurrentUser) -> Any:
if current_user.role != UserRole.superadmin:
raise HTTPException(status_code=403, detail="Only superadmin can access this route")
return paginate(session, select(ChatQuery))
statement = select(ChatQuery).order_by(ChatQuery.updated_at.desc()) # type: ignore[attr-defined]
return paginate(session, statement)
@router.post("/query", response_description="Create query, needed to generated a response", response_model=ChatQuery)
......
......@@ -52,7 +52,7 @@ def read_collections(session: SessionDep, current_user: CurrentUser) -> Any:
and_(Collection.type == CollectionType.restricted, Collection.group_id == current_user.group_id), # type: ignore[arg-type]
)
)
return paginate(session, statement)
return paginate(session, statement.order_by(Collection.created_at.desc())) # type: ignore[attr-defined]
@router.get("/{id}", response_model=CollectionPublic)
......
......@@ -5,9 +5,12 @@ from typing import Any, cast
from celery.result import AsyncResult
from fastapi import APIRouter, HTTPException, status
from fastapi.responses import FileResponse, Response
from fastapi_pagination import Page
from fastapi_pagination.ext.sqlalchemy import paginate
from sqlmodel import select
from app import crud
from app.api.deps import CurrentUser, CurrentUserWithQuery, SessionDep
from app.api.deps import CurrentSuperAdmin, CurrentUser, CurrentUserWithQuery, SessionDep
from app.core.celery import celery_app
from app.core.config import settings
from app.core.qdrant import client as qdrant_client
......@@ -27,14 +30,14 @@ from app.utils import create_document_metadata, user_permissions
router = APIRouter()
# Note used for now. Since documents are linked to collection we use /collections/{id}/documents
# @router.get("/", response_model=Page[DocumentPublic])
# def read_documents(session: SessionDep, current_user: CurrentSuperAdmin) -> Any:
# """
# Retrieve documents.
# """
# with user_permissions(current_user):
# return paginate(session, select(Document))
# For superadmin to quickly check the last documents accessed
@router.get("/", response_model=Page[DocumentPublic])
def read_documents(session: SessionDep, current_user: CurrentSuperAdmin) -> Any:
"""
Retrieve documents.
"""
with user_permissions(current_user):
return paginate(session, select(Document).order_by(Document.updated_at.desc())) # type: ignore[attr-defined]
# Not used for now. Can be helpfull when importing document which already has a url
......
......@@ -65,11 +65,11 @@ def test_chat_queries(client: TestClient, superuser_token_headers: dict[str, str
content = response.json()
assert len(content["items"]) == 2
items = content["items"]
assert items[0]["query"] == query_1["query"]
assert items[0]["user_id"] == str(authent_user_1.user.id)
assert items[1]["query"] == query_1["query"]
assert items[1]["user_id"] == str(authent_user_1.user.id)
assert "history" not in items[0]
assert items[1]["query"] == query_2["query"]
assert items[1]["user_id"] == str(authent_user_2.user.id)
assert items[0]["query"] == query_2["query"]
assert items[0]["user_id"] == str(authent_user_2.user.id)
def test_chat_history() -> None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment