added user images partitioning

This commit is contained in:
2025-12-12 16:17:23 -05:00
parent 9b90ca12fb
commit f8d709f292
22 changed files with 91 additions and 42 deletions

View File

@@ -1,15 +1,15 @@
import os
import uuid
from io import BytesIO
from PIL import Image as PILImage, UnidentifiedImageError
from flask import Blueprint, request, jsonify, send_file
from tinydb import Query
from config.paths import get_user_image_dir
from db.db import image_db
from models.image import Image
from tinydb import Query
from PIL import Image as PILImage, UnidentifiedImageError
image_api = Blueprint('image_api', __name__)
UPLOAD_FOLDER = './resources/images'
UPLOAD_FOLDER = get_user_image_dir("user123")
ALLOWED_EXTENSIONS = {'jpg', 'jpeg', 'png'}
IMAGE_TYPE_PROFILE = 1
IMAGE_TYPE_ICON = 2
@@ -61,7 +61,7 @@ def upload():
format_extension_map = {'JPEG': '.jpg', 'PNG': '.png'}
extension = format_extension_map.get(original_format, '.png')
image_record = Image(extension=extension, permanent=perm, type=image_type)
image_record = Image(extension=extension, permanent=perm, type=image_type, user="user123")
filename = image_record.id + extension
filepath = os.path.abspath(os.path.join(UPLOAD_FOLDER, filename))
@@ -83,11 +83,11 @@ def upload():
@image_api.route('/image/request/<id>', methods=['GET'])
def request_image(id):
ImageQuery = Query()
image = image_db.get(ImageQuery.id == id)
image: Image = Image.from_dict(image_db.get(ImageQuery.id == id))
if not image:
return jsonify({'error': 'Image not found'}), 404
filename = f"{image['id']}{image['extension']}"
filepath = os.path.abspath(os.path.join(UPLOAD_FOLDER, filename))
filename = f"{image.id}{image.extension}"
filepath = os.path.abspath(os.path.join(get_user_image_dir(image.user), filename))
if not os.path.exists(filepath):
return jsonify({'error': 'File not found'}), 404
return send_file(filepath)