mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-12-06 21:44:13 +03:00
Ensure that a user must provide an image in an expected location (#20491)
Some checks failed
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 5 (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled
Some checks failed
CI / AMD64 Build (push) Has been cancelled
CI / ARM Build (push) Has been cancelled
CI / Jetson Jetpack 5 (push) Has been cancelled
CI / Jetson Jetpack 6 (push) Has been cancelled
CI / AMD64 Extra Build (push) Has been cancelled
CI / ARM Extra Build (push) Has been cancelled
CI / Assemble and push default build (push) Has been cancelled
* Ensure that a user must provide an image in an expected location * Use const
This commit is contained in:
parent
e0a8445bac
commit
4d582062fb
@ -8,6 +8,7 @@ from pathlib import Path
|
|||||||
import psutil
|
import psutil
|
||||||
from fastapi import APIRouter, Depends, Request
|
from fastapi import APIRouter, Depends, Request
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
from pathvalidate import sanitize_filepath
|
||||||
from peewee import DoesNotExist
|
from peewee import DoesNotExist
|
||||||
from playhouse.shortcuts import model_to_dict
|
from playhouse.shortcuts import model_to_dict
|
||||||
|
|
||||||
@ -15,7 +16,7 @@ from frigate.api.auth import require_role
|
|||||||
from frigate.api.defs.request.export_recordings_body import ExportRecordingsBody
|
from frigate.api.defs.request.export_recordings_body import ExportRecordingsBody
|
||||||
from frigate.api.defs.request.export_rename_body import ExportRenameBody
|
from frigate.api.defs.request.export_rename_body import ExportRenameBody
|
||||||
from frigate.api.defs.tags import Tags
|
from frigate.api.defs.tags import Tags
|
||||||
from frigate.const import EXPORT_DIR
|
from frigate.const import CLIPS_DIR, EXPORT_DIR
|
||||||
from frigate.models import Export, Previews, Recordings
|
from frigate.models import Export, Previews, Recordings
|
||||||
from frigate.record.export import (
|
from frigate.record.export import (
|
||||||
PlaybackFactorEnum,
|
PlaybackFactorEnum,
|
||||||
@ -54,7 +55,14 @@ def export_recording(
|
|||||||
playback_factor = body.playback
|
playback_factor = body.playback
|
||||||
playback_source = body.source
|
playback_source = body.source
|
||||||
friendly_name = body.name
|
friendly_name = body.name
|
||||||
existing_image = body.image_path
|
existing_image = sanitize_filepath(body.image_path) if body.image_path else None
|
||||||
|
|
||||||
|
# Ensure that existing_image is a valid path
|
||||||
|
if existing_image and not existing_image.startswith(CLIPS_DIR):
|
||||||
|
return JSONResponse(
|
||||||
|
content=({"success": False, "message": "Invalid image path"}),
|
||||||
|
status_code=400,
|
||||||
|
)
|
||||||
|
|
||||||
if playback_source == "recordings":
|
if playback_source == "recordings":
|
||||||
recordings_count = (
|
recordings_count = (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user