From 1a8f09d2adf656586fa3e9cc128008fd1efeda15 Mon Sep 17 00:00:00 2001 From: nek0 Date: Tue, 16 Apr 2019 14:02:41 +0200 Subject: [PATCH] rework user inti and add beverage init --- src/Main.hs | 1 + src/Model/Beverage.hs | 51 +++++++++++++++++++++++++------------------ src/Model/User.hs | 2 +- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index 27fd50e..6ec2237 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -29,6 +29,7 @@ main = do conn <- connectPostgreSQL "host='localhost' port=5432 dbname='mateamt' user='mateamt' password='mateamt'" execute_ conn initUser + execute_ conn initBeverage withStdoutLogger $ \log -> do let settings = setPort 3000 $ setLogger log defaultSettings runSettings settings (app conn) diff --git a/src/Model/Beverage.hs b/src/Model/Beverage.hs index f2443ca..4001db8 100644 --- a/src/Model/Beverage.hs +++ b/src/Model/Beverage.hs @@ -1,13 +1,16 @@ {-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE OverloadedStrings #-} module Model.Beverage where import Data.Text as T import Data.Time.Calendar (Day) -import Data.Profunctor.Product (p12) +import Data.Profunctor.Product (p13) import Data.Aeson import Data.Aeson.Types +import qualified Database.PostgreSQL.Simple as PGS + import GHC.Generics import Opaleye as O @@ -32,36 +35,42 @@ instance ToJSON Beverage where instance FromJSON Beverage +initBeverage :: PGS.Query +initBeverage = "create Table if not exists \"beverage\" (id serial primary key, ident varchar(128) not null, price integer not null, amount integer not null, vanish integer not null, ml integer not null, avatar integer, supplier integer, max_amount integer not null, total_bought integer not null, amount_per_crate integer not null, price_per_crate integer, art_nr varchar(128))" + beverageTable :: Table - ( Field SqlText - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 + ( Maybe (Field SqlInt4) + , Field SqlText + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 , FieldNullable SqlInt4 , FieldNullable SqlInt4 - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 - , FieldNullable SqlInt8 + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 + , FieldNullable SqlInt4 , FieldNullable SqlText ) - ( Field SqlText - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 + ( Field SqlInt4 + , Field SqlText + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 , FieldNullable SqlInt4 , FieldNullable SqlInt4 - , Field SqlInt8 - , Field SqlInt8 - , Field SqlInt8 - , FieldNullable SqlInt8 + , Field SqlInt4 + , Field SqlInt4 + , Field SqlInt4 + , FieldNullable SqlInt4 , FieldNullable SqlText ) beverageTable = table "beverage" ( - p12 - ( tableField "ident" + p13 + ( tableField "id" + , tableField "ident" , tableField "price" , tableField "amount" , tableField "vanish" diff --git a/src/Model/User.hs b/src/Model/User.hs index 3ac0cf3..4ba0286 100644 --- a/src/Model/User.hs +++ b/src/Model/User.hs @@ -63,7 +63,7 @@ instance ToJSON UserSubmit where instance FromJSON UserSubmit initUser :: PGS.Query -initUser = "create table if not exists \"user\" (id serial, ident varchar(128) not null, balance integer not null, time_stamp date not null, email varchar(128), avatar integer, pin varchar(128))" +initUser = "create table if not exists \"user\" (id serial primary key, ident varchar(128) not null, balance integer not null, time_stamp date not null, email varchar(128), avatar integer, pin varchar(128))" userTable :: Table ( Maybe (Field SqlInt4)