{-# LANGUAGE RankNTypes #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ConstraintKinds #-} {-# OPTIONS_GHC -fno-warn-overlapping-patterns #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-unused-do-bind #-} module Handler.~{moduleName m}.~{routeModuleName r} where import Handler.~{moduleName m}.Enums import Handler.~{moduleName m}.Esqueleto import Handler.~{moduleName m}.Internal import Prelude import Database.Esqueleto import Database.Esqueleto.Internal.Sql (unsafeSqlBinOp) import qualified Database.Persist as P import Database.Persist.TH import Yesod.Auth (requireAuth, requireAuthId, YesodAuth, AuthId, YesodAuthPersist) import Yesod.Core import Yesod.Persist (runDB, YesodPersist, YesodPersistBackend) import Data.Aeson ((.:), (.:?), (.!=), FromJSON, parseJSON, decode) import Data.Aeson.TH import Data.Int import Data.Word import Data.Time import Data.Text.Encoding (encodeUtf8) import Data.Typeable (Typeable) import qualified Data.Attoparsec as AP import qualified Data.Aeson as A import qualified Data.Aeson.Types as AT import qualified Data.ByteString.Lazy as LBS import Data.Maybe import qualified Data.Text.Read import qualified Data.Text as T import Data.Text (Text) import qualified Data.List as DL import Control.Monad (mzero) import Control.Monad.Trans.Resource (runResourceT) import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L import qualified Network.HTTP.Conduit as C import qualified Network.Wai as W import Data.Conduit.Lazy (lazyConsume) import Network.HTTP.Types (status200, status400, status403, status404) import Blaze.ByteString.Builder.ByteString (fromByteString) import Control.Applicative ((<$>), (<*>)) import qualified Data.HashMap.Lazy as HML import qualified Data.HashMap.Strict as HMS