Skip to content

Commit

Permalink
Feat/remove unused endpoints (#191)
Browse files Browse the repository at this point in the history
* ✨feat(api): add auth to open endpoint

* ⚰️ fix(api): remove poc code

* 🔒️fix(api): remove unused vector router

* 🔒️fix(api): remove unused projects router

* 🔥fix(api): remove unused user menu item

* 🔒️fix(api): add auth user to parse docs

Remove unused parse_and_save router

* 🔒️ fix(api): add auth user to edit chat route

* 🔒️ fix(api): add auth user to llm routes
  • Loading branch information
dannil76 authored Nov 13, 2024
1 parent 2804e01 commit a2a8318
Show file tree
Hide file tree
Showing 8 changed files with 20 additions and 46 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,4 @@ jobs:
poetry install
- name: Run tests
env:
PUBLIC_KEY: ""
run: poetry run pytest -s -vv
3 changes: 1 addition & 2 deletions fai-rag-app/fai-backend/fai_backend/dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ def create_menus() -> list:
*qa_menu(user_permissions=permissions),
*document_menu_items(user_permissions=permissions),
*assistant_menu(user_permissions=permissions),
*feedback_menu_items(),
*mock_menu(user_permissions=permissions)]
*feedback_menu_items()]

def page_template_function(components: list[Any] | Any, page_title: str | None) -> list[Any]:
return page_template(
Expand Down
21 changes: 3 additions & 18 deletions fai-rag-app/fai-backend/fai_backend/documents/routes.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from tempfile import NamedTemporaryFile

from fastapi import APIRouter, Depends, Form, UploadFile
from fastapi import APIRouter, Depends, Form, Security, UploadFile

from fai_backend.collection.dependencies import get_collection_service
from fai_backend.collection.service import CollectionService
from fai_backend.config import settings
from fai_backend.dependencies import get_page_template_for_logged_in_users, get_project_user
from fai_backend.dependencies import get_authenticated_user, get_page_template_for_logged_in_users, get_project_user
from fai_backend.files.dependecies import get_file_upload_service
from fai_backend.files.file_parser import ParserFactory
from fai_backend.files.service import FileUploadService
Expand Down Expand Up @@ -152,22 +152,7 @@ async def upload_and_vectorize_handler(
)


@router.post('/documents/parse_and_save', response_model=list, response_model_exclude_none=True)
def parse_documents(
src_directory_path: str,
dest_directory_path: str,
dest_file_name: str,
file_service: FileUploadService = Depends(get_file_upload_service),
) -> list:
parsed_files = file_service.parse_files(src_directory_path)
stringify_parsed_files = [str(elem) for elem in parsed_files]

file_service.dump_list_to_json(stringify_parsed_files, dest_directory_path, dest_file_name)

return []


@router.post('/document/parse')
@router.post('/document/parse', dependencies=[Security(get_authenticated_user)])
def parse_document(
file: UploadFile
):
Expand Down
4 changes: 1 addition & 3 deletions fai-rag-app/fai-backend/fai_backend/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,10 @@ async def lifespan(_app: FastAPI):
app = FastAPI(title='FAI RAG App', redirect_slashes=True, lifespan=lifespan)
app.include_router(assistant_sse_router)
app.include_router(auth_router)
app.include_router(projects_router)
app.include_router(feedback_router)
app.include_router(qaf_router)
app.include_router(new_chat_router)
app.include_router(documents_router)
app.include_router(vector_router)
app.include_router(assistant_router)

app.middleware('http')(add_git_revision_to_request_header)
Expand All @@ -75,7 +73,7 @@ async def health_check():
return {'status': 'healthy'}


@app.get('/greet', dependencies=[Depends(authenticate_api_access)])
@app.get('/greet')
async def greet(language: str = Header(default='en')):
set_language(language)
return {'message': _('greeting', '')}
Expand Down
7 changes: 4 additions & 3 deletions fai-rag-app/fai-backend/fai_backend/new_chat/routes.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from typing import Any, Callable

from fastapi import APIRouter, Depends
from fastapi import APIRouter, Depends, Security

from fai_backend.dependencies import get_page_template_for_logged_in_users, get_project_user
from fai_backend.dependencies import get_authenticated_user, get_page_template_for_logged_in_users, get_project_user
from fai_backend.framework import components as c
from fai_backend.framework import events as e
from fai_backend.logger.route_class import APIRouter as LoggingAPIRouter
Expand Down Expand Up @@ -93,7 +93,8 @@ async def chat_edit(chat_id: str,
return await chat_history_edit_view(view, state, '/api/chat/edit')


@router.patch('/chat/edit', response_model=list, response_model_exclude_none=True)
@router.patch('/chat/edit', response_model=list, response_model_exclude_none=True,
dependencies=[Security(get_authenticated_user)])
async def chat_edit_patch(data: ChatHistoryEditPayload,
chat_state_service: ChatStateService = Depends(get_chat_state_service)) -> list:
old_state = await chat_state_service.get_state(data.chat_id)
Expand Down
8 changes: 4 additions & 4 deletions fai-rag-app/fai-backend/fai_backend/qaf/routes.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from collections.abc import Callable
from typing import Any

from fastapi import APIRouter, Depends, HTTPException
from fastapi import APIRouter, Depends, HTTPException, Security

from fai_backend.dependencies import (
get_page_template_for_logged_in_users,
get_authenticated_user, get_page_template_for_logged_in_users,
get_project_user,
)
from fai_backend.framework import components as c
Expand Down Expand Up @@ -33,7 +33,7 @@
)


@router.get('/llm-question', response_model=Any)
@router.get('/llm-question', response_model=Any, dependencies=[Security(get_authenticated_user)])
async def llm_question_endpoint(question: str):
try:
response = await ask_llm_question(question)
Expand All @@ -42,7 +42,7 @@ async def llm_question_endpoint(question: str):
raise HTTPException(status_code=500, detail=str(exception))


@router.get('/llm-raq-question', response_model=Any)
@router.get('/llm-raq-question', response_model=Any, dependencies=[Security(get_authenticated_user)])
async def llm_raq_question_endpoint(
question: str,
vector_collection_name: str,
Expand Down
13 changes: 7 additions & 6 deletions fai-rag-app/fai-backend/fai_backend/vector/routes.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from fastapi import Depends, APIRouter

from fai_backend.auth.security import authenticate_api_access
from fai_backend.files.dependecies import get_file_upload_service
from fai_backend.files.service import FileUploadService
from fai_backend.logger.route_class import APIRouter as LoggingAPIRouter
Expand All @@ -15,7 +16,7 @@
)


@router.post('/vector/create_collection', response_model=dict)
@router.post('/vector/create_collection', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def create_collection(
collection_name: str,
Expand All @@ -29,7 +30,7 @@ async def create_collection(
}


@router.post('/vector/delete_collection', response_model=dict)
@router.post('/vector/delete_collection', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def delete_collection(
collection_name: str,
Expand All @@ -43,7 +44,7 @@ async def delete_collection(
}


@router.post('/vector/add_to_collection', response_model=dict)
@router.post('/vector/add_to_collection', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def add_to_collection(
collection_name: str,
Expand All @@ -63,7 +64,7 @@ async def add_to_collection(
}


@router.get('/vector/query_collection', response_model=dict)
@router.get('/vector/query_collection', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def query_vector(
collection_name: str,
Expand All @@ -84,7 +85,7 @@ async def query_vector(
}


@router.get('/vector/list_collections', response_model=dict)
@router.get('/vector/list_collections', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def list_collections(
vector_service: VectorService = Depends(get_vector_service)
Expand All @@ -97,7 +98,7 @@ async def list_collections(
}


@router.post('/vector/vectorize_files', response_model=dict)
@router.post('/vector/vectorize_files', response_model=dict, dependencies=[Depends(authenticate_api_access)])
@handle_errors
async def vectorize_files(
directory_path: str,
Expand Down
8 changes: 0 additions & 8 deletions fai-rag-app/fai-backend/tests/test_phrase.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,11 @@
from fastapi.testclient import TestClient

from fai_backend.auth.security import authenticate_api_access
from fai_backend.main import app
from fai_backend.phrase import phrase, set_language

client = TestClient(app)


def authenticate_override():
return True


app.dependency_overrides[authenticate_api_access] = authenticate_override


def test_greeting_swedish():
response = client.get('/greet', headers={'language': 'sv'})
assert response.status_code == 200
Expand Down

0 comments on commit a2a8318

Please sign in to comment.