package Ġbr . com . z up academy . ap ass . pix . key manager grpc . endpoint Ċ Ċ import Ġbr . com . z up academy . ap ass . pix . key manager grpc . endpoint . Rem oc ao De Ch ave Pix Service Grpc . Rem oc ao De Ch ave Pix ServiceImpl Base Ċ import Ġbr . com . z up academy . ap ass . pix . key manager grpc . external _ service . bcb . B cb Client Ċ import Ġbr . com . z up academy . ap ass . pix . key manager grpc . external _ service . bcb . Delete Pix Key Request Ċ import Ġbr . com . z up academy . ap ass . pix . key manager grpc . external _ service . erp _ it au . E rp It au Client Ċ import Ġbr . com . z up academy . ap ass . pix . key manager grpc . repository . Ch ave Pix Repository Ċ import Ġio . grpc . Status Ċ import Ġio . grpc . Status RuntimeException Ċ import Ġio . grpc . stub . Stream Observer Ċ import Ġio . mic ronaut . http . HttpStatus Ċ import Ġio . mic ronaut . http . client . exceptions . HttpClient Response Exception Ċ import Ġjak arta . inject . Singleton Ċ import Ġjava . util .* Ċ Ċ @ Singleton Ċ class ĠRem oc ao De Ch ave Pix End p ont ( ĊĠĠĠ Ġprivate Ġval Ġch ave Pix Repository : ĠCh ave Pix Repository , ĊĠĠĠ Ġprivate Ġval Ġer p It au Client : ĠE rp It au Client , ĊĠĠĠ Ġprivate Ġval Ġb cb Client : ĠB cb Client Ċ ) Ġ: ĠRem oc ao De Ch ave Pix ServiceImpl Base () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( request : ĠRem oc ao De Ch ave Pix Request ?, Ġresponse Observer : ĠStream Observer < Rem oc ao De Ch ave Pix Reply > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Observer ?. onError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus RuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . INVALID _ ARGUMENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Description (" Re quis icao ĠnÃ£o Ġpode Ġser Ġn ula !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// TODO : ĠValid aÃ§Ã£o Ġdo ĠUUID ĊĠĠĠĠĠĠĠ Ġval Ġposs ivel Ch ave Pix Ġ= Ġthis . ch ave Pix Repository . findById ent ificador ( UUID . fromString ( request . ch ave Pix Id )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( poss ivel Ch ave Pix . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Observer ?. onError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus RuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . NOT _ FOUND . with Description (" Ch ave ĠPIX Ġcom Ġident ificador Ġ" Ġ+ Ġrequest . ch ave Pix Id Ġ+ Ġ" ĠnÃ£o Ġfoi Ġencontr ada !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġposs ivel Ch ave Pix . get (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . cliente Id Ġ!= Ġrequest . cliente Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Observer ?. onError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus RuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . PERMISSION _ DEN IED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Description (" Oper a ĠnÃ£o Ġpermit ida . ĠS oment e Ġo ĠprÃ³ pri et Ã¡rio Ġda Ġch ave ĠPIX Ġpode Ġremov Ãª - la !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . bcb Client . delete Pix Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġit . valor Ch ave !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ= ĠDelete Pix Key Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġit . valor Ch ave !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticipant Ġ= Ġthis . erp It au Client . consult a Cont a ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcliente Id Ġ= Ġit . cliente Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ġ= Ġit . tipo Cont a ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). inst itu icao . is pb ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . ch ave Pix Repository . delete ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( httpClient Response Exception : ĠHttpClient Response Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( httpClient Response Exception . status . code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttpStatus . NOT _ FOUND . code Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttpStatus . FOR BID DEN . code Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Observer ?. onError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus RuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . PERMISSION _ DEN IED . with Description (" NÃ£o Ġfoi Ġpermit ida Ġrealizar Ġa Ġoper aÃ§Ã£o !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Observer ?. onError ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus RuntimeException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . UNKNOWN . with Description (" Erro Ġdes con he c ido Ġao Ġtent ar Ġrealizar Ġa Ġexclus Ã£o Ġda Ġch ave ĠPIX !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġresponse Observer ?. onNext ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRem oc ao De Ch ave Pix Reply ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Mens agem (" Ch ave ĠPIX Ġde let ada Ġcom Ġsu cesso !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġresponse Observer ?. on Completed () ĊĠĠĠ Ġ} Ċ }