package Ġbr . com . z up . pix . consult as Ċ Ċ import Ġbr . com . z up . comp art il h ados . exceptions . NotFoundException Ċ import Ġbr . com . z up . comp art il h ados . valid adores . Valid UUID Ċ import Ġbr . com . z up . integr acao . B cb Client Ċ import Ġbr . com . z up . pix . Ch ave Pix Repository Ċ import Ġio . mic ronaut . core . annotation . Int rospect ed Ċ import Ġio . mic ronaut . http . HttpStatus Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util .* Ċ import Ġjavax . validation . constraints . NotBlank Ċ import Ġjavax . validation . constraints . Size ĊĊ Ċ @ Int rospect ed Ċ sealed Ġclass ĠConsult a Ch ave { ĊĊĠĠĠ Ġabstract Ġfun Ġfil tra ( ch ave Pix Repository : ĠCh ave Pix Repository , Ġb cb Client : ĠB cb Client ): ĠConsult a Ch ave Pix Response ĊĊĠĠĠ Ġ@ Int rospect ed ĊĠĠĠ Ġdata Ġclass ĠPor Ch ave Pix Id ( ĊĠĠĠĠĠĠĠ Ġ@ field : NotBlank Ġ@ field : Valid UUID Ġval Ġch ave Pix id : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ field : NotBlank Ġ@ field : Valid UUID Ġval Ġcliente Id : ĠString ĊĠĠĠ Ġ) Ġ: ĠConsult a Ch ave () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfil tra ( ch ave Pix Repository : ĠCh ave Pix Repository , Ġb cb Client : ĠB cb Client ): ĠConsult a Ch ave Pix Response Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġch ave Pix Repository ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findById ( UUID . fromString ( ch ave Pix id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . pert ence Ao Cliente ( UUID . fromString ( cliente Id )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Consult a Ch ave Pix Response . Companion :: of ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Throw Ġ{ ĠNotFound Exception (" Ch ave ĠnÃ£o Ġencontr ada ") Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Int rospect ed ĊĠĠĠ Ġdata Ġclass ĠPor Ch ave (@ field : Size ( max Ġ= Ġ 7 7 ) Ġval Ġch ave : ĠString ) Ġ: ĠConsult a Ch ave () Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Consult a Ch ave :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfil tra ( ch ave Pix Repository : ĠCh ave Pix Repository , Ġb cb Client : ĠB cb Client ): ĠConsult a Ch ave Pix Response Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġch ave Pix Repository ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. findBy Ch ave ( ch ave ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Consult a Ch ave Pix Response . Companion :: of ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Get Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info (" Consult ando Ġch ave Ġ$ ch ave Ġno ĠB anco ĠCentral Ġdo ĠBr as il ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb cb Client . consult a Ch ave ( ch ave ). let Ġ{ ĠhttpResponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( httpResponse . status Ġ!= ĠHttpStatus . OK ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠNotFound Exception (" Ch ave Ġpix ĠnÃ£o Ġencontr ada ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠhttpResponse . body ()?. to Model () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Int rospect ed ĊĠĠĠ Ġclass ĠInvalid a Ġ: ĠConsult a Ch ave () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfil tra ( ch ave Pix Repository : ĠCh ave Pix Repository , Ġb cb Client : ĠB cb Client ): ĠConsult a Ch ave Pix Response Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Consult a Ġinv Ã¡l ida ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }