from sqlalchemy.orm import Session from models import CityWeather from schemas import CityWeatherCreate def get_city_weather(db: Session, city_id: int): return db.query(CityWeather).filter(CityWeather.id == city_id).first() def get_city_weather_by_name(db: Session, city_name: str): return db.query(CityWeather).filter(CityWeather.city_name == city_name).first() def get_city_weathers(db: Session, skip: int = 0, limit: int = 10): return db.query(CityWeather).offset(skip).limit(limit).all() def create_city_weather(db: Session, city_weather: CityWeatherCreate): db_city_weather = CityWeather(**city_weather.dict()) db.add(db_city_weather) db.commit() db.refresh(db_city_weather) return db_city_weather def update_city_weather(db: Session, city_id: int, city_weather: CityWeatherCreate): db_city = db.query(CityWeather).filter(CityWeather.id == city_id).first() if db_city: for key, value in city_weather.dict(exclude_unset=True).items(): setattr(db_city, key, value) db.commit() db.refresh(db_city) return db_city def delete_city_weather(db: Session, city_id: int): db_city = db.query(CityWeather).filter(CityWeather.id == city_id).first() if db_city: db.delete(db_city) db.commit() return db_city