ihp-ide-1.4.0: IHP/IDE/Logs/Controller.hs
module IHP.IDE.Logs.Controller where
import IHP.ControllerPrelude
import IHP.IDE.ToolServer.Helper.Controller
import IHP.IDE.ToolServer.Types
import IHP.IDE.Logs.View.Logs
import qualified IHP.IDE.Types as DevServer
import qualified Data.ByteString.Char8 as ByteString
import qualified Data.ByteString.Builder as ByteString
import qualified Control.Concurrent.MVar as MVar
instance Controller LogsController where
action AppLogsAction = do
toolServerApp <- fromContext @ToolServerApplication
standardOutput <- cs . ByteString.unlines . reverse <$> readIORef toolServerApp.appStandardOutput
errorOutput <- cs . ByteString.unlines . reverse <$> readIORef toolServerApp.appErrorOutput
render LogsView { .. }
action PostgresLogsAction = do
toolServerApp <- fromContext @ToolServerApplication
standardOutput <- cs . ByteString.toLazyByteString <$> readIORef toolServerApp.postgresStandardOutput
errorOutput <- cs . ByteString.toLazyByteString <$> readIORef toolServerApp.postgresErrorOutput
render LogsView { .. }
action OpenEditorAction = do
let path = param @Text "path"
let line = paramOrDefault @Int 0 "line"
let col = paramOrDefault @Int 0 "col"
openEditor path line col
renderPlain ""