Skip to content

Commit d766e7b

Browse files
committed
chore: move pre_create back into routes.py
1 parent 4067458 commit d766e7b

File tree

2 files changed

+17
-20
lines changed

2 files changed

+17
-20
lines changed

app/api/hooks/pre_create.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

app/api/hooks/routes.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44
from fastapi import APIRouter, Depends
55
from starlette.exceptions import HTTPException
6+
from werkzeug.utils import secure_filename
67

78
from app.api.hooks.metadata import ComplianceError, MetadataExtractor, get_upload_metadata
8-
from app.api.hooks.pre_create import pre_create
99
from app.api.hooks.schema.request import HookRequest
10+
from app.api.hooks.schema.response import FileInfoChanges, HookResponse
1011
from app.django_client.service import DjangoApiService
1112
from app.ingest import Ingester
1213
from app.util.app_state import get_django_api, get_metadata_extractor
@@ -25,7 +26,21 @@ async def receive_hook(
2526
):
2627
logger.info("Received hook: %s", hook_request.type)
2728
if hook_request.type == "pre-create":
28-
return await pre_create(hook_request)
29+
# read and validate request metadata
30+
metadata = get_upload_metadata(hook_request)
31+
32+
# construct updated values for the file info
33+
sanitized_filename = secure_filename(metadata.orig_file_name)
34+
upload_id = f"{metadata.video_id}"
35+
new_path = f"/upload/{upload_id}/{sanitized_filename}"
36+
37+
new_file = Path(f".{new_path}")
38+
39+
if new_file.exists():
40+
logger.warning("File already exists, deleting!: %s", new_file)
41+
new_file.unlink()
42+
43+
return HookResponse(ChangeFileInfo=FileInfoChanges(ID=upload_id, Storage={"Path": new_path}))
2944

3045
if hook_request.type == "post-finish":
3146
ingest = Ingester(archive_base_path=settings.archive_dir, django_api=django_api)

0 commit comments

Comments
 (0)