diff --git a/app/api/services/file_upload.py b/app/api/services/file_upload.py index bafc59f..3c342ea 100644 --- a/app/api/services/file_upload.py +++ b/app/api/services/file_upload.py @@ -113,14 +113,16 @@ class FileUploadService(BaseService): save_file_props.member_uid = member_uid save_file_props.filename = filename save_file_props.save_filename = save_filename - save_file_props.file_group = "WEBSITE" + save_file_props.file_group = "PROFILE" save_file_props.member_id = member_id save_file_props.file_size = 0 save_file_props.file_type = filename.rsplit('.', 1)[1].lower() - save_result = MembersWebfiles.create_file_profile(save_file_props) + save_result, file_uid = MembersWebfiles.create_file_profile(save_file_props) logger.info(f"After Insert Members File Data {save_result} ") + Members.set_member_profile_picture(str(member_uid), str(file_uid)) + else: logger.info(f"'{final_save_path}' was not found as a file in '{final_save_path}'") @@ -135,7 +137,6 @@ class FileUploadService(BaseService): logger.error(f"An error occurred while uploading file: {str(e)}", exc_info=True) return jsonify({"message": "Internal Server Error"}), 500 - @staticmethod def process_file_upload(upload_type: str, file, member_uid): timestamp_integer = int(time.time()) @@ -186,7 +187,7 @@ class FileUploadService(BaseService): save_file_props.file_size = 0 save_file_props.file_type = filename.rsplit('.', 1)[1].lower() - save_result = MembersWebfiles.create_file_profile(save_file_props) + save_result, file_uid = MembersWebfiles.create_file_profile(save_file_props) logger.info(f"After Insert Members File Data {save_result} ") else: diff --git a/app/models/members.py b/app/models/members.py index 59e471a..3f6d8a3 100644 --- a/app/models/members.py +++ b/app/models/members.py @@ -95,6 +95,17 @@ class Members(db.Model): member.profile_completed = datetime.now(timezone.utc) return member.profile_completed + @classmethod + def set_member_profile_picture(cls, uid, picture_uid): + member = cls.query.filter_by(uid=str(uid)).first() + + if not member: + logger.info(f"User UID = {uid} found") + raise ValueError(f"Member with UID {uid} does not exist.") + + member.profile_picture = picture_uid.str() + return member.profile_picture + @classmethod def set_member_update_profile(cls, uid, profile_data): member = cls.query.filter_by(uid=str(uid)).first() diff --git a/app/models/members_webfiles.py b/app/models/members_webfiles.py index 2b9e43c..84d786d 100644 --- a/app/models/members_webfiles.py +++ b/app/models/members_webfiles.py @@ -66,7 +66,7 @@ class MembersWebfiles(db.Model): save_result = { 'file_uid': file_uid } - return save_result + return save_result, file_uid @classmethod def get_member_webfiles_by_member_id(cls, member_id): @@ -77,7 +77,7 @@ class MembersWebfiles(db.Model): return member_webfile @classmethod - def get_member_webfiles_by_member_file_uid(cls, member_id , file_uid): + def get_member_webfiles_by_member_file_uid(cls, member_id, file_uid): member_webfile = cls.query.filter_by(member_id=str(member_id), uid=str(file_uid)).first() if not member_webfile: