report service added
This commit is contained in:
@@ -14,7 +14,7 @@ from app.api.services import (
|
|||||||
CommonDataService,
|
CommonDataService,
|
||||||
OfficeCustomerService,
|
OfficeCustomerService,
|
||||||
GenerativesService, OfficeUsersService, OfficeTemplatesService, OfficeCountryService, WebsiteService,
|
GenerativesService, OfficeUsersService, OfficeTemplatesService, OfficeCountryService, WebsiteService,
|
||||||
FileUploadService
|
FileUploadService, ReportService
|
||||||
)
|
)
|
||||||
from app.api.services.comments import CommentsService
|
from app.api.services.comments import CommentsService
|
||||||
from app.models import Country
|
from app.models import Country
|
||||||
@@ -269,6 +269,16 @@ def get_myproduct_templates():
|
|||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
@api.route("/panel/report/topics", methods=["POST"])
|
||||||
|
@jwt_required()
|
||||||
|
def merms_report_topics():
|
||||||
|
data = request.get_json()
|
||||||
|
response = ReportService.process_report_topic_request(data)
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api.route("/panel/account/products/color-styles", methods=["POST"])
|
@api.route("/panel/account/products/color-styles", methods=["POST"])
|
||||||
# @token_required
|
# @token_required
|
||||||
def get_myproduct_colorstyles():
|
def get_myproduct_colorstyles():
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from app.api.services.common_data import CommonDataService
|
|||||||
from app.api.services.genaratives import GenerativesService
|
from app.api.services.genaratives import GenerativesService
|
||||||
from app.api.services.comments import CommentsService
|
from app.api.services.comments import CommentsService
|
||||||
from app.api.services.file_upload import FileUploadService
|
from app.api.services.file_upload import FileUploadService
|
||||||
|
from app.api.services.reports import ReportService
|
||||||
|
|
||||||
|
|
||||||
#WEBSITE
|
#WEBSITE
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
from flask import session, jsonify
|
||||||
|
# from app.models.loan import Loan
|
||||||
|
from app.utils.logger import logger
|
||||||
|
from app.api.services.base_service import BaseService
|
||||||
|
# from app.api.schemas.eligibility_check import EligibilityCheckSchema
|
||||||
|
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.api.services.offer_analysis import OfferAnalysis
|
||||||
|
from app.api.helpers.response_helper import ResponseHelper
|
||||||
|
from werkzeug.security import generate_password_hash, check_password_hash
|
||||||
|
# from app.api.schemas.register import RegisterSchema
|
||||||
|
from app.api.schemas.products import ProductsSchema
|
||||||
|
from app.api.schemas.user import UserSchema
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
import jwt
|
||||||
|
import random
|
||||||
|
from app.config import Config
|
||||||
|
|
||||||
|
|
||||||
|
class ReportService(BaseService):
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def process_report_topic_request(data):
|
||||||
|
try:
|
||||||
|
with db.session.begin():
|
||||||
|
logger.info(f"Incoming ReportService data ==>>>> {data}")
|
||||||
|
validated_data = ReportService.validate_data(data, UserSchema())
|
||||||
|
token = validated_data.get('token')
|
||||||
|
uid = validated_data.get('uid')
|
||||||
|
member_data = Members.get_member_by_uid(uid)
|
||||||
|
member_id = member_data.id
|
||||||
|
|
||||||
|
topics_data = ReportService.configured_report_types()
|
||||||
|
response_data = {
|
||||||
|
"last_update": datetime.datetime.utcnow(),
|
||||||
|
"member_id": member_id,
|
||||||
|
"topics": topics_data,
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResponseHelper.success(data=response_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 configured_report_types():
|
||||||
|
data = {
|
||||||
|
"topics":[
|
||||||
|
{"name": 'Payments', "url": 'payment', "active": True, "list_order": 0},
|
||||||
|
{"name": 'Product', "url": 'product', "active": True, "list_order": 1},
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
return data
|
||||||
Reference in New Issue
Block a user