package Ġbr . com . z up . pix . regist ra Ċ Ċ import Ġbr . com . z up . integr acao . it au . Cont as It au Client Ċ import Ġbr . com . z up . pix . Ch ave Pix Ċ import Ġbr . com . z up . pix . Ch ave Pix Ex istent e Exception Ċ import Ġbr . com . z up . pix . Ch ave Pix Repository Ċ import Ġio . mic ronaut . grpc . annotation . Grpc Service Ċ import Ġio . mic ronaut . validation . Validated Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ import Ġjavax . transaction . Transactional Ċ import Ġjavax . validation . Valid Ċ Ċ @ Singleton Ċ @ Validated Ċ @ Grpc Service Ċ class ĠN ova Ch ave Pix Service ( ĊĠ Ġ@ Inject Ġval Ġrepository : ĠCh ave Pix Repository , ĊĠ Ġ@ Inject Ġval Ġit au Client : ĠCont as It au Client Ċ ) Ġ{ ĊĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger ( this :: class . java ) ĊĊĠ Ġ@ Transactional ĊĠ Ġfun Ġregist ra (@ Valid Ġnova Ch ave : ĠN ova Ch ave Pix ): ĠCh ave Pix Ġ{ ĊĊĠĠĠ Ġif Ġ( repository . exists By Ch ave ( nova Ch ave . ch ave )) ĊĠĠĠĠĠ Ġthrow ĠCh ave Pix Ex istent e Exception (" Ch ave ĠP ix Ġ'${ nova Ch ave . ch ave }' Ġexist ente ") ĊĊĠĠĠ Ġval Ġresponse Client It au Ġ= Ġit au Client . bus ca Cont a Por Tipo ( ĊĠĠĠĠĠ Ġnova Ch ave . id Cliente !! , Ġnova Ch ave . tipo Cont a !!. name ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġconta Ġ= Ġresponse Client It au . body ()?. to Model () Ġ?: Ġthrow ĠIllegalStateException ( ĊĠĠĠĠĠ Ġ" Cliente ĠnÃ£o Ġencontr ado Ġno ĠI tau " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġch ave Ġ= Ġnova Ch ave . to Model ( cont a ) ĊĠĠĠ Ġrepository . save ( ch ave ) ĊĊĠĠĠ Ġreturn Ġch ave ĊĠ Ġ} Ċ }