CosmicShareMain / app /utils /validators.py
garvitcpp's picture
Upload 22 files
75c68ee verified
raw
history blame
843 Bytes
from fastapi import HTTPException
from typing import List
ALLOWED_EXTENSIONS = {'.pdf', '.doc', '.docx', '.txt', '.jpg', '.jpeg', '.png', '.gif', '.mp3', '.mp4', '.mov', '.zip', '.rar'}
MAX_FILE_SIZE = 50 * 1024 * 1024 # 10MB
def validate_file_extension(filename: str) -> bool:
import os
ext = os.path.splitext(filename)[1].lower()
if ext not in ALLOWED_EXTENSIONS:
raise HTTPException(
status_code=400,
detail=f"File extension not allowed. Allowed extensions: {', '.join(ALLOWED_EXTENSIONS)}"
)
return True
def validate_file_size(file_size: int) -> bool:
if file_size > MAX_FILE_SIZE:
raise HTTPException(
status_code=400,
detail=f"File too large. Maximum size allowed: {MAX_FILE_SIZE/1024/1024}MB"
)
return True