module Web.Controller.Probes where import Web.Controller.Prelude import Web.View.Probes.Index import Web.View.Probes.New import Web.View.Probes.Show import Web.View.Probes.Edit instance Controller ProbesController where action ProbesAction = do probes <- query @Probe |> fetch render IndexView { .. } action NewProbeAction = do let probe = newRecord @Probe render NewView { .. } action ShowProbeAction { probeId } = do probe <- fetch probeId render ShowView { .. } action CreateProbeAction = do newRecord @Probe |> fill @'["name"] |> createRecord redirectTo ProbesAction action EditProbeAction { probeId } = do probe <- fetch probeId render EditView { .. } action UpdateProbeAction { probeId } = do probe <- fetch probeId probe |> fill @'["name"] |> updateRecord redirectTo ProbesAction action DeleteProbeAction { probeId } = do probe <- fetch probeId deleteRecord probe redirectTo ProbesAction