diff --git a/SQL/site_data.sql b/SQL/site_data.sql index 64bd041..33bad3f 100644 --- a/SQL/site_data.sql +++ b/SQL/site_data.sql @@ -1088,6 +1088,7 @@ CREATE TABLE members_webfiles ( +ALTER TABLE members ADD profile_picture VARCHAR(100); diff --git a/app/api/services/reports.py b/app/api/services/reports.py index 36daba8..0c5d6b4 100644 --- a/app/api/services/reports.py +++ b/app/api/services/reports.py @@ -9,7 +9,7 @@ from marshmallow import ValidationError # from app.api.enums import TransactionType # from app.api.integrations import SimbrellaIntegration from app.extensions import db -from app.models import MembersProducts, Products, Members +from app.models import MembersProducts, Products, Members, Payments, MembersActions # from app.api.services.offer_analysis import OfferAnalysis from app.api.helpers.response_helper import ResponseHelper @@ -89,25 +89,74 @@ class ReportService(BaseService): member_id = member_data.id response_data =[] - if report_type == "Payment": + if report_type == "PAYMENT": + member_payments = Payments.get_member_payments_by_member_id(member_id) + + member_payments_data = [] + + for t in member_payments: + member_payments_data.append({ + 'id': t.id, + 'uid': t.uid, + 'option_name': t.option_name, + 'option_type': t.option_type, + 'payment_uid': t.payment_uid, + 'amount': round(t.amount * 0.01, 2), + 'currency': '$', + 'status': t.status, + 'added': t.added + }) + response_data = { "last_update": datetime.datetime.utcnow(), "member_id": member_id, - "payment": [], + "payment": member_payments_data, } - if report_type == "Product": + if report_type == "PRODUCT": + sub_status = [] + + member_subs = MembersProducts.get_member_productlist_by_member_id(member_id) + for tt in member_subs: + sub_status.append({ + 'product_id': tt.product_id, + 'product_name': "Name for - " + tt.product_id, + 'added': tt.added, + 'subscription_uid': tt.uid, + 'status': tt.status, + 'internal_url': tt.internal_url, + 'dns_group': tt.dns_group, + }) + logger.info(f"Member Product Sub Data ****** *****: {sub_status}") + + response_data = { "last_update": datetime.datetime.utcnow(), "member_id": member_id, - "product": [], + "product": sub_status, } - if report_type == "System": + if report_type == "SYSTEM": + member_actions = MembersActions.get_recent_member_actions(member_id) + member_actions_data = [] + if member_actions: + for t in member_actions: + member_actions_data.append({ + 'id': t.id, + 'uid': t.uid, + 'member_id': t.member_id, + 'member_uid': t.member_uid, + 'action_label': t.action_label, + 'action_name': t.action_name, + 'status_description': t.status_description, + 'status': t.status, + 'added': t.added, + 'updated': t.updated + }) response_data = { "last_update": datetime.datetime.utcnow(), "member_id": member_id, - "system": [], + "system": member_actions_data, } return ResponseHelper.success(data=response_data)