package Ġio . github . ital by tz . infrastructure . open mens a Ċ Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ class ĠNo Me als For Date Exception ( message : ĠString ) Ġ: ĠException ( message ) Ġ{} Ċ class ĠM ens aC losed Exception ( message : ĠString ) Ġ: ĠException ( message ) Ġ{} Ċ Ċ class ĠOpen Mens a Service Ġ: ĠOpen Mens a API Ġ{ ĊĊĠĠĠ Ġval Ġformatter Ġ= Ġjava . time . format . DateTime Formatter . of Pattern (" yyyy - MM - dd ") ĊĊĠĠĠ Ġval Ġretrofit Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder (). baseUrl (" https :// open mens a . org / api / v 2 /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġvar Ġservice : ĠOpen Mens a API Ġ= ĊĠĠĠĠĠĠĠ Ġretrofit . create ( Open Mens a API :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Can te ens (): ĠCall < List < Can teen >> Ġ= Ġservice . get Can te ens () ĊĊĠĠĠ Ġoverride Ġfun Ġget Days ( id : ĠLong ): ĠCall < List < Day >> Ġ= Ġservice . get Days ( id ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Me als ( id : ĠLong , Ġdate : ĠString ): ĠCall < List < Me al >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdays Ġ= Ġget Days ( id ). execute (). body () !! ĊĠĠĠĠĠĠĠ Ġfor Ġ( day Ġin Ġdays ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( day . date . equals ( date )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( day . closed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠM ens aC losed Exception (" Mens a Ġ$ id Ġclosed Ġon Ġ$ date .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġservice . get Me als ( id , Ġdate ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠNo Me als For Date Exception (" No Ġme als Ġfor ĠM ens a Ġ$ id Ġon Ġ$ date .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Tod ays Me als ( id : ĠLong ): ĠCall < List < Me al >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġformatted Date Ġ= Ġjava . time . LocalDate . now (). format ( formatter ) ĊĠĠĠĠĠĠĠ Ġreturn Ġget Me als ( id , Ġformatted Date ) ĊĠĠĠ Ġ} Ċ }