schema,validation: add mailer record+defaults
This commit is contained in:
parent
b61e07b57c
commit
2eef5a1328
@ -1,10 +1,10 @@
|
||||
{ Schema =
|
||||
./schema.dhall
|
||||
sha256:99dc461563042c4c4df92a8ce5a66842496be9fb2303bd0d7bf344417888cf61
|
||||
sha256:1aa8c2f42fc6fc3055a35c1285314340f934aa50226c6cdc96f8d19471a84835
|
||||
? ./schema.dhall
|
||||
, Schema/validate =
|
||||
./validate.dhall
|
||||
sha256:03d846ce0f42478c630708dd45cb9883f74f6ad97d4c0325bd6f6879368c7bd1
|
||||
sha256:78f05c1c7d49d3d8854b8a000600a30e55c7c2771bf9f91dc4717ef30a191a91
|
||||
? ./validate.dhall
|
||||
, Schema/version =
|
||||
./version.dhall
|
||||
|
24
schema.dhall
24
schema.dhall
@ -15,6 +15,21 @@ let Schema =
|
||||
, Gzip : Natural
|
||||
, Timeout : Natural
|
||||
}
|
||||
, Mailer :
|
||||
{ Enabled : Bool
|
||||
, Protocol : Text
|
||||
, SMTPAddr : Text
|
||||
, SMTPPort : Natural
|
||||
, ForceTrustServerCert : Bool
|
||||
, EnableHELO : Bool
|
||||
, HELOHostname : Text
|
||||
, Auth : Text
|
||||
, From : Text
|
||||
, User : Text
|
||||
, Password : Text
|
||||
, SubjectPrefix : Text
|
||||
, SendPlainText : Bool
|
||||
}
|
||||
, AppName : Text
|
||||
, LiveMode : Bool
|
||||
, DevelMode : Bool
|
||||
@ -44,6 +59,15 @@ let Schema =
|
||||
, Gzip = 0
|
||||
, Timeout = 0
|
||||
}
|
||||
, Mailer =
|
||||
{ Enabled = False
|
||||
, Protocol = "smtps"
|
||||
, SMTPPort = 465
|
||||
, ForceTrustServerCert = False
|
||||
, EnableHELO = False
|
||||
, SubjectPrefix = "pcmt - "
|
||||
, SendPlainText = True
|
||||
}
|
||||
, AppName = "pcmt"
|
||||
, LiveMode = False
|
||||
, DevelMode = False
|
||||
|
@ -5,7 +5,7 @@ let Prelude =
|
||||
|
||||
let Schema =
|
||||
./schema.dhall
|
||||
sha256:99dc461563042c4c4df92a8ce5a66842496be9fb2303bd0d7bf344417888cf61
|
||||
sha256:1aa8c2f42fc6fc3055a35c1285314340f934aa50226c6cdc96f8d19471a84835
|
||||
? ./schema.dhall
|
||||
|
||||
let Schema/validate
|
||||
@ -13,13 +13,20 @@ let Schema/validate
|
||||
=
|
||||
-- | define validation.
|
||||
\(c : Schema.Type) ->
|
||||
let expected = { validPort = True }
|
||||
let expected = { validPort = True, validSMTPPort = True }
|
||||
|
||||
let actual =
|
||||
{ validPort =
|
||||
-- | make sure port number belongs to the <1;65535> range.
|
||||
Prelude.Natural.lessThanEqual 1 c.Port
|
||||
&& Prelude.Natural.lessThanEqual c.Port 65535
|
||||
, validSMTPPort =
|
||||
if c.Mailer.Enabled == False
|
||||
then True
|
||||
else Prelude.Natural.lessThanEqual 1 c.Mailer.SMTPPort
|
||||
&& Prelude.Natural.lessThanEqual
|
||||
c.Mailer.SMTPPort
|
||||
65535
|
||||
}
|
||||
|
||||
in expected === actual
|
||||
|
Loading…
Reference in New Issue
Block a user