forked from kodorvan/stcs
version 1 STCS
This commit is contained in:
@@ -4,6 +4,8 @@ logger = logging.getLogger(__name__)
|
||||
from app.telegram.database.models import async_session
|
||||
from app.telegram.database.models import User_Telegram_Id as UTi
|
||||
from app.telegram.database.models import User_Main_Settings as UMS
|
||||
from app.telegram.database.models import User_Bybit_API as UBA
|
||||
from app.telegram.database.models import User_Symbol
|
||||
from app.telegram.database.models import User_Risk_Management_Settings as URMS
|
||||
from app.telegram.database.models import User_Condition_Settings as UCS
|
||||
from app.telegram.database.models import User_Additional_Settings as UAS
|
||||
@@ -27,6 +29,32 @@ async def save_tg_id_new_user(tg_id):
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def set_new_user_bybit_api(tg_id):
|
||||
async with async_session() as session:
|
||||
user = await session.scalar(select(UBA).where(UBA.tg_id == tg_id))
|
||||
|
||||
if not user:
|
||||
session.add(UBA(
|
||||
tg_id=tg_id,
|
||||
))
|
||||
|
||||
logger.info(f"Bybit был успешно подключен")
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def set_new_user_symbol(tg_id):
|
||||
async with async_session() as session:
|
||||
user = await session.scalar(select(User_Symbol).where(User_Symbol.tg_id == tg_id))
|
||||
|
||||
if not user:
|
||||
session.add(User_Symbol(
|
||||
tg_id=tg_id
|
||||
))
|
||||
|
||||
logger.info(f"Symbol был успешно добавлен")
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def set_new_user_default_main_settings(tg_id, trading_mode, margin_type) -> None:
|
||||
async with async_session() as session:
|
||||
settings = await session.scalar(select(UMS).where(UMS.tg_id == tg_id))
|
||||
@@ -86,7 +114,22 @@ async def set_new_user_default_additional_settings(tg_id) -> None:
|
||||
async def check_user(tg_id):
|
||||
async with async_session() as session:
|
||||
user = await session.scalar(select(UTi).where(UTi.tg_id == tg_id))
|
||||
return user
|
||||
return user
|
||||
|
||||
async def get_bybit_api_key(tg_id):
|
||||
async with async_session() as session:
|
||||
api_key = await session.scalar(select(UBA.api_key).where(UBA.tg_id == tg_id))
|
||||
return api_key
|
||||
|
||||
async def get_bybit_secret_key(tg_id):
|
||||
async with async_session() as session:
|
||||
secret_key = await session.scalar(select(UBA.secret_key).where(UBA.tg_id == tg_id))
|
||||
return secret_key
|
||||
|
||||
async def get_symbol(tg_id):
|
||||
async with async_session() as session:
|
||||
symbol = await session.scalar(select(User_Symbol.symbol).where(User_Symbol.tg_id == tg_id))
|
||||
return symbol
|
||||
|
||||
async def get_for_registration_trading_mode():
|
||||
async with async_session() as session:
|
||||
@@ -128,7 +171,45 @@ async def get_user_main_settings(tg_id):
|
||||
|
||||
return data
|
||||
|
||||
# UPDATE_DB
|
||||
async def get_user_risk_management_settings(tg_id):
|
||||
async with async_session() as session:
|
||||
user = await session.scalar(select(URMS).where(URMS.tg_id == tg_id))
|
||||
|
||||
if user:
|
||||
logger.info("Получение риск-менеджмента настроек пользователя")
|
||||
|
||||
price_profit = await session.scalar(select(URMS.price_profit).where(URMS.tg_id == tg_id))
|
||||
price_loss = await session.scalar(select(URMS.price_loss).where(URMS.tg_id == tg_id))
|
||||
max_risk_deal = await session.scalar(select(URMS.max_risk_deal).where(URMS.tg_id == tg_id))
|
||||
|
||||
data = {
|
||||
'price_profit': price_profit,
|
||||
'price_loss': price_loss,
|
||||
'max_risk_deal': max_risk_deal
|
||||
}
|
||||
|
||||
return data
|
||||
|
||||
#UPDATE_SYMBOL
|
||||
async def update_symbol(tg_id, symbol) -> None:
|
||||
async with async_session() as session:
|
||||
await session.execute(update(User_Symbol).where(User_Symbol.tg_id == tg_id).values(symbol = symbol))
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def update_api_key(tg_id, api):
|
||||
async with async_session() as session:
|
||||
api_key = await session.execute(update(UBA).where(UBA.tg_id == tg_id).values(api_key = api))
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def update_secret_key(tg_id, api):
|
||||
async with async_session() as session:
|
||||
secret_key = await session.execute(update(UBA).where(UBA.tg_id == tg_id).values(secret_key = api))
|
||||
|
||||
await session.commit()
|
||||
|
||||
# UPDATE_MAIN_SETTINGS_DB
|
||||
async def update_trade_mode_user(tg_id, trading_mode) -> None:
|
||||
async with async_session() as session:
|
||||
mode = await session.scalar(select(Trading_Mode.mode).where(Trading_Mode.mode == trading_mode))
|
||||
@@ -171,4 +252,24 @@ async def update_maximal_quantity(tg_id, num):
|
||||
async with async_session() as session:
|
||||
await session.execute(update(UMS).where(UMS.tg_id == tg_id).values(maximal_quantity = num))
|
||||
|
||||
await session.commit()
|
||||
|
||||
# UPDATE_RISK_MANAGEMENT_SETTINGS_DB
|
||||
|
||||
async def update_price_profit(tg_id, num):
|
||||
async with async_session() as session:
|
||||
await session.execute(update(URMS).where(URMS.tg_id == tg_id).values(price_profit = num))
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def update_price_loss(tg_id, num):
|
||||
async with async_session() as session:
|
||||
await session.execute(update(URMS).where(URMS.tg_id == tg_id).values(price_loss = num))
|
||||
|
||||
await session.commit()
|
||||
|
||||
async def update_max_risk_deal(tg_id, num):
|
||||
async with async_session() as session:
|
||||
await session.execute(update(URMS).where(URMS.tg_id == tg_id).values(max_risk_deal = num))
|
||||
|
||||
await session.commit()
|
Reference in New Issue
Block a user