package Ġde . de bu gle vel . walk ing d inner . backend . report . team . gmail Ċ Ċ import Ġcom . google . api . services . gmail . model . Draft Ċ import Ġde . de bu gle vel . walk ing d inner . backend . meeting . Meeting Ċ import Ġde . de bu gle vel . walk ing d inner . backend . report . Reporter Ċ import Ġde . de bu gle vel . walk ing d inner . backend . report . team . Text Report Service Ċ import Ġde . de bu gle vel . walk ing d inner . backend . team . Team Ċ import Ġjak arta . inject . Singleton Ċ import Ġmu . Kotlin Logging Ċ Ċ @ Singleton Ċ class ĠG mail Draft Report Service ( ĊĠĠĠ Ġprivate Ġval Ġtext Report Service : ĠText Report Service , ĊĠĠĠ Ġprivate Ġval Ġg mail Service : ĠG mail Service Ċ ) Ġ: ĠReport er Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠKotlin Logging . logger Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate Reports ( meet ings : ĠSet < Meeting >): ĠSet < Draft > Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . trace Ġ{ Ġ" Generating ĠG mail Ġdraft s ..." Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġreports Ġ= Ġtext Report Service . generate Reports ( meet ings ) ĊĠĠĠĠĠĠĠ Ġval Ġdraft s Ġ= Ġreports ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġcreate Draft ( it . team , Ġit . plaintext ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĊĠĠĠĠĠĠĠ Ġval Ġdraft Ids Ġ= Ġdraft s ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . id Ġ} ĊĊĠĠĠĠĠĠĠ Ġlogger . trace Ġ{ Ġ" Generated ĠG mail Ġdraft s : Ġ$ draft Ids " Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdraft s ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Draft ( team : ĠTeam , Ġtext : ĠString ): ĠDraft Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmail Addresses Ġ= Ġteam . cook s . map Ġ{ Ġit . mail Address . value Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġval Ġsubject Ġ= Ġ" Walk ing ĠD inner " ĊĊĠĠĠĠĠĠĠ Ġval Ġdraft Ġ= Ġg mail Service . save Draft ( mail Addresses , Ġsubject , Ġtext ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdraft ĊĠĠĠ Ġ} Ċ }