diff --git a/models/avs.model b/models/avs.model new file mode 100644 index 000000000..c5978553a --- /dev/null +++ b/models/avs.model @@ -0,0 +1,15 @@ +-- Tables to save data received AVS +-- Purpose is to detect external changes in qualifications and postal addresses +UserAvs + personId AvsPersonId -- unique identifier for user throughout avs + user UserId + UniqueUserAvs user personId + deriving Generic + +UserAvsCard + personId AvsPersonId + cardNo Text + card AvsDataPersonCard + lastSynch UTCTime + UniqueAvsCard cardNo + deriving Generic diff --git a/src/Handler/Utils/Avs.hs b/src/Handler/Utils/Avs.hs new file mode 100644 index 000000000..2fd91c505 --- /dev/null +++ b/src/Handler/Utils/Avs.hs @@ -0,0 +1,24 @@ +module Handler.Utils.Avs + ( + checkLicences + ) where + +import Import + +-- import Handler.Utils +-- import qualified Database.Esqueleto.Legacy as E + +import Utils.Avs + +-- | Retrieve all currently valid driving licences and check against our database +-- Only react to changes as compared to last seen status in avs.model +checkLicences :: Handler () +checkLicences = do + getsYesod (view _appAvsQuery) >>= \case + Nothing -> error "Avs Fail" -- TODO + Just AvsQuery{..} -> do + avsQueryGetLicences >>= \case + Left err -> error $ show err -- TODO + Right (AvsGetLicences _licences) -> do + error "CONTINUE HERE" -- TODO STUB +