Skip to content
Snippets Groups Projects
Commit a038c9e0 authored by Tim Repke's avatar Tim Repke
Browse files

refactor import handling

parent 1576bdee
No related branches found
No related tags found
1 merge request!58Master
Pipeline #1930 failed
...@@ -12,10 +12,20 @@ NACSOS_DB__PASSWORD="root" ...@@ -12,10 +12,20 @@ NACSOS_DB__PASSWORD="root"
NACSOS_DB__DATABASE="nacsos_core" NACSOS_DB__DATABASE="nacsos_core"
NACSOS_PIPES__API_URL="http://localhost:8000/api" NACSOS_PIPES__API_URL="http://localhost:8000/api"
NACSOS_PIPES__TOKEN="bfed6708-f4b6-48d9-8c81-925cd4e7f3a5" NACSOS_PIPES__TOKEN="??"
NACSOS_PIPES__USERNAME="system" NACSOS_PIPES__USERNAME="system"
NACSOS_PIPES__USER_ID="4138daf5-69b7-405b-b364-ccafaef25a01" NACSOS_PIPES__USER_ID="??"
#NACSOS_PIPES__PW="kbt2t1h1t7jb1g086755bg2x8wvbmu45kqvf7g7v5vqdbmv6g0wr14akl98406g"
#NACSOS_USERS__DEFAULT_USER="user1" NACSOS_USERS__DEFAULT_USER
NACSOS_USERS__DEFAULT_USER
\ No newline at end of file NACSOS_SERVER__OPENAPI_FILE="/openapi.json"
NACSOS_SERVER__ROOT_PATH="/nacsos-core/"
NACSOS_OA_DB__HOST="localhost"
NACSOS_OA_DB__SCHEMA="openalex"
NACSOS_OA_DB__PORT=5432
NACSOS_OA_DB__USER="openalex"
NACSOS_OA_DB__PASSWORD="password"
NACSOS_OA_DB__DATABASE="openalex"
NACSOS_OA_SOLR="http://localhost:8983/solr/openalex"
from fastapi import APIRouter, Depends from fastapi import APIRouter, Depends
from nacsos_data.models.imports import ImportModel, ImportType from nacsos_data.models.imports import ImportModel
from nacsos_data.db.crud.imports import \ from nacsos_data.db.crud.imports import \
read_import, \ read_import, \
upsert_import, \ upsert_import, \
delete_import, \ delete_import, \
read_all_imports_for_project, \ read_all_imports_for_project, \
read_item_count_for_import read_item_count_for_import
from nacsos_data.util.pipelines.imports import submit_jsonl_import_task, submit_wos_import_task from nacsos_data.util.pipelines.imports import submit_import_task
from server.data import db_engine from server.data import db_engine
from server.util.security import UserPermissionChecker, UserPermissions, InsufficientPermissions from server.util.security import UserPermissionChecker, UserPermissions, InsufficientPermissions
...@@ -59,22 +59,11 @@ async def put_import_details(import_details: ImportModel, ...@@ -59,22 +59,11 @@ async def put_import_details(import_details: ImportModel,
async def trigger_import(import_id: str, async def trigger_import(import_id: str,
permissions: UserPermissions = Depends(UserPermissionChecker('imports_edit'))): permissions: UserPermissions = Depends(UserPermissionChecker('imports_edit'))):
import_details = await read_import(import_id=import_id, engine=db_engine) import_details = await read_import(import_id=import_id, engine=db_engine)
print(import_details.__dict__)
if import_details is not None and str(import_details.project_id) == str(permissions.permissions.project_id): if import_details is not None and str(import_details.project_id) == str(permissions.permissions.project_id):
if import_details.type == ImportType.jsonl: return await submit_import_task(import_details=import_details,
return await submit_jsonl_import_task(import_id=import_id, base_url=settings.PIPES.API_URL,
base_url=settings.PIPES.API_URL, auth_token=settings.PIPES.TOKEN,
auth_token=settings.PIPES.TOKEN, engine=db_engine)
engine=db_engine)
elif import_details.type == ImportType.wos:
return await submit_wos_import_task(import_id=import_id,
base_url=settings.PIPES.API_URL,
auth_token=settings.PIPES.TOKEN,
engine=db_engine)
else:
raise NotImplementedError(f'No import trigger for "{import_details.type}" implemented yet.')
raise InsufficientPermissions('You do not have permission to edit this data import.') raise InsufficientPermissions('You do not have permission to edit this data import.')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment