package Ġbr . com . z up academy . gio v anna . pix . rem oc ao Ċ Ċ import Ġbr . com . z up academy . gio v anna . ex ce co es . Ch ave Pix N ao En contr ada Exception Ċ import Ġbr . com . z up academy . gio v anna . extern os . bcb . B cb Client Ċ import Ġbr . com . z up academy . gio v anna . extern os . bcb . Delete Pix Key Request Ċ import Ġbr . com . z up academy . gio v anna . pix . Ch ave Pix Repository Ċ import Ġio . mic ronaut . http . HttpStatus Ċ import Ġio . mic ronaut . http . client . exceptions . HttpClient Response Exception Ċ import Ġio . mic ronaut . validation . Validated Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Singleton Ċ import Ġjavax . validation . Valid Ċ Ċ @ Validated Ċ @ Singleton Ċ class ĠGer enci ador Ex clus ao Ch ave Pix ( ĊĠĠĠ Ġval Ġch ave Pix Repository : ĠCh ave Pix Repository , ĊĠĠĠ Ġval Ġb cb Client : ĠB cb Client Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠĠĠ Ġfun Ġt enta Ex cluir (@ Valid Ġch ave Rem oc ao Request : ĠCh ave Rem oc ao Request ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġpix Id Ġ= ĠUUID . fromString ( ch ave Rem oc ao Request . pix Id ) ĊĠĠĠĠĠĠĠ Ġval Ġcliente Id Ġ= ĠUUID . fromString ( ch ave Rem oc ao Request . cliente Id ) ĊĊĠĠĠĠĠĠĠ ĠLOGGER . info (" [$ cliente Id ] Ġremov endo Ġuma Ġch ave Ġpix Ġcom Ġ$ pix Id ") ĊĊĠĠĠĠĠĠĠ Ġ// Ġbus car Ġch ave Ġno Ġbanco Ġ( se ĠnÃ£o Ġexist ir , Ġret orna Ġnot _ found Ġcom Ġmens agem Ġam ig Ã¡vel ) ĊĠĠĠĠĠĠĠ Ġval Ġch ave En contr ada Ġ= Ġch ave Pix Repository . findById And Cliente Id ( pix Id , Ġcliente Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse Throw Ġ{ ĠCh ave Pix N ao En contr ada Exception (" Ch ave ĠP ix ĠnÃ£o Ġencontr ada Ġpara Ġeste Ġcliente ") Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġch ave En contr ada . valor Ch ave ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb cb Response Ġ= Ġb cb Client . delete ( key , ĠDelete Pix Key Request ( key )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bcb Response . status Ġ== ĠHttpStatus . OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠsÃ³ Ġremove Ġse Ġcon segu ir Ġremo ver Ġdo ĠB CB Ġou Ġse ĠjÃ¡ ĠnÃ£o Ġest iver Ġl Ã¡ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Pix Repository . delete ById ( pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttpClient Response Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( e . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttpStatus . FOR BID DEN Ġ-> Ġthrow ĠIllegalStateException (" Pro ib ido Ġrealizar Ġoper aÃ§Ã£o Ġno ĠB anco ĠCentral Ġdo ĠBr as il Ġ( B CB )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttpStatus . NOT _ FOUND Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġse ĠjÃ¡ ĠnÃ£o Ġexist ir Ġno Ġsistema Ġextern o , Ġeu Ġposs o Ġex cluir Ġda Ġmin ha ĠaplicaÃ§Ã£o ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Pix Repository . delete ById ( pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// throw ĠCh ave Pix N ao En contr ada Exception (" Ch ave Ġpix ĠnÃ£o Ġencontr ada Ġno ĠB anco ĠCentral Ġdo ĠBr as il Ġ( B CB )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Erro Ġao Ġremo ver Ġch ave ĠP ix Ġno ĠB anco ĠCentral Ġdo ĠBr as il Ġ( B CB )") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }