Signal R in each method in Functionapp.py

 import asyncio

import azure.functions as func

import logging

import json

import functools

import multiples_sales_caliberation

import multiples_ebitda_caliberation

import multiples_sales_liquidity

import multiples_ebitda_liquidity

import gorden_growth

import dcf_exit_multiples_sales

import dcf_exit_multiples_ebitda

import extract_document_data

import asset_sensitivity_check

from response_handling import handle_error, handle_success


from fn_pwc_cit_rates_scaper_bronze import bp as cit_bronze_scraper

from fn_cit_rates_bronze_silver_transformation import bp as cit_bronze_silver_transformation

from fn_risk_premium_scraper_bronze import bp as risk_premium_scraper_bronze

from fn_risk_premium_bronze_gold_transformation import bp as risk_premium_bronze_gold_transformation


from connection import send_restapi_message,notify_and_handle_errors



app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)


app.register_functions(cit_bronze_scraper) 

app.register_functions(cit_bronze_silver_transformation)

app.register_functions(risk_premium_scraper_bronze)

app.register_functions(risk_premium_bronze_gold_transformation)

#todo other functions should be mved to separate files in another PR

# Wrapper function with decorator



@app.route(route="fn_multiples_sales_caliberation")

@notify_and_handle_errors

async def fn_multiples_sales_caliberation(req: func.HttpRequest) -> func.HttpResponse :

    logging.info("Process  started") 

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await multiples_sales_caliberation.multiples_sales_caliberation(Asset_Valuation_Id, Methodology_Id )

    return result  # Decorator handles JSON/HttpResponse wrapping


@app.route(route="fn_multiples_ebitda_caliberation")

@notify_and_handle_errors

async def fn_multiples_ebitda_caliberation(req: func.HttpRequest) -> func.HttpResponse :  

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await multiples_ebitda_caliberation.multiples_ebitda_caliberation(Asset_Valuation_Id, Methodology_Id )

    return result  # Decorator handles JSON/HttpResponse wrapping


 

@app.route(route="fn_multiples_sales_liquidity")

@notify_and_handle_errors

async def fn_multiples_sales_liquidity(req: func.HttpRequest) -> func.HttpResponse :

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await multiples_sales_liquidity.multiples_sales_liquidity(Asset_Valuation_Id, Methodology_Id )

    return result  # Decorator handles JSON/HttpResponse wrapping

    

 

@app.route(route="fn_multiples_ebitda_liquidity")

@notify_and_handle_errors

async def fn_multiples_ebitda_liquidity(req: func.HttpRequest) -> func.HttpResponse :

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await multiples_ebitda_liquidity.multiples_ebitda_liquidity(Asset_Valuation_Id, Methodology_Id )

    return result  # Decorator handles JSON/HttpResponse wrapping

   


@app.route(route="fn_gorden_growth")

@notify_and_handle_errors

async def fn_gorden_growth(req: func.HttpRequest):

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')

    # Only business logic here

    result = await gorden_growth.gorden_growth(Asset_Valuation_Id, Methodology_Id)

    return result  # Decorator handles JSON/HttpResponse wrapping

     


@app.route(route="fn_dcf_exit_multiples_sales")

@notify_and_handle_errors

async def fn_dcf_exit_multiples_sales(req: func.HttpRequest) -> func.HttpResponse : 

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await dcf_exit_multiples_sales.dcf_exit_multiples_sales(Asset_Valuation_Id, Methodology_Id)

    return result  # Decorator handles JSON/HttpResponse wrapping

  

@app.route(route="fn_dcf_exit_multiples_ebitda")

@notify_and_handle_errors

async def fn_dcf_exit_multiples_ebitda(req: func.HttpRequest) -> func.HttpResponse :

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Methodology_Id = req_body.get('Methodology_Id', 'Unknown')


    # Only business logic here

    result = await dcf_exit_multiples_ebitda.dcf_exit_multiples_ebitda(Asset_Valuation_Id, Methodology_Id)

    return result  # Decorator handles JSON/HttpResponse wrapping

    

@app.route(route="fn_extract_document_data")

@notify_and_handle_errors

async def fn_extract_document_data(req: func.HttpRequest) -> func.HttpResponse :

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')

    Asset_Fund_Year_Map_Id = req_body.get('Asset_Fund_Year_Map_Id', 'Unknown')

    Backtesting_Year_Id = req_body.get('Backtesting_Year_Id', 'Unknown')

    Document_Id = req_body.get('Document_Id', 'Unknown')

    Extraction_Method = req_body.get('Extraction_Method', 'Unknown')


    # Only business logic here

    result = await extract_document_data.fn_extract_document_data( Asset_Valuation_Id,Asset_Fund_Year_Map_Id,Backtesting_Year_Id,Document_Id,Extraction_Method)

    return result  # Decorator handles JSON/HttpResponse wrapping


@app.route(route="fn_sensitivity_check")

@notify_and_handle_errors

async def fn_sensitivity_check(req: func.HttpRequest) -> func.HttpResponse :

    req_body = req.get_json()

    Asset_Valuation_Id = req_body.get('Asset_Valuation_Id', 'Unknown')


    # Only business logic here

    result = await asset_sensitivity_check.asset_sensitivity_check( Asset_Valuation_Id)

    return result  # Decorator handles JSON/HttpResponse wrapping


       

    

              

Comments

Popular posts from this blog

Introduction To Oracle10g

Insert

Except