async def skapa_ny_forsstracka( forsstracka: Forsstracka, db: Db = Depends(on_database)) -> Forsstracka: if forsstracka.id is None: return db.spara_forsstracka(forsstracka) else: x: Optional[Forsstracka] = db.hamta_forsstracka(forsstracka.id) if x is not None: raise fastapi.HTTPException( status_code=409, detail= f"Det finns redan en forsstracka med id {forsstracka.id}.", ) return db.spara_forsstracka(forsstracka)
async def uppdatera_forsstracka( id: int, forsstracka: Forsstracka, db: Db = Depends(on_database)) -> Forsstracka: x: Optional[Forsstracka] = db.hamta_forsstracka(id) if x is None: raise fastapi.HTTPException( status_code=404, detail=f"Det finns inget forsstracka med id {id}.") if forsstracka.id != id: raise fastapi.HTTPException( status_code=409, detail=f"Forssträckans id kan inte ändras.") return db.spara_forsstracka(forsstracka)