def update(dealer_id: int, data: dealer_schema.DealerUpdateRequest): """ Изменение конкретного дилера """ with session_scope() as session: session.query(Dealer).where(Dealer.id == dealer_id).update(data.dict())
def delete(dealer_id: int): """ Удаление конкретного дилера """ with session_scope() as session: session.query(Dealer).where(Dealer.id == dealer_id).delete()
def create(data: dealer_schema.DealerCreateRequest): """ Создание дилера """ with session_scope() as session: session.add(Dealer(**data.dict()))
def delete(car_id: int): """ Удаление конкретной машины """ with session_scope() as session: session.query(Car).where(Car.id == car_id).delete()
def update(car_id: int, data: car_schema.CarUpdateRequest): """ Изменение конкретной машины """ with session_scope() as session: session.query(Car).where(Car.id == car_id).update(data.dict())
def get_all(): """ Возвращает данные всех дилеров в JSON """ with session_scope() as session: dealers = session.query(Dealer).all() session.expunge_all() return dealers
def get_all(): """ Возвращает данные всех машин в JSON """ with session_scope() as session: cars = session.query(Car).all() session.expunge_all() return cars
def create(data: car_schema.CarCreateRequest): """ Создание машины """ with session_scope() as session: dealer = session.query(Dealer).get(data.dealer_id) if dealer is None: raise HTTPException(status.HTTP_404_NOT_FOUND, 'Dealer not found') session.add(Car(**data.dict()))
def cars(dealer_id: int): """ Возвращает данные всех машин конкретного дилера в JSON """ with session_scope() as session: dealer = session.query(Dealer).options(joinedload(Dealer.cars)).get(dealer_id) if dealer is None: raise HTTPException(status.HTTP_404_NOT_FOUND, 'Dealer not found') session.expunge_all() return dealer.cars
def get(car_id: int): """ Возвращает данные конкретной машины в JSON """ with session_scope() as session: car = session.query(Car).get(car_id) if car is None: raise HTTPException(status.HTTP_404_NOT_FOUND, 'Car not found') session.expunge_all() return car