package Ġcom . m arius zf . flat config . adapters . rest Ċ Ċ import Ġcom . m arius zf . flat config . application . service . Flat Ċ import Ġcom . m arius zf . flat config . application . service . Room Ċ import Ġorg . jetbrains . annotations . NotNull Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠFlat DTO ( ĊĠĠĠ Ġ@ NotNull Ġval Ġflat Id : ĠUUID , ĊĠĠĠ Ġ@ NotNull Ġval Ġtotal Surface : ĠDouble , ĊĠĠĠ Ġ@ NotNull Ġval Ġcommon Part Surface : ĠDouble , ĊĠĠĠ Ġ@ NotNull Ġval Ġrooms : ĠList < Room Simple DTO > Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Domain ( flat : ĠFlat ): ĠFlat DTO Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFlat DTO ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflat . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflat . total Surface , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflat . common Part Surface , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflat . rooms . map Ġ{ ĠRoom Simple DTO . from Domain ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ data Ġclass ĠFlat Create DTO ( val Ġtotal Surface : ĠDouble ) Ċ data Ġclass ĠFlat Update DTO ( val Ġflat Id : ĠUUID , Ġval Ġtotal Surface : ĠDouble ) Ċ data Ġclass ĠFlat Delete DTO ( val Ġflat Id : ĠUUID ) Ċ Ċ data Ġclass ĠRoom DTO ( val Ġroom Id : ĠUUID , Ġval Ġsurface : ĠDouble , Ġval Ġflat Id : ĠUUID ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Domain ( room : ĠRoom ): ĠRoom DTO Ġ= ĠRoom DTO ( room . id , Ġroom . surface , Ġroom . flat Id ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠRoom Simple DTO ( val Ġroom Id : ĠUUID , Ġval Ġsurface : ĠDouble ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Domain ( room : ĠRoom ): ĠRoom Simple DTO Ġ= ĠRoom Simple DTO ( room . id , Ġroom . surface ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠRoom Create DTO ( val Ġsurface : ĠDouble , Ġval Ġflat Id : ĠUUID ) Ċ data Ġclass ĠRoom Update DTO ( val Ġroom Id : ĠUUID , Ġval Ġsurface : ĠDouble ) Ċ data Ġclass ĠRoom Delete DTO ( val Ġroom Id : ĠUUID )