@@ -39,6 +39,7 @@ module Kernel.External.Verification.Interface
3939 fetchAndExtractVerifiedPan ,
4040 fetchAndExtractVerifiedAadhaar ,
4141 getVerifiedAadhaarXML ,
42+ verifyRCMorth ,
4243 )
4344where
4445
@@ -56,6 +57,7 @@ import qualified Kernel.External.Verification.Interface.Digilocker as DigiLocker
5657import qualified Kernel.External.Verification.Interface.HyperVerge as HyperVerge
5758import qualified Kernel.External.Verification.Interface.Idfy as Idfy
5859import qualified Kernel.External.Verification.Interface.InternalScripts as IS
60+ import qualified Kernel.External.Verification.Interface.Morth as Morth
5961import qualified Kernel.External.Verification.Interface.SafetyPortal as SafetyPortal
6062import qualified Kernel.External.Verification.Interface.Tten as Tten
6163import Kernel.External.Verification.Interface.Types as Reexport
@@ -84,6 +86,7 @@ verifyDLAsync serviceConfig req = case serviceConfig of
8486 HyperVergeVerificationConfigRCDL cfg -> HyperVerge. verifyDLAsync cfg req
8587 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
8688 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
89+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
8790
8891verifyPanAsync ::
8992 ( EncFlow m r ,
@@ -102,6 +105,7 @@ verifyPanAsync serviceConfig req = case serviceConfig of
102105 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
103106 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
104107 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
108+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
105109
106110verifyGstAsync ::
107111 ( EncFlow m r ,
@@ -120,6 +124,7 @@ verifyGstAsync serviceConfig req = case serviceConfig of
120124 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
121125 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
122126 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
127+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
123128
124129verifyBankAccountAsync ::
125130 ( EncFlow m r ,
@@ -138,6 +143,7 @@ verifyBankAccountAsync serviceConfig req = case serviceConfig of
138143 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
139144 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
140145 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
146+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
141147
142148verifyPanAadhaarLinkAsync ::
143149 ( EncFlow m r ,
@@ -156,6 +162,7 @@ verifyPanAadhaarLinkAsync serviceConfig req = case serviceConfig of
156162 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
157163 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
158164 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
165+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
159166
160167verifyUdyamAadhaarAsync ::
161168 ( EncFlow m r ,
@@ -174,6 +181,7 @@ verifyUdyamAadhaarAsync serviceConfig req = case serviceConfig of
174181 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
175182 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
176183 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
184+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
177185
178186verifyRC ::
179187 ( EncFlow m r ,
@@ -222,6 +230,7 @@ verifyRC' serviceConfig req = case serviceConfig of
222230 HyperVergeVerificationConfigRCDL cfg -> HyperVerge. verifyRCAsync cfg req
223231 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
224232 TtenVerificationConfig cfg -> Tten. verifyTten cfg req
233+ MorthConfig cfg -> Morth. verifyRCAsync cfg req
225234
226235validateImage ::
227236 ( EncFlow m r ,
@@ -240,6 +249,7 @@ validateImage serviceConfig req = case serviceConfig of
240249 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
241250 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
242251 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
252+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
243253
244254validateFaceImage ::
245255 ( CoreMetrics m ,
@@ -258,6 +268,7 @@ validateFaceImage serviceConfig req = case serviceConfig of
258268 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
259269 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
260270 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
271+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
261272
262273extractRCImage ::
263274 ( EncFlow m r ,
@@ -276,6 +287,7 @@ extractRCImage serviceConfig req = case serviceConfig of
276287 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
277288 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
278289 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
290+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
279291
280292extractDLImage ::
281293 ( EncFlow m r ,
@@ -294,6 +306,7 @@ extractDLImage serviceConfig req = case serviceConfig of
294306 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
295307 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
296308 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
309+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
297310
298311extractPanImage ::
299312 ( EncFlow m r ,
@@ -312,6 +325,7 @@ extractPanImage serviceConfig req = case serviceConfig of
312325 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
313326 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
314327 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
328+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
315329
316330extractGSTImage ::
317331 ( EncFlow m r ,
@@ -330,6 +344,7 @@ extractGSTImage serviceConfig req = case serviceConfig of
330344 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
331345 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
332346 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
347+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
333348
334349extractUdyogAadhaarAsync ::
335350 ( EncFlow m r ,
@@ -348,6 +363,7 @@ extractUdyogAadhaarAsync serviceConfig req = case serviceConfig of
348363 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
349364 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
350365 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
366+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
351367
352368extractAadhaarImage ::
353369 ( EncFlow m r ,
@@ -366,6 +382,7 @@ extractAadhaarImage serviceConfig req = case serviceConfig of
366382 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
367383 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
368384 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
385+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
369386
370387nameCompare ::
371388 ( EncFlow m r ,
@@ -384,6 +401,7 @@ nameCompare serviceConfig req = case serviceConfig of
384401 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
385402 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
386403 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
404+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
387405
388406searchAgent ::
389407 ( EncFlow m r ,
@@ -414,6 +432,7 @@ verifySdkResp serviceConfig req = case serviceConfig of
414432 HyperVergeVerificationConfigRCDL _ -> throwError $ InternalError " Not Implemented!"
415433 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
416434 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
435+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
417436
418437getTask ::
419438 ( EncFlow m r ,
@@ -433,6 +452,7 @@ getTask serviceConfig req updateResp = case serviceConfig of
433452 HyperVergeVerificationConfigRCDL cfg -> HyperVerge. getVerificationStatus cfg req updateResp
434453 DigiLockerConfig _ -> throwError $ InternalError " Not Implemented!"
435454 TtenVerificationConfig _ -> throwError $ InternalError " Not Implemented!"
455+ MorthConfig _ -> throwError $ InternalError " Not Implemented!"
436456
437457fetchAndExtractVerifiedDL ::
438458 ( EncFlow m r ,
@@ -529,3 +549,20 @@ getVerifiedAadhaarXML ::
529549getVerifiedAadhaarXML serviceConfig req = case serviceConfig of
530550 DigiLockerConfig cfg -> DigiLocker. getVerifiedAadhaarXML cfg req. accessToken
531551 _ -> throwError $ InternalError " Not Implemented!"
552+
553+ -- | Dedicated entry-point for the MoRTH vehicle-RC validity check.
554+ -- Unlike the generic 'verifyRC' / 'verifyRC'' dispatch this function accepts
555+ -- a 'MorthConfig' directly so callers do not need to wire it through the
556+ -- priority-list mechanism.
557+ verifyRCMorth ::
558+ ( EncFlow m r ,
559+ CoreMetrics m ,
560+ HasRequestId r ,
561+ MonadReader r m
562+ ) =>
563+ VerificationServiceConfig ->
564+ VerifyRCReq ->
565+ m VerifyRCResp
566+ verifyRCMorth serviceConfig req = case serviceConfig of
567+ MorthConfig cfg -> Morth. verifyRCAsync cfg req
568+ _ -> throwError $ InternalError " verifyRCMorth: MorthConfig expected but a different provider was supplied"
0 commit comments