68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
from flask import jsonify
|
|
|
|
from app.api.enums import KafkaMessage
|
|
from app.api.services import MyProductsService
|
|
from app.models import Members
|
|
from app.utils.logger import logger
|
|
from app.api.services.base_service import BaseService
|
|
from sqlalchemy import func, desc
|
|
from app.extensions import db
|
|
import os
|
|
from werkzeug.utils import secure_filename
|
|
|
|
|
|
class FileUploadService(BaseService):
|
|
UPLOAD_FOLDER = '/app/uploads' # '/uploads'
|
|
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
|
|
|
|
@staticmethod
|
|
def process_file_upload(upload_type: str, file, member_uid):
|
|
|
|
|
|
|
|
file_uid = "I GOT HERE "
|
|
|
|
try:
|
|
#Who is this
|
|
member_data = Members.get_member_by_uid(member_uid)
|
|
if not member_data:
|
|
return []
|
|
|
|
final_folder = f"W{member_data.member_id:010d}"
|
|
|
|
personal_data = {
|
|
"firstname": member_data.firstname,
|
|
"lastname": member_data.lastname,
|
|
"account_name": member_data.account_name,
|
|
"email": member_data.email,
|
|
"phone": member_data.phone,
|
|
"full_address": member_data.full_address,
|
|
"picture": 'https://media.mermsemr.com/media/show/merms-profile',
|
|
"country": member_data.country,
|
|
}
|
|
|
|
save_path = FileUploadService.UPLOAD_FOLDER + "/WEBSITE"
|
|
if not os.path.isdir(save_path):
|
|
os.makedirs(save_path)
|
|
|
|
logger.info(f'POST CALLED 5 {file.filename}')
|
|
save_path = FileUploadService.UPLOAD_FOLDER + "/WEBSITE/" + final_folder
|
|
if not os.path.isdir(save_path):
|
|
os.makedirs(save_path)
|
|
|
|
filename = secure_filename(file.filename)
|
|
final_save_path = os.path.join(save_path, filename)
|
|
logger.info(f'POST CALLED 6 {final_save_path}')
|
|
|
|
file.save(final_save_path)
|
|
|
|
response_data = {
|
|
"file_uid": file_uid,
|
|
}
|
|
|
|
return response_data
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred while uploading file: {str(e)}", exc_info=True)
|
|
return jsonify({"message": "Internal Server Error"}), 500
|