Exemple #1
0
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()
Exemple #2
0
 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]
Exemple #3
0
 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]
Exemple #4
0
 def delete(obj: DbBaseModel):
     Session.delete(obj)
     Session.commit()