package Ġbr . com . z up academy . register Ċ Ċ import Ġbr . com . z up academy . Account Type Ċ import Ġbr . com . z up academy . KeyType Request Ċ import Ġbr . com . z up academy . List Pix Key Response Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . util .* Ċ import Ġjavax . persistence .* Ċ import Ġjavax . validation . constraints . NotBlank Ċ import Ġjavax . validation . constraints . NotNull Ċ import Ġjavax . validation . constraints . Size Ċ Ċ @ Entity Ċ class ĠKey Pix ( ĊĠĠĠ Ġ@ field : NotNull Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval ĠclientId : ĠString , ĊĠĠĠ Ġ@ field : NotNull Ġ@ Enumer ated ( Enum Type . STRING ) ĊĠĠĠ Ġval Ġtype : ĠKey Type , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse , Ġunique Ġ= Ġtrue ) Ġ@ Size ( max Ġ= Ġ 7 7 ) ĊĠĠĠ Ġval Ġkey Value : ĠString , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġagency Account : ĠString , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġc pf OwnerAccount : ĠString , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġaccount Inst itution : ĠString , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġname OwnerAccount : ĠString , ĊĠĠĠ Ġ@ field : NotBlank Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġaccount Number : ĠString , ĊĠĠĠ Ġ@ field : NotNull Ġ@ Enumer ated ( Enum Type . STRING ) ĊĠĠĠ Ġval Ġtype Account : ĠAccount Ċ Ċ ) Ġ{ ĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġvar Ġpix Id : ĠString Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠ Ġval Ġcreated In : ĠLocalDateTime Ġ= ĠLocalDateTime . now () ĊĊĠĠĠ Ġprivate Ġconstructor ( key : ĠKey Pix , Ġkey Value : ĠString ) Ġ: Ġthis ( key . clientId , Ġkey . type , Ġkey Value , Ġkey . agency Account , ĊĠĠĠĠĠĠĠ Ġkey . cpf OwnerAccount , Ġkey . account Inst itution , Ġkey . name OwnerAccount , Ġkey . account Number , Ġkey . type Account ){ ĊĠĠĠĠĠĠĠ Ġthis . pix Id Ġ= Ġkey . pix Id ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠI TA U _ BAN CO _ IS PB Ġ= Ġ" 6 0 7 0 1 1 9 0 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbelongs Client ( clientId : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . clientId Ġ== ĠclientId ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Key ( key : ĠString ): ĠKey Pix Ġ= ĠKey Pix ( this , Ġkey ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Key Pix ( clientId ='$ clientId ', ĠKey Type =$ type , Ġkey Value ='$ key Value ', Ġagency Account ='$ agency Account ', Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" cpf OwnerAccount ='$ cpf OwnerAccount ', Ġaccount Inst itution ='$ account Inst itution ', Ġname OwnerAccount ='$ name OwnerAccount ', Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" account Number ='$ account Number ', Ġtype Account =$ type Account , Ġpix Id ='$ pix Id ', Ġcreated In =$ created In )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto List Pix Key Response (): ĠList Pix Key Response . List Pix Key Details ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList Pix Key Response . List Pix Key Details . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pix Id ( this . pix Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ClientId ( this . clientId ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set KeyType ( KeyType Request . valueOf ( this . type . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set KeyValue ( this . key Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Account Type . valueOf ( this . type Account . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ Ċ } Ċ