예제 #1
0
async def radera_vattendrag(id: int, db: Db = Depends(on_database)):
    x: Optional[Vattendrag] = db.hamta_vattendrag(id)
    if x is None:
        raise fastapi.HTTPException(
            status_code=404, detail=f"Det finns inget vattendrag med id {id}.")

    db.radera_vattendrag(id)
예제 #2
0
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)
예제 #3
0
async def radera_forsstracka(id: int, db: Db = Depends(on_database)):
    x: Optional[Forsstracka] = db.hamta_forsstracka(id)
    if x is None:
        raise fastapi.HTTPException(
            status_code=404,
            detail=f"Det finns ingen forssträcka med id {id}.")

    db.radera_forsstracka(id)
예제 #4
0
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)
예제 #5
0
async def uppdatera_vattendrag(
    id: int, vattendrag: Vattendrag,
    db: Db = Depends(on_database)) -> Vattendrag:
    x: Optional[Vattendrag] = db.hamta_vattendrag(id)
    if x is None:
        raise fastapi.HTTPException(
            status_code=404, detail=f"Det finns inget vattendrag med id {id}.")

    if vattendrag.id != id:
        raise fastapi.HTTPException(
            status_code=409, detail=f"Vattendragets id kan inte ändras.")

    return db.spara_vattendrag(vattendrag)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
async def hamta_forsstracka_beskrivning(
    id: int,
    db: Db = Depends(on_database)) -> Optional[ForsstrackaBeskrivning]:
    forsstracka_beskr = db.hamta_forsstracka_beskrivning(id)
    if forsstracka_beskr is None:
        raise fastapi.HTTPException(status_code=404)
    return forsstracka_beskr
예제 #9
0
async def uppdatera_forsstracka_beskrivnin(
    id: int,
    beskrivning: NyForsstrackaBeskrivning,
    db: Db = Depends(on_database)
) -> ForsstrackaBeskrivning:
    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}.")

    beskr: ForsstrackaBeskrivning = ForsstrackaBeskrivning(
        beskrivning=beskrivning.beskrivning,
        uppdaterad=datetime.datetime.now(tz=datetime.timezone.utc),
        uppdaterad_av="???",
    )
    return db.spara_forsstracka_beskrivning(id, beskr)
예제 #10
0
async def hamta_lan_med_id(id: int, db: Db = Depends(on_database)) -> Lan:
    lan = db.hamta_lan(id)
    if lan is None:
        raise fastapi.HTTPException(status_code=404)
    return lan
예제 #11
0
async def lista_alla_lan(db: Db = Depends(on_database)) -> LanCollection:
    return LanCollection(lan=db.lista_lan())
예제 #12
0
async def hamta_vattendrag_med_id(
    id: int, db: Db = Depends(on_database)) -> Vattendrag:
    vattendrag = db.hamta_vattendrag(id)
    if vattendrag is None:
        raise fastapi.HTTPException(status_code=404)
    return vattendrag
예제 #13
0
async def lista_forsstrackor(db: Db = Depends(
    on_database)) -> ForsstrackaCollection:
    return ForsstrackaCollection(forsstracka=db.lista_forsstracka())
예제 #14
0
async def dumpa_allt_data(db: Db = Depends(on_database)) -> DataDump:
    return DataDump(
        lan=db.lista_lan(),
        vattendrag=db.lista_vattendrag(),
        forsstracka=db.lista_forsstracka(),
    )
예제 #15
0
async def skapa_nytt_vattendrag(
    vattendrag: Vattendrag, db: Db = Depends(on_database)) -> Vattendrag:
    # ignorera eventuellt id i requestet
    vattendrag.id = -1
    return db.spara_vattendrag(vattendrag)
예제 #16
0
async def hamta_forsstracka_med_id(
    id: int, db: Db = Depends(on_database)) -> Forsstracka:
    forsstracka = db.hamta_forsstracka(id)
    if forsstracka is None:
        raise fastapi.HTTPException(status_code=404)
    return forsstracka
예제 #17
0
async def lista_vattendrag(db: Db = Depends(
    on_database)) -> VattendragCollection:
    return VattendragCollection(vattendrag=db.lista_vattendrag())