From 4b82f5a9d4a34485e30db418319ab5de8ba02f8a Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 8 Sep 2025 10:50:28 -0400 Subject: [PATCH] accout profile --- app/api/routes/routes.py | 7 +++++ app/api/services/account.py | 52 +++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/app/api/routes/routes.py b/app/api/routes/routes.py index 99b6932..b122baa 100644 --- a/app/api/routes/routes.py +++ b/app/api/routes/routes.py @@ -113,6 +113,13 @@ def merms_account(): response = AccountService.process_request(data) return response +@api.route("/panel/account/profile", methods=["POST"]) +@jwt_required() +def merms_account_profile(): + data = request.get_json() + response = AccountService.process_profile_data(data) + return response + @api.route("/panel/account-bar", methods=["POST"]) @jwt_required() diff --git a/app/api/services/account.py b/app/api/services/account.py index 5659fc4..bce0362 100644 --- a/app/api/services/account.py +++ b/app/api/services/account.py @@ -384,6 +384,58 @@ class AccountService(BaseService): db.session.rollback() return ResponseHelper.internal_server_error() + @staticmethod + def process_profile_data(data): + + try: + with db.session.begin(): + + validated_data = AccountService.validate_data(data, UserSchema()) + user_token = validated_data.get('token') + uid = str(validated_data.get('uid')) + member_data = Members.get_member_by_uid(uid) + + personal_data = { + "firstname": member_data.firstname, + "lastname": member_data.lastname, + "account_name": member_data.account_name, + "phone": "911 111 1111", + "address": "linkedin.com", + "country": member_data.country, + } + + external_links = { + "facebook_url": "facebook.com", + "twitter_url": "twitter.com", + "blogger_url": "blogger.com", + "google_url": "google.com", + "linked_url": "linkedin.com", + "website_url": "www.mysite.com", + } + + profile_data = { + "personal_data": personal_data, + "external_links": external_links, + } + + return ResponseHelper.success(data=profile_data) + + except ValidationError as err: + + logger.error(f"Validation Error: {getattr(err, 'messages', str(err))}") + db.session.rollback() + return ResponseHelper.unprocessable_entity(result_description="Validation exception") + + except ValueError as err: + logger.error(f"{getattr(err, 'messages', str(err))}") + db.session.rollback() + return ResponseHelper.error(result_description=str(err)) + + except Exception as e: + logger.error(f"An error occurred: {str(e)}", exc_info=True) + db.session.rollback() + return ResponseHelper.internal_server_error() + @staticmethod def process_test_email(data): logger.info(f"Email Test Enter", exc_info=True)