accout profile

This commit is contained in:
CHIEFSOFT\ameye
2025-09-08 10:50:28 -04:00
parent aa70994148
commit 4b82f5a9d4
2 changed files with 59 additions and 0 deletions
+7
View File
@@ -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()
+52
View File
@@ -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)