hjugement-cli-0.0.0.20190621: src/Hjugement/CLI/MkElection.hs
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# OPTIONS_GHC -Wno-missing-signatures #-}
module Hjugement.CLI.MkElection where
import Control.Applicative (Applicative(..))
import Control.Monad (Monad(..))
import Data.Bool
import Data.Maybe (Maybe(..))
import Data.Function (($))
import Data.Functor ((<$>))
import Data.Semigroup (Semigroup(..))
import Data.String (String)
import Symantic.CLI as CLI
import System.IO (FilePath)
import Text.Show (Show)
import qualified Symantic.Document as Doc
import qualified Voting.Protocol as VP
import Hjugement.CLI.Utils
data MkElection_Options = MkElection_Options
{ mkelection_crypto :: VP.FFC
, mkelection_template :: FilePath
, mkelection_uuid :: VP.UUID
} deriving (Show)
api_mkelection =
"This command reads and checks "<>fileRef"public_keys.jsons"<>"\
\ (or "<>fileRef"threshold.json"<>" if it exists).\
\ It then computes the global election public key\
\ and generates an "<>fileRef"election.json"<>" file."
`helps`
command "mkelection" $
rule "OPTIONS"
(MkElection_Options
<$> option_crypto
<*> option_template
<*> option_uuid)
<?> response @Doc
<!> api_help False
run_mkelection MkElection_Options{..} =
return ""