WIP: DKIM is working fine. Still some validations to do.
This commit is contained in:
parent
1c080cc948
commit
5be520281f
@ -30,6 +30,7 @@ import Data.Tuple (Tuple(..))
|
|||||||
import Data.ArrayBuffer.Types (ArrayBuffer)
|
import Data.ArrayBuffer.Types (ArrayBuffer)
|
||||||
import Data.Array.NonEmpty as NonEmpty
|
import Data.Array.NonEmpty as NonEmpty
|
||||||
import Data.Either (Either(..))
|
import Data.Either (Either(..))
|
||||||
|
import Data.String.CodePoints as CP
|
||||||
-- import Data.Foldable as Foldable
|
-- import Data.Foldable as Foldable
|
||||||
import Data.Maybe (Maybe(..), fromMaybe, maybe)
|
import Data.Maybe (Maybe(..), fromMaybe, maybe)
|
||||||
import Effect.Aff.Class (class MonadAff)
|
import Effect.Aff.Class (class MonadAff)
|
||||||
@ -517,6 +518,9 @@ handleAction = case _ of
|
|||||||
Nothing -> H.raise $ Log $ ErrorLog $ "RR not found (RR " <> show rr_id <> ")"
|
Nothing -> H.raise $ Log $ ErrorLog $ "RR not found (RR " <> show rr_id <> ")"
|
||||||
Just rr -> do
|
Just rr -> do
|
||||||
H.modify_ _ { _currentRR = rr }
|
H.modify_ _ { _currentRR = rr }
|
||||||
|
_ <- case rr.rrtype of
|
||||||
|
"DKIM" -> H.modify_ _ { dkim = fromMaybe DKIM.emptyDKIMRR rr.dkim }
|
||||||
|
_ -> pure unit
|
||||||
H.modify_ _ { rr_modal = UpdateRRModal }
|
H.modify_ _ { rr_modal = UpdateRRModal }
|
||||||
|
|
||||||
-- | Each time a "new RR" button is clicked, the form resets.
|
-- | Each time a "new RR" button is clicked, the form resets.
|
||||||
@ -562,6 +566,7 @@ handleAction = case _ of
|
|||||||
H.modify_ \s -> s { _currentRR = replace_name s._domain s._currentRR }
|
H.modify_ \s -> s { _currentRR = replace_name s._domain s._currentRR }
|
||||||
|
|
||||||
-- TODO: should the code design change? Would the code be simplified by working only on _currentRR.dkim?
|
-- TODO: should the code design change? Would the code be simplified by working only on _currentRR.dkim?
|
||||||
|
-- Since _currentRR.dkim isn't modified directly, it is copied from `State`.
|
||||||
_ <- case t of
|
_ <- case t of
|
||||||
DKIM -> H.modify_ \state -> state { _currentRR { dkim = Just state.dkim } }
|
DKIM -> H.modify_ \state -> state { _currentRR { dkim = Just state.dkim } }
|
||||||
_ -> pure unit
|
_ -> pure unit
|
||||||
@ -598,6 +603,12 @@ handleAction = case _ of
|
|||||||
-- In case the `name` part of the resource record is empty, consider the name to be the domain itself.
|
-- In case the `name` part of the resource record is empty, consider the name to be the domain itself.
|
||||||
H.modify_ \s -> s { _currentRR = replace_name s._domain s._currentRR }
|
H.modify_ \s -> s { _currentRR = replace_name s._domain s._currentRR }
|
||||||
|
|
||||||
|
-- Since _currentRR.dkim isn't modified directly, it is copied from `State`.
|
||||||
|
state0 <- H.get
|
||||||
|
_ <- case state0._currentRR.rrtype of
|
||||||
|
"DKIM" -> H.modify_ _ { _currentRR { dkim = Just state0.dkim } }
|
||||||
|
_ -> pure unit
|
||||||
|
|
||||||
state <- H.get
|
state <- H.get
|
||||||
case Validation.validation state._currentRR of
|
case Validation.validation state._currentRR of
|
||||||
Left actual_errors -> do
|
Left actual_errors -> do
|
||||||
@ -779,7 +790,7 @@ render_resources records
|
|||||||
tag_mx = tags [tag "MX"]
|
tag_mx = tags [tag "MX"]
|
||||||
tag_srv = tags [tag "SRV"]
|
tag_srv = tags [tag "SRV"]
|
||||||
tag_spf = tags [tag "SPF"]
|
tag_spf = tags [tag "SPF"]
|
||||||
tag_dkim = tags [tag "DKIM", tag "work in progress 😂"]
|
tag_dkim = tags [tag "DKIM"]
|
||||||
tag_basic_ro = tags [tag_ro "Basic RRs", tag_ro "read only"]
|
tag_basic_ro = tags [tag_ro "Basic RRs", tag_ro "read only"]
|
||||||
|
|
||||||
rr_box :: HH.HTML w Action -- box title (type of data)
|
rr_box :: HH.HTML w Action -- box title (type of data)
|
||||||
@ -862,7 +873,8 @@ render_resources records
|
|||||||
-- , HH.td_ [ Bulma.p $ maybe "(default)" id rr.v ] -- For now, version isn't displayed. Assume DKIM1.
|
-- , HH.td_ [ Bulma.p $ maybe "(default)" id rr.v ] -- For now, version isn't displayed. Assume DKIM1.
|
||||||
HH.td_ [ Bulma.p $ maybe "" DKIM.show_hashing_algorithm dkim.h ]
|
HH.td_ [ Bulma.p $ maybe "" DKIM.show_hashing_algorithm dkim.h ]
|
||||||
, HH.td_ [ Bulma.p $ maybe "" DKIM.show_signature_algorithm dkim.k ]
|
, HH.td_ [ Bulma.p $ maybe "" DKIM.show_signature_algorithm dkim.k ]
|
||||||
, HH.td_ [ Bulma.p dkim.p ]
|
, HH.td_ [ Bulma.p $ CP.take 5 dkim.p ]
|
||||||
|
, HH.td_ [ Bulma.p $ fromMaybe "" dkim.n ]
|
||||||
, if rr.readonly
|
, if rr.readonly
|
||||||
then HH.td_ [ Bulma.btn_readonly ]
|
then HH.td_ [ Bulma.btn_readonly ]
|
||||||
else HH.td_ [ Bulma.btn_modify (CreateUpdateRRModal rr.rrid) ]
|
else HH.td_ [ Bulma.btn_modify (CreateUpdateRRModal rr.rrid) ]
|
||||||
|
@ -145,6 +145,7 @@ dkim_table_header
|
|||||||
, HH.th_ [ HH.text "Hash algo" ]
|
, HH.th_ [ HH.text "Hash algo" ]
|
||||||
, HH.th_ [ HH.text "Signature algo" ]
|
, HH.th_ [ HH.text "Signature algo" ]
|
||||||
, HH.th_ [ HH.text "Public Key" ]
|
, HH.th_ [ HH.text "Public Key" ]
|
||||||
|
, HH.th_ [ HH.text "Notes" ]
|
||||||
, HH.th_ [ HH.text "" ]
|
, HH.th_ [ HH.text "" ]
|
||||||
, HH.th_ [ HH.text "" ]
|
, HH.th_ [ HH.text "" ]
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user