aboutsummaryrefslogtreecommitdiff
path: root/spec/src/Thermoprint/API.hs
diff options
context:
space:
mode:
Diffstat (limited to 'spec/src/Thermoprint/API.hs')
-rw-r--r--spec/src/Thermoprint/API.hs21
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/src/Thermoprint/API.hs b/spec/src/Thermoprint/API.hs
new file mode 100644
index 0000000..f2ffd02
--- /dev/null
+++ b/spec/src/Thermoprint/API.hs
@@ -0,0 +1,21 @@
1{-# LANGUAGE GeneralizedNewtypeDeriving, NoDeriveAnyClass #-}
2{-# LANGUAGE TypeOperators, DataKinds #-}
3
4module Thermoprint.API
5 ( PrinterId(..)
6 , JobId(..)
7 , ThermoprintAPI
8 ) where
9
10import Thermoprint.Printout
11
12import Servant.API
13import Data.Aeson
14
15newtype PrinterId = PrinterId Integer
16 deriving (Show, Eq, FromText, ToText, FromJSON, ToJSON)
17
18newtype JobId = JobId Integer
19 deriving (Show, Eq, FromText, ToText, FromJSON, ToJSON)
20
21type ThermoprintAPI = "print" :> Capture "printerId" PrinterId :> ReqBody '[JSON] Printout :> Post '[JSON] JobId