async def skapa_nytt_lan(lan: Lan, db: Db = Depends(on_database)) -> Lan: x: Optional[Lan] = db.hamta_lan(lan.id) if x is not None: raise fastapi.HTTPException( status_code=409, detail=f"Det finns redan ett län med id {x.id}: {x.namn}" ) return db.spara_lan(lan)
async def uppdatera_lan(id: int, lan: Lan, db: Db = Depends(on_database)) -> Lan: x: Optional[Lan] = db.hamta_lan(id) if x is None: raise fastapi.HTTPException( status_code=404, detail=f"Det finns inget län med id {id}." ) if lan.id != id: raise fastapi.HTTPException( status_code=409, detail=f"Länets id kan inte ändras." ) return db.spara_lan(lan)