Fix warnings.
This commit is contained in:
parent
418f6d74cd
commit
65857a7155
@ -1,11 +1,11 @@
|
|||||||
module App.Validation where
|
module App.Validation where
|
||||||
|
|
||||||
import Prelude
|
import Prelude (apply, map, otherwise, pure, show, ($), (&&), (<), (<<<), (<=), (<>), (>=))
|
||||||
|
|
||||||
import Data.Validation.Semigroup
|
import Data.Validation.Semigroup (V, andThen, invalid, toEither)
|
||||||
import Data.Array as A
|
-- import Data.Array as A
|
||||||
import Data.Maybe
|
import Data.Maybe (Maybe(..))
|
||||||
import Data.Either
|
import Data.Either (Either(..))
|
||||||
import Data.Tuple (Tuple(..))
|
import Data.Tuple (Tuple(..))
|
||||||
import Data.String.Regex as R
|
import Data.String.Regex as R
|
||||||
import Data.String.Regex.Flags as RF
|
import Data.String.Regex.Flags as RF
|
||||||
@ -32,12 +32,19 @@ data Attribute
|
|||||||
type Errors = Array (Tuple Attribute String)
|
type Errors = Array (Tuple Attribute String)
|
||||||
|
|
||||||
-- | Totally garbage value at the moment. Please fix.
|
-- | Totally garbage value at the moment. Please fix.
|
||||||
|
min_ttl :: Int
|
||||||
min_ttl = 30
|
min_ttl = 30
|
||||||
|
max_ttl :: Int
|
||||||
max_ttl = 86000
|
max_ttl = 86000
|
||||||
|
name_min_len :: Int
|
||||||
name_min_len = 1
|
name_min_len = 1
|
||||||
|
name_max_len :: Int
|
||||||
name_max_len = 50
|
name_max_len = 50
|
||||||
|
target_min_len :: Int
|
||||||
target_min_len = 1
|
target_min_len = 1
|
||||||
|
target_max_len :: Int
|
||||||
target_max_len = 50
|
target_max_len = 50
|
||||||
|
name_format :: String
|
||||||
name_format = "[a-zA-Z]+"
|
name_format = "[a-zA-Z]+"
|
||||||
-- name_format = "[a-zA-Z][a-zA-Z0-9_-]*"
|
-- name_format = "[a-zA-Z][a-zA-Z0-9_-]*"
|
||||||
|
|
||||||
@ -80,9 +87,9 @@ validate_name :: String -> V Errors String
|
|||||||
validate_name name
|
validate_name name
|
||||||
= case R.regex name_format RF.unicode of
|
= case R.regex name_format RF.unicode of
|
||||||
Left error_string -> invalid [Tuple NotAnAttribute $ "error in name regex: " <> error_string]
|
Left error_string -> invalid [Tuple NotAnAttribute $ "error in name regex: " <> error_string]
|
||||||
Right regex -> verify_length !> (matches Name regex)
|
Right regex -> verify_length name !> (matches Name regex)
|
||||||
where
|
where
|
||||||
verify_length = lengthIsBetween Name name_min_len name_max_len name
|
verify_length = lengthIsBetween Name name_min_len name_max_len
|
||||||
|
|
||||||
validate_ttl :: String -> V Errors Int
|
validate_ttl :: String -> V Errors Int
|
||||||
validate_ttl str_ttl
|
validate_ttl str_ttl
|
||||||
@ -146,6 +153,9 @@ validateMXRR = toEither <<< validateMXRR_
|
|||||||
validateSRVRR :: forall l. SRVRR (|l) -> Either Errors ResourceRecord
|
validateSRVRR :: forall l. SRVRR (|l) -> Either Errors ResourceRecord
|
||||||
validateSRVRR = toEither <<< validateSRVRR_
|
validateSRVRR = toEither <<< validateSRVRR_
|
||||||
|
|
||||||
|
|
||||||
|
-- Full zone validations.
|
||||||
|
|
||||||
-- type ZoneErrors = Array (Tuple Errors RRId)
|
-- type ZoneErrors = Array (Tuple Errors RRId)
|
||||||
-- type Zone l = String -> Array (SimpleRR (|l)) -> Array (MXRR (|l)) -> Array (SRVRR (|l))
|
-- type Zone l = String -> Array (SimpleRR (|l)) -> Array (MXRR (|l)) -> Array (SRVRR (|l))
|
||||||
|
|
||||||
@ -222,66 +232,3 @@ toRR_srv :: Int -> Boolean -> String -> String -> Int -> String -> Int -> Int ->
|
|||||||
toRR_srv rrid readonly rrtype rrname ttl target priority port protocol weight
|
toRR_srv rrid readonly rrtype rrname ttl target priority port protocol weight
|
||||||
= toRR rrid readonly rrtype rrname ttl target (Just priority) (Just port) (Just protocol) (Just weight)
|
= toRR rrid readonly rrtype rrname ttl target (Just priority) (Just port) (Just protocol) (Just weight)
|
||||||
Nothing Nothing Nothing Nothing Nothing Nothing Nothing
|
Nothing Nothing Nothing Nothing Nothing Nothing Nothing
|
||||||
|
|
||||||
fromLocalSimpleRRRepresentationToResourceRecord :: forall l. SimpleRR (|l) -> ResourceRecord
|
|
||||||
fromLocalSimpleRRRepresentationToResourceRecord form
|
|
||||||
= { rrtype: form.rrtype
|
|
||||||
, rrid: form.rrid
|
|
||||||
, name: form.name
|
|
||||||
, ttl: fromMaybe 3600 $ fromString form.ttl
|
|
||||||
, target: form.target
|
|
||||||
, readonly: form.readonly
|
|
||||||
, priority: Nothing
|
|
||||||
, port: Nothing
|
|
||||||
, protocol: Nothing
|
|
||||||
, weight: Nothing
|
|
||||||
, mname: Nothing
|
|
||||||
, rname: Nothing
|
|
||||||
, serial: Nothing
|
|
||||||
, refresh: Nothing
|
|
||||||
, retry: Nothing
|
|
||||||
, expire: Nothing
|
|
||||||
, minttl: Nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
fromLocalMXRRRepresentationToResourceRecord :: forall l. MXRR (|l) -> ResourceRecord
|
|
||||||
fromLocalMXRRRepresentationToResourceRecord form
|
|
||||||
= { rrtype: form.rrtype
|
|
||||||
, rrid: form.rrid
|
|
||||||
, name: form.name
|
|
||||||
, ttl: fromMaybe 3600 $ fromString form.ttl
|
|
||||||
, target: form.target
|
|
||||||
, readonly: form.readonly
|
|
||||||
, priority: Just $ fromMaybe 10 $ fromString form.priority
|
|
||||||
, port: Nothing
|
|
||||||
, protocol: Nothing
|
|
||||||
, weight: Nothing
|
|
||||||
, mname: Nothing
|
|
||||||
, rname: Nothing
|
|
||||||
, serial: Nothing
|
|
||||||
, refresh: Nothing
|
|
||||||
, retry: Nothing
|
|
||||||
, expire: Nothing
|
|
||||||
, minttl: Nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
fromLocalSRVRRepresentationToResourceRecord :: forall l. SRVRR (|l) -> ResourceRecord
|
|
||||||
fromLocalSRVRRepresentationToResourceRecord form
|
|
||||||
= { rrtype: form.rrtype
|
|
||||||
, rrid: form.rrid
|
|
||||||
, name: form.name
|
|
||||||
, ttl: fromMaybe 3600 $ fromString form.ttl
|
|
||||||
, target: form.target
|
|
||||||
, readonly: form.readonly
|
|
||||||
, priority: Just $ fromMaybe 10 $ fromString form.priority
|
|
||||||
, port: Just $ fromMaybe 10 $ fromString form.port
|
|
||||||
, protocol: Just form.protocol
|
|
||||||
, weight: Just $ fromMaybe 10 $ fromString form.weight
|
|
||||||
, mname: Nothing
|
|
||||||
, rname: Nothing
|
|
||||||
, serial: Nothing
|
|
||||||
, refresh: Nothing
|
|
||||||
, retry: Nothing
|
|
||||||
, expire: Nothing
|
|
||||||
, minttl: Nothing
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user