39 lines
1.1 KiB
Haskell
39 lines
1.1 KiB
Haskell
let Schema =
|
|
-- | define a configuration schema.
|
|
{ Type =
|
|
{ Host : Text
|
|
, Port : Natural
|
|
, AppName : Text
|
|
, LiveMode : Bool
|
|
, DevelMode : Bool
|
|
, Session :
|
|
{ CookieName : Text
|
|
, CookieAuthSecret : Text
|
|
, CookieEncrSecret : Text
|
|
}
|
|
, Logger : { JSON : Bool, Fmt : Optional Text }
|
|
, InitialAdminPassword : Text
|
|
, Registration : { Allowed : Bool }
|
|
}
|
|
, default =
|
|
-- | have sane defaults.
|
|
{ Host = ""
|
|
, Port = 3000
|
|
, AppName = "pcmt"
|
|
, LiveMode = False
|
|
, DevelMode = False
|
|
, Session =
|
|
{ CookieName = "pcmt_session"
|
|
, CookieAuthSecret = ""
|
|
, CookieEncrSecret = ""
|
|
}
|
|
, Logger = { JSON = True, Fmt = None Text }
|
|
, InitialAdminPassword =
|
|
-- | used for the first admin, forced change on first login.
|
|
"50ce50fd0e4f5894d74c4caecb450b00c594681d9397de98ffc0c76af5cff5953eb795f7"
|
|
, Registration.Allowed = True
|
|
}
|
|
}
|
|
|
|
in Schema
|