(20250104) Breeze authorization will be accepted now.

This commit is contained in:
2025-01-04 15:22:51 +05:30
parent aadcc87e2a
commit 0c2d7816f4
13 changed files with 316 additions and 83 deletions
@@ -46,6 +46,7 @@ from controllers_v2.finstitutions.trading.base import TradingController
# Models:
from models.core.auth_token import CoreAuthTokenModel
from models.api.finstitutions.trading.symbols.list import TradingSymbolListRequestData, TradingSymbolListBrokerResponse
from models.finstitutions.trading.oauth import TradingOAuthCallbackResponse
# To work with datatypes:
from typing import List, Any
@@ -150,8 +151,9 @@ class AllTradingController(TradingController):
self,
sql_conn: AsyncMySQL,
mongo_data_conn: AsyncMongo,
inbound_data: dict
) -> bool:
inbound_data: dict,
client_user_id: str
) -> TradingOAuthCallbackResponse:
"""
When the end user interacts with their broker's APIs, the broker's servers would usually issue a callback.
We've seen this in the case of Zerodha Kite and ICICI Breeze. Use this method to handle the callback loop to
@@ -159,7 +161,8 @@ class AllTradingController(TradingController):
:param sql_conn: The database connection to use to perform this activity.
:param mongo_data_conn: The database connection to use to perform this activity.
:param inbound_data: The data that came in from the broker. This could be in the JSON body, query params, etc.
:return: True if the callback loop was completed successfully, else False.
:param client_user_id: How the trading client identifies this user.
:return: A structured response to capture the process of callback handling.
"""
raise NotImplementedError