package Ġdev . g um il . n ook bot . repository Ċ Ċ import Ġcom . amazonaws . services . dynamodb v 2 . data modeling . D ynamoDB Attribute Ċ import Ġcom . amazonaws . services . dynamodb v 2 . data modeling . D ynamoDB Document Ċ import Ġcom . amazonaws . services . dynamodb v 2 . data modeling . D ynamoDB Hash Key Ċ import Ġcom . amazonaws . services . dynamodb v 2 . data modeling . D ynamoDB Table Ċ import Ġdev . g um il . n ook bot . entities . Order Ċ import Ġdev . g um il . n ook bot . entities . Res ident Ċ Ċ const Ġval ĠTABLE _ NAME Ġ= Ġ" N ook Bot " Ċ Ċ @ D ynamoDB Table ( tableName Ġ= ĠTABLE _ NAME ) Ċ data Ġclass ĠN ook Bot Table ( ĊĊĠĠĠ Ġ@ get : D ynamoDB Hash Key ( attribute Name Ġ= Ġ" id ") ĊĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" orders ") ĊĠĠĠ Ġvar Ġorders : ĠList < Order Document > Ġ= Ġempty List () Ċ ) Ċ Ċ @ D ynamoDB Document Ċ data Ġclass ĠOrder Document ( ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" id ") ĊĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" name ") ĊĠĠĠ Ġvar Ġname : ĠString ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" buyer ") ĊĠĠĠ Ġvar Ġbuy er : ĠRes ident Document ? Ġ= Ġnull , ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" seller ") ĊĠĠĠ Ġvar Ġsell er : ĠRes ident Document ? Ġ= Ġnull Ċ ) Ċ Ċ @ D ynamoDB Document Ċ data Ġclass ĠRes ident Document ( ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" id ") ĊĠĠĠ Ġvar Ġid : ĠLong Ġ= Ġ 0 , ĊĊĠĠĠ Ġ@ get : D ynamoDB Attribute ( attribute Name Ġ= Ġ" name ") ĊĠĠĠ Ġvar Ġname : ĠString ? Ġ= Ġnull Ċ ) Ċ Ċ internal Ġfun ĠOrder . to Document (): ĠOrder Document Ġ{ ĊĠĠĠ Ġreturn ĠOrder Document ( ĊĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠ Ġname , ĊĠĠĠĠĠĠĠ Ġbuy er . to Document (), ĊĠĠĠĠĠĠĠ Ġsell er ?. to Document () ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun ĠRes ident . to Document (): ĠRes ident Document Ġ{ ĊĠĠĠ Ġreturn ĠRes ident Document ( ĊĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠ Ġname ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun ĠOrder Document . to Entity (): ĠOrder Ġ{ ĊĠĠĠ Ġreturn ĠOrder ( ĊĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠ Ġname Ġ?: Ġthrow ĠIllegalArgumentException (" name Ġshould Ġnot Ġbe Ġnull "), ĊĠĠĠĠĠĠĠ Ġbuy er ?. to Entity () Ġ?: Ġthrow ĠIllegalArgumentException (" buyer Ġshould Ġnot Ġbe Ġnull "), ĊĠĠĠĠĠĠĠ Ġsell er ?. to Entity () ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun ĠRes ident Document . to Entity (): ĠRes ident Ġ{ ĊĠĠĠ Ġreturn ĠRes ident ( ĊĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠ Ġname Ġ?: Ġthrow ĠIllegalArgumentException (" name Ġshould Ġnot Ġbe Ġnull ") ĊĠĠĠ Ġ) Ċ } Ċ