def save_market_to_db(msg_data: dict): """ - Получить запись текущего юзера (запрос в базу по имени и взять одну запись, если исключение что нет записи, то создать юзера нового) - Получить все записи маркетов текущего юзера - :return: """ print('----now------') print(msg_data) session = Session() user = get_or_create(session, User, user_name=msg_data['user']['user_name']) user.free_slots = int(msg_data['market']['free_slots']) user.telegram_id = int(msg_data['user']['telegram_id']) user.name = str(msg_data['user']['name']) all_markets_user = session.query(Market).filter_by(user=user).all() # удалить все магазины текущего юзера из базы for market in all_markets_user: session.delete(market) session.commit() res_dict = msg_data['market']['resources'] current_resources = [get_or_create(session, Resource, name=resource) for resource in res_dict.keys()] current_markers = [Market(user=user, resource=res, count=res_dict[res.name], last_update=msg_data['user']['last_update']) for res in current_resources] session.add_all(current_markers) session.commit()
async def delete_by_id(fizz_id: int, session: Session) -> List[int]: fizz = session.query(Fizz).filter(Fizz.fizz_id == fizz_id).first() if not fizz: return [] session.delete(fizz) session.commit() return [fizz_id]
async def delete_by_id(widget_id: int, session: Session) -> List[int]: widget = session.query(Widget).filter( Widget.widget_id == widget_id).first() if not widget: return [] session.delete(widget) session.commit() return [widget_id]
def delete(obj: DbBaseModel): Session.delete(obj) Session.commit()