package Ġcom . k ru . kot boot . model Ċ Ċ import Ġjava . util .* Ċ import Ġjavax . persistence .* Ċ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" user ") Ċ data Ġclass ĠUser ( ĊĠĠĠĠĠĠĠ Ġ@ Id Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY Ġ) ĊĠĠĠĠĠĠĠ Ġ@ Column ( name =" user _ id ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠuserId : ĠLong Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġvar Ġuid : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġprovider : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar ĠfirstName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar ĠlastName : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġemail : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġactive : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġvar Ġactivated At : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġlogin At : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġlogout At : ĠDate ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġtimestamp : ĠDate ? Ġ= ĠDate ()) Ġ{ ĊĊĊĠĠĠ Ġ@ OneToMany ( fetch Ġ= ĠFetch Type . LA ZY , Ġcascade Ġ= Ġ[( Cascade Type . DET ACH )]) ĊĠĠĠ Ġ@ JoinColumn ( name Ġ= Ġ" user _ id ", Ġreferenced ColumnName Ġ= Ġ" user _ id ") ĊĠĠĠ Ġprivate Ġval Ġprojects : ĠMutable Set < Project > Ġ= ĠHashSet () ĊĊĠĠĠ Ġfun Ġto Dto (): ĠUser Dto Ġ= ĠUser Dto ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġthis . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuid Ġ= Ġthis . uid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Ġ= Ġthis . provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= Ġthis . firstName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= Ġthis . lastName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġthis . email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactive Ġ= Ġthis . active , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivated At Ġ= Ġthis . activated At , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogin At Ġ= Ġthis . login At , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogout At Ġ= Ġthis . logout At , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtimestamp Ġ= Ġthis . timestamp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprojects Ġ= Ġthis . projects . map Ġ{ Ġx -> Ġx . to Dto () Ġ}. to Collection ( HashSet ())) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Dto ( user Req : ĠUser CreateRequest ) Ġ= ĠUser ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= Ġuser Req . firstName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= Ġuser Req . lastName , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġuser Req . email ) ĊĠĠĠ Ġ} Ċ } ĊĊĊ