Fix model

This commit is contained in:
CHIEFSOFT\ameye
2025-07-21 21:54:11 -04:00
parent 2d0898e61b
commit d545e689fd
6 changed files with 29 additions and 10 deletions
+3
View File
@@ -32,6 +32,9 @@ class BaseService:
"last_name": lastname, "last_name": lastname,
"pending_id": pending_id, "pending_id": pending_id,
} }
logger.info(f"Send Email DATA ***** {pending_member}")
jwt_part = jwt.encode( jwt_part = jwt.encode(
{"user": pending_member, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=3330)}, {"user": pending_member, 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=3330)},
BaseService.JWT_SECRET_KEY, algorithm='HS256' BaseService.JWT_SECRET_KEY, algorithm='HS256'
+1 -1
View File
@@ -37,7 +37,7 @@ class LoginService(BaseService):
reset_data = PasswordReset.create_reset(username=username) reset_data = PasswordReset.create_reset(username=username)
BaseService.send_resetpass_mail(member.email, member.uid, member.id, "FF","LL") #pending_uid, pending_id, firstname, lastname BaseService.send_resetpass_mail(member.email, str(member.uid), member.id, "FF","LL") #pending_uid, pending_id, firstname, lastname
response_data = { response_data = {
+3 -4
View File
@@ -1,12 +1,10 @@
from flask import jsonify from flask import jsonify
from app.utils.logger import logger from app.utils.logger import logger
from app.api.services.base_service import BaseService from app.api.services.base_service import BaseService
from app.models.transaction import Transaction
from app.models.loan import Loan
from sqlalchemy import func, desc from sqlalchemy import func, desc
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from app.extensions import db from app.extensions import db
from app.api.enums.transaction_type import TransactionType from app.models import MembersProducts, Products, Members, ProductsDetails, ProductsDetails, ProvisionActions
class OfficeDashboardService(BaseService): class OfficeDashboardService(BaseService):
@@ -101,8 +99,9 @@ class OfficeDashboardService(BaseService):
# }, # },
# "recent_transactions": recent_transactions_data # "recent_transactions": recent_transactions_data
# } # }
subscription = MembersProducts.get_dash_recent_subscription(15)
dashboard_data = { dashboard_data = {
"loans": { "loans": {
"currency": "Naira", "currency": "Naira",
"currency_text": "\u20a6", "currency_text": "\u20a6",
+1 -1
View File
@@ -25,7 +25,7 @@ class Members(db.Model):
def to_dict(self): def to_dict(self):
return { return {
"id": self.id, "id": self.id,
"uid": self.uid, "uid": str(self.uid),
"username": self.account_id, "username": self.account_id,
"account_id": self.username, "account_id": self.username,
"password": self.password, "password": self.password,
+7
View File
@@ -49,6 +49,13 @@ class MembersProducts(db.Model):
return None return None
return member_products return member_products
@classmethod
def get_dash_recent_subscription(cls, limit):
member_product = cls.query.limit(limit).all()
if not member_product:
return None
return member_product
@classmethod @classmethod
def get_member_product_by_product_member_id(cls, member_id, product_id): def get_member_product_by_product_member_id(cls, member_id, product_id):
member_product = cls.query.filter_by(member_id=str(member_id), product_id=str(product_id)).first() member_product = cls.query.filter_by(member_id=str(member_id), product_id=str(product_id)).first()
+14 -4
View File
@@ -10,7 +10,7 @@ from app.utils.logger import logger
class PasswordReset(db.Model): class PasswordReset(db.Model):
__tablename__ = 'password_reset' __tablename__ = 'password_reset'
id = db.Column(db.String, primary_key=True) id = db.Column(db.Integer, primary_key=True, autoincrement=True)
uid = db.Column(db.String(150), nullable=False) uid = db.Column(db.String(150), nullable=False)
username = db.Column(db.String(35), nullable=False) username = db.Column(db.String(35), nullable=False)
status = db.Column(db.Integer, nullable=True, default=0) status = db.Column(db.Integer, nullable=True, default=0)
@@ -30,11 +30,21 @@ class PasswordReset(db.Model):
@classmethod @classmethod
def create_reset(cls, username): def create_reset(cls, username):
logger.info(f"Enter to reset the password********** "+username) logger.info(f"Enter to reset the password********** "+username)
uid_val = str(uuid.uuid4())
logger.info(f"Enter to reset the password UID ***** "+uid_val)
data1 ={
'uid' :uid_val,
'username' : username,
'status' : 0,
'added' : datetime.now(timezone.utc),
'updated' : datetime.now(timezone.utc)
}
logger.info(f"Enter to reset the password DATA ***** {data1}")
pass_reset = cls( pass_reset = cls(
uid=str(uuid.uuid4()), uid=uid_val,
username=username, username=username,
status=0,
added=datetime.now(timezone.utc), added=datetime.now(timezone.utc),
updated=datetime.now(timezone.utc) updated=datetime.now(timezone.utc)
) )
@@ -42,7 +52,7 @@ class PasswordReset(db.Model):
logger.info(f"About to reset the password**********") logger.info(f"About to reset the password**********")
try: try:
db.session.add(pass_reset) db.session.add(pass_reset)
# db.session.flush() db.session.flush()
logger.info(f"After Insert to reset the password**********") logger.info(f"After Insert to reset the password**********")
except IntegrityError as err: except IntegrityError as err:
raise ValueError(f"****** ERROR Database integrity error: {err}") raise ValueError(f"****** ERROR Database integrity error: {err}")