package Ġcn . net . poly g lot . vert icle . search Ċ Ċ import Ġcn . net . poly g lot . config . DIR Ċ import Ġcn . net . poly g lot . config . SEARCH Ċ import Ġcn . net . poly g lot . config . USER Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . kotlin . core . file . exists Await Ċ import Ġio . vertx . kotlin . core . file . readFile Await Ċ import Ġio . vertx . kotlin . coroutines . Coroutine Vert icle Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . io . File Ċ Ċ class ĠSearch Vert icle Ġ: ĠCor outine Vert icle () Ġ{ ĊĠ Ġoverride Ġsuspend Ġfun Ġstart () Ġ{ ĊĠĠĠ Ġvert x . event Bus (). consumer < String >( this :: class . java . name ) Ġ{ ĊĠĠĠĠĠ Ġlaunch Ġ{ Ġit . reply ( search ( it . body ())) Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġsuspend Ġfun Ġsearch ( keyword : ĠString ): ĠJsonObject Ġ{ ĊĠĠĠ Ġif ( keyword . isBlank ()) Ġreturn ĠJsonObject (). put ( SEARCH , false ) ĊĠĠĠ Ġval Ġpath Ġ= Ġconfig . getString ( DIR ) Ġ+ ĠFile . separator Ġ+ Ġkeyword Ġ+ ĠFile . separator Ġ+ Ġ" user . json " ĊĠĠĠĠĠ Ġif ( vertx . file System (). exists Await ( path )){ ĊĠĠĠĠĠ Ġreturn ĠJsonObject (). put ( SEARCH , Ġtrue ). put ( USER , Ġvert x . file System (). readFile Await ( path ). to JsonObject ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠJsonObject (). put ( SEARCH , Ġtrue ) ĊĠ Ġ} Ċ } Ċ