package Ġru . ot us . ot us kotlin . marketplace . backend . repository . dynamodb . dto Ċ Ċ import Ġru . ot us . ot us kotlin . marketplace . common . backend . models . Mp Tech Param Id Model Ċ import Ġru . ot us . ot us kotlin . marketplace . common . backend . models . Mp Tech Param Model Ċ import Ġsoftware . amazon . aw ssdk . en hanced . dynamodb . mapper . annotations . D ynamo Db Attribute Ċ import Ġsoftware . amazon . aw ssdk . en hanced . dynamodb . mapper . annotations . D ynamo Db Bean Ċ Ċ @ D ynamo Db Bean Ċ data Ġclass ĠTech Param Dto D ynamoDB ( ĊĠĠĠ Ġ@ get : D ynamo Db Attribute ( ID ) ĊĠĠĠ Ġval Ġid : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : D ynamo Db Attribute ( NAME ) ĊĠĠĠ Ġval Ġname : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : D ynamo Db Attribute ( DESCRIPTION ) ĊĠĠĠ Ġval Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : D ynamo Db Attribute ( PRIORITY ) ĊĠĠĠ Ġval Ġpriority : ĠDouble ? Ġ= Ġnull , ĊĠĠĠ Ġ@ get : D ynamo Db Attribute ( UNITS ) ĊĠĠĠ Ġval Ġunits : ĠList < Unit Type Dto D ynamoDB >? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġconstructor ( model : ĠM p Tech Param Model ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġmodel . id . take If Ġ{ Ġit Ġ!= ĠM p Tech Param Model . NONE . id Ġ} ?. id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġmodel . name . take If Ġ{ Ġit Ġ!= ĠM p Tech Param Model . NONE . name Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġmodel . description . take If Ġ{ Ġit Ġ!= ĠM p Tech Param Model . NONE . description Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpriority Ġ= Ġmodel . priority . take If Ġ{ Ġit Ġ!= ĠM p Tech Param Model . NONE . priority Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunits Ġ= Ġmodel . units ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit Ġ!= ĠM p Tech Param Model . NONE . units Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ ĠUnit Type Dto D ynamoDB ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġto Model (): ĠM p Tech Param Model Ġ= ĊĠĠĠĠĠĠĠ ĠM p Tech Param Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġid ?. let Ġ{ ĠM p Tech Param Id Model ( it ) Ġ} Ġ?: ĠM p Tech Param Id Model . NONE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname Ġ?: ĠM p Tech Param Model . NONE . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġdescription Ġ?: ĠM p Tech Param Model . NONE . description , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpriority Ġ= Ġpriority Ġ?: ĠM p Tech Param Model . NONE . priority , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunits Ġ= Ġunits ?. map Ġ{ Ġit . to Model () Ġ} ?. to Mutable Set () Ġ?: ĠM p Tech Param Model . NONE . units ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠID Ġ= Ġ" id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNAME Ġ= Ġ" name " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDESCRIPTION Ġ= Ġ" description " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPR I ORITY Ġ= Ġ" priority " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠUN ITS Ġ= Ġ" units " ĊĠĠĠ Ġ} Ċ }