Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ COPY collector_manager ./collector_manager
COPY core ./core
COPY html_tag_collector ./html_tag_collector
COPY hugging_face/url_relevance ./hugging_face/url_relevance
COPY hugging_face/url_record_type_labeling ./hugging_face/url_record_type_labeling
COPY hugging_face/HuggingFaceInterface.py ./hugging_face/HuggingFaceInterface.py
COPY source_collectors ./source_collectors
COPY util ./util
Expand All @@ -28,11 +29,13 @@ COPY apply_migrations.py ./apply_migrations.py
COPY security_manager ./security_manager
COPY execute.sh ./execute.sh
COPY .project-root ./.project-root
COPY tests ./tests
COPY llm_api_logic ./llm_api_logic

# Expose the application port
EXPOSE 80

RUN chmod +x execute.sh
# Use the below for ease of local development, but remove when pushing to GitHub
# Because there is no .env file in the repository (for security reasons)
#COPY .env ./.env
COPY .env ./.env
1 change: 1 addition & 0 deletions ENV.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ Please ensure these are properly defined in a `.env` file in the root directory.
|`POSTGRES_PORT` | The port for the test database | `5432` |
|`DS_APP_SECRET_KEY`| The secret key used for decoding JWT tokens produced by the Data Sources App. Must match the secret token that is used in the Data Sources App for encoding. |`abc123`|
|`DEV`| Set to any value to run the application in development mode. |`true`|
|'DEEPSEEK_API_KEY'| The API key required for accessing the DeepSeek API. |`abc123`|
18 changes: 13 additions & 5 deletions api/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from api.routes.batch import batch_router
from api.routes.collector import collector_router
from api.routes.root import root_router
from api.routes.task import task_router
from api.routes.url import url_router
from collector_db.AsyncDatabaseClient import AsyncDatabaseClient
from collector_db.DatabaseClient import DatabaseClient
Expand Down Expand Up @@ -71,8 +72,15 @@
lifespan=lifespan
)

app.include_router(root_router)
app.include_router(collector_router)
app.include_router(batch_router)
app.include_router(annotate_router)
app.include_router(url_router)
routers = [
root_router,
collector_router,
batch_router,
annotate_router,
url_router,
task_router
]
for router in routers:
app.include_router(router)


Check warning on line 86 in api/main.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/main.py#L86 <391>

blank line at end of file
Raw output
./api/main.py:86:1: W391 blank line at end of file
49 changes: 49 additions & 0 deletions api/routes/task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
from typing import Optional

Check warning on line 1 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L1 <100>

Missing docstring in public module
Raw output
./api/routes/task.py:1:1: D100 Missing docstring in public module

from fastapi import APIRouter, Depends, Query, Path

from api.dependencies import get_async_core
from collector_db.DTOs.TaskInfo import TaskInfo
from collector_db.enums import TaskType
from core.AsyncCore import AsyncCore
from core.enums import BatchStatus
from security_manager.SecurityManager import AccessInfo, get_access_info

task_router = APIRouter(
prefix="/task",
tags=["Task"],
responses={404: {"description": "Not found"}},
)


@task_router.get("")
async def get_tasks(

Check warning on line 20 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L20 <103>

Missing docstring in public function
Raw output
./api/routes/task.py:20:1: D103 Missing docstring in public function
page: int = Query(
description="The page number",
default=1
),
task_status: Optional[BatchStatus] = Query(
description="Filter by task status",
default=None
),
task_type: Optional[TaskType] = Query(
description="Filter by task type",
default=None
),
async_core: AsyncCore = Depends(get_async_core),
access_info: AccessInfo = Depends(get_access_info)

Check warning on line 34 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L34 <100>

Unused argument 'access_info'
Raw output
./api/routes/task.py:34:9: U100 Unused argument 'access_info'
):
return await async_core.get_tasks(
page=page,
task_type=task_type,
task_status=task_status
)


@task_router.get("/{task_id}")
async def get_task_info(

Check warning on line 44 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L44 <103>

Missing docstring in public function
Raw output
./api/routes/task.py:44:1: D103 Missing docstring in public function
task_id: int = Path(description="The task id"),
async_core: AsyncCore = Depends(get_async_core),
access_info: AccessInfo = Depends(get_access_info)

Check warning on line 47 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L47 <100>

Unused argument 'access_info'
Raw output
./api/routes/task.py:47:9: U100 Unused argument 'access_info'
) -> TaskInfo:
return await async_core.get_task_info(task_id)

Check warning on line 49 in api/routes/task.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] api/routes/task.py#L49 <292>

no newline at end of file
Raw output
./api/routes/task.py:49:51: W292 no newline at end of file
Loading