Config for URLS prod

This commit is contained in:
2026-05-02 14:15:12 -04:00
parent cef4ba0f19
commit 9ea5b872fc
4 changed files with 85 additions and 4 deletions
+1 -1
View File
@@ -748,7 +748,7 @@ def get_recent_signup_office():
def get_recent_account_office(): def get_recent_account_office():
# Call the dashboard service # Call the dashboard service
filters = {} filters = {}
result = OfficeDashboardService.get_recent_signup_data(filters) result = OfficeDashboardService.get_recent_account_data(filters)
return jsonify(result) return jsonify(result)
+54 -2
View File
@@ -7,7 +7,7 @@ from app.utils.logger import logger
from app.api.services.base_service import BaseService from app.api.services.base_service import BaseService
from sqlalchemy import func, desc from sqlalchemy import func, desc
from app.models import MembersProducts, Products, Payments, Members, CustomTemplates, ProductsTemplates, MembersProfile, \ from app.models import MembersProducts, Products, Payments, Members, CustomTemplates, ProductsTemplates, MembersProfile, \
ProductsDetails, MembersWebfiles ProductsDetails, MembersWebfiles, Signup
class OfficeDashboardService(BaseService): class OfficeDashboardService(BaseService):
@@ -622,7 +622,7 @@ class OfficeDashboardService(BaseService):
return jsonify({"message": "Internal Server Error"}), 500 return jsonify({"message": "Internal Server Error"}), 500
@staticmethod @staticmethod
def get_recent_signup_data(filters): def get_recent_account_data(filters):
try: try:
if filters is None: if filters is None:
filters = {} filters = {}
@@ -671,3 +671,55 @@ class OfficeDashboardService(BaseService):
except Exception as e: except Exception as e:
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True) logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
return jsonify({"message": "Internal Server Error"}), 500 return jsonify({"message": "Internal Server Error"}), 500
@staticmethod
def get_recent_signup_data(filters):
try:
if filters is None:
filters = {}
# Extract pagination parameters
page = int(filters.get('page', 1))
limit = int(filters.get('limit', 20))
email = filters.get('email')
firstname = filters.get('firstname')
lastname = filters.get('lastname')
# Ensure page and limit are valid
if page < 1:
page = 1
if limit < 1 or limit > 100:
limit = 20
membersList, total_count = Signup.get_all_start_signup(email, firstname, lastname, page, limit)
# Convert loans to dictionary format
member_data = []
for member in membersList:
member_data.append({
'id': member.id,
'email': member.email,
'firstname': member.firstname,
'lastname': member.lastname,
'member_uid': member.uid,
'status': member.status,
"added": member.added,
})
response_data = {
'members': member_data,
'count': 30,
'pagination': {
'total_count': total_count,
'total_pages': 1,
'current_page': page,
'limit': limit,
'has_next': page < 1,
'has_prev': page > 1
}
}
return response_data
except Exception as e:
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
return jsonify({"message": "Internal Server Error"}), 500
+4 -1
View File
@@ -3,7 +3,7 @@ from app.utils.logger import logger
from app.api.services.base_service import BaseService from app.api.services.base_service import BaseService
from marshmallow import ValidationError from marshmallow import ValidationError
from app.extensions import db from app.extensions import db
from app.models import MembersPending, Members, Country from app.models import MembersPending, Members, Country, Signup
from app.api.helpers.response_helper import ResponseHelper from app.api.helpers.response_helper import ResponseHelper
from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.security import generate_password_hash, check_password_hash
@@ -178,6 +178,9 @@ class RegisterService(BaseService):
lastname = validated_data.get('lastname') lastname = validated_data.get('lastname')
email = str(validated_data.get('email')).lower() email = str(validated_data.get('email')).lower()
# Keep a record on signup table
Signup.add_signup(firstname, lastname, email)
if RegisterService.ALLOWED_SIGNUP_EMAIL_RESUSE== '0': if RegisterService.ALLOWED_SIGNUP_EMAIL_RESUSE== '0':
logger.info(f"RegisterService.ALLOWED_SIGNUP_EMAIL_RESUSE=0") logger.info(f"RegisterService.ALLOWED_SIGNUP_EMAIL_RESUSE=0")
if Members.get_member_by_email(email) != None: if Members.get_member_by_email(email) != None:
+26
View File
@@ -59,3 +59,29 @@ class Signup(db.Model):
return signup_data return signup_data
@classmethod
def get_all_start_signup(cls, email=None, firstname=None, lastname=None, page=1, limit=20):
query = cls.query
logger.info(f"Get all customer back")
if firstname:
query = query.filter(cls.firstname == firstname)
if lastname:
query = query.filter(cls.lastname == lastname)
if email:
query = query.filter(cls.email == email)
# Order by created_at descending (newest first)
query = query.order_by(cls.added.desc())
# Get total count before pagination
total_count = query.count()
# Apply pagination
offset = (page - 1) * limit
query = query.limit(limit).offset(offset)
return query.all(), total_count