package Ġbr . com . z up academy . mar io . integration Ċ Ċ import Ġbr . com . z up academy . mar io . pix . Ch ave Pix Ċ import Ġbr . com . z up academy . mar io . pix . Cont a Associ ada Ċ import Ġbr . com . z up academy . mar io . pix . Tipo De Ch ave Ċ import Ġbr . com . z up academy . mar io . pix . Tipo De Cont a Ċ import Ġio . mic ronaut . http . HttpResponse Ċ import Ġio . mic ronaut . http . MediaType Ċ import Ġio . mic ronaut . http . annotation . Body Ċ import Ġio . mic ronaut . http . annotation . Delete Ċ import Ġio . mic ronaut . http . annotation . PathVariable Ċ import Ġio . mic ronaut . http . annotation . Post Ċ import Ġio . mic ronaut . http . client . annotation . Client Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util .* Ċ Ċ @ Client ("\ ${ bcb . url }") Ċ interface ĠIntegr acao B CB Ġ{ ĊĊĠĠĠ Ġ@ Post ( consume s Ġ= Ġ[ MediaType . APPLICATION _ XML ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ XML ]) ĊĠĠĠ Ġfun Ġcada stra (@ Body Ġrequest : ĠC ada stra Ch ave Request ): ĠHttpResponse < C ada stra Ch ave Response > ĊĊĠĠĠ Ġ@ Delete ( value Ġ= Ġ"/ { key }", Ġconsume s Ġ= Ġ[ MediaType . APPLICATION _ XML ], Ġproduces Ġ= Ġ[ MediaType . APPLICATION _ XML ]) ĊĠĠĠ Ġfun Ġde leta (@ PathVariable Ġkey : ĠString , Ġ@ Body Ġrequest : ĠDe leta Ch ave Request ): ĠHttpResponse < De leta Ch ave Response > Ċ Ċ } Ċ Ċ class ĠDe leta Ch ave Request ( ĊĠĠĠ Ġval Ġkey : ĠString , ĊĠĠĠ Ġval Ġparticipant : ĠString , Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġof ( ch ave : ĠCh ave Pix ): ĠDe leta Ch ave Request Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDe leta Ch ave Request ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġch ave . ch ave , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticipant Ġ= ĠCont a Associ ada . is pb ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠDe leta Ch ave Response ( ĊĠĠĠ Ġval Ġkey : ĠString , ĊĠĠĠ Ġval Ġparticipant : ĠString , ĊĠĠĠ Ġval Ġdeleted At : ĠLocalDateTime Ċ ) Ċ Ċ data Ġclass ĠC ada stra Ch ave Response ( ĊĠĠĠ Ġval Ġkey Type : ĠString , ĊĠĠĠ Ġval Ġkey : ĠString , ĊĠĠĠ Ġval Ġbank Account : ĠCont a Request , ĊĠĠĠ Ġval Ġowner : ĠT it ular Request , ĊĠĠĠ Ġval ĠcreatedAt : ĠLocalDateTime Ċ ) Ġ{ ĊĊĊĠĠĠ Ġfun Ġpara Ch ave ( cliente Id : ĠString , Ġinst itu icao : ĠString ): ĠCh ave Pix Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCh ave Pix ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcliente Id Ġ= ĠUUID . fromString ( cliente Id ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Ġ= ĠP ix KeyType . valueOf ( key Type ). para Enum Local (), // Ġm ape ia Ġenum Ġdo Ġb cb Ġpara Ġo Ġlocal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġch ave Ġ= Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo De Cont a Ġ= ĠAccount Type . valueOf ( bank Account . account Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. para Enum Local (), // Ġm ape ia Ġenum Ġdo ĠB CB Ġpara Ġo Ġlocal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconta Associ ada Ġ= ĠCont a Associ ada ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc pf Do T it ular Ġ= Ġowner . tax Id Number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinst itu icao Ġ= Ġinst itu icao , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġag encia Ġ= Ġbank Account . branch , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumero Ġ= Ġbank Account . account Number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt it ular Ġ= Ġowner . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠC ada stra Ch ave Request ( ĊĠĠĠ Ġval Ġkey Type : ĠString , ĊĠĠĠ Ġval Ġkey : ĠString , ĊĠĠĠ Ġval Ġbank Account : ĠCont a Request , ĊĠĠĠ Ġval Ġowner : ĠT it ular Request Ċ ) Ċ Ċ data Ġclass ĠT it ular Request ( ĊĠĠĠ Ġval Ġtype : ĠString , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġtax Id Number : ĠString , Ċ ) Ġ{ Ċ Ċ } Ċ Ċ data Ġclass ĠCont a Request ( ĊĠĠĠ Ġval Ġparticipant : ĠString , ĊĠĠĠ Ġval Ġbranch : ĠString , ĊĠĠĠ Ġval Ġaccount Number : ĠString , ĊĠĠĠ Ġval Ġaccount Type : ĠString Ċ ) Ġ{ Ċ Ċ } Ċ Ċ enum Ġclass ĠAccount Type Ġ{ ĊĠĠĠ ĠC ACC Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): ĠTipo De Cont a Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Cont a . CONT A _ COR REN TE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ}, ĊĠĠĠ ĠSG VS Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): ĠTipo De Cont a Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Cont a . CONT A _ PO UP AN CA ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ}; ĊĊĠĠĠ Ġabstract Ġfun Ġpara Enum Local (): ĠTipo De Cont a Ċ } Ċ Ċ enum Ġclass ĠP ix KeyType Ġ{ ĊĠĠĠ ĠC PF Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): Tipo De Ch ave { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Ch ave . CP F ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠCN PJ Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): Tipo De Ch ave { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Ch ave . CP F ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠPH ONE Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): Tipo De Ch ave { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Ch ave . CEL ULAR ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠE MAIL Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): Tipo De Ch ave { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Ch ave . EMAIL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠR AN DOM Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpara Enum Local (): Tipo De Ch ave { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTipo De Ch ave . ALE ATOR IA ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}; ĊĠĠĠ Ġabstract Ġfun Ġpara Enum Local () Ġ: ĠTipo De Ch ave Ċ }