Compare commits

...

No commits in common. "6fa9746f360bf3be88b88e125abcb10b64bbfc28" and "b2fd087e4c5cf38ee686ee38d25c942ba3ec570e" have entirely different histories.

5 changed files with 20 additions and 57 deletions

View File

@ -3,36 +3,17 @@
module Main where
import Soostone ( app, middleWare, AppState(AppState, sqliteFile) )
import Soostone
import Control.Monad ( void, when )
import Control.Monad
import Data.Version (showVersion)
import Database.SQLite.Simple ( execute_, open, Connection )
import Database.SQLite.Simple
import Network.Wai.Handler.Warp ( run )
import Options.Applicative
( fullDesc,
execParser,
progDesc,
helper,
(<**>),
info,
command,
subparser,
strOption,
value,
showDefault,
metavar,
eitherReader,
option,
hidden,
help,
long,
infoOption,
Parser )
import Paths_soostone ( version )
import Prometheus ( register )
import Prometheus.Metric.GHC ( ghcMetrics )
import Prometheus.Metric.Proc ( procMetrics )
import Prometheus
import Prometheus.Metric.GHC
import Prometheus.Metric.Proc
import Text.Read ( readEither )
@ -110,3 +91,5 @@ main = do
createTables :: Connection -> IO ()
createTables con = do
execute_ con "CREATE TABLE IF NOT EXISTS keys (id INTEGER PRIMARY KEY, key TEXT, count INTEGER)"

View File

@ -12,9 +12,8 @@ import Soostone.Types
import Control.Monad.Reader (runReaderT)
import Network.Wai ( Middleware )
import Network.Wai.Middleware.Prometheus ( def, prometheus )
import Network.Wai.Middleware.Prometheus
import Servant
( Application, HasServer(ServerT), Handler, hoistServer, serve )
soostoneServer :: ServerT SoostoneAPI AppM

View File

@ -4,20 +4,10 @@
module Soostone.API where
import Soostone.Types ( Count, Key )
import Soostone.Types
import Servant
( Proxy(..),
JSON,
type (:>),
ReqBody,
Post,
QueryParam',
Required,
Strict,
Get,
NamedRoutes )
import Servant.API.Generic ( Generic, GenericMode(type (:-)) )
import Servant.API.Generic
type SoostoneAPI = NamedRoutes API
@ -34,3 +24,4 @@ data MainAPI mode = MainAPI {
api :: Proxy SoostoneAPI
api = Proxy :: Proxy SoostoneAPI

View File

@ -4,18 +4,10 @@
module Soostone.Handlers where
import Soostone.Types
( AppState(AppState, sqliteFile), AppM, Count(..), Key )
import Data.Functor ( ($>) )
import Data.Functor
import Database.SQLite.Simple
( open,
Connection,
close,
executeNamed,
queryNamed,
withImmediateTransaction,
NamedParam((:=)) )
import Control.Monad.Catch ( finally )
import Control.Monad.Catch
import Control.Monad.Reader ( ask )
import Control.Monad.IO.Class ( liftIO )

View File

@ -4,19 +4,17 @@
module Soostone.Types where
import Control.Monad.Catch ( MonadMask, MonadCatch, MonadThrow )
import Control.Monad.Error.Class ( MonadError(throwError) )
import Control.Monad.Error.Class
import Control.Monad.IO.Class ( MonadIO(..) )
import Control.Monad.Reader.Class ( MonadReader )
import Control.Monad.Trans.Reader (ReaderT)
import Data.Aeson
( defaultOptions, genericToEncoding, FromJSON, ToJSON(toEncoding) )
import Data.String ( IsString(fromString) )
import Data.Aeson hiding (Key)
import Data.String
import Data.Text ( Text )
import Database.SQLite.Simple ( field, FromRow(..) )
import Database.SQLite.Simple.ToField ( ToField(..) )
import Database.SQLite.Simple
import Database.SQLite.Simple.ToField
import Servant
( Handler, ServerError(errBody), FromHttpApiData, err500 )
import Servant.API.Generic ( Generic )
import Servant.API.Generic
newtype Key = Key Text