package Ġme . t ass u . internal . db . table Ċ Ċ import Ġcom . google . inject . Inject Ċ import Ġcom . google . inject . Singleton Ċ import Ġme . t ass u . internal . db . Database Manager Ċ import Ġme . t ass u . internal . db . table . tables . User Cache Table Ċ import Ġme . t ass u . internal . db . table . tables . Meta Table Ċ import Ġme . t ass u . internal . db . table . tables . P un ish ments Table Ċ Ċ @ Singleton Ċ class ĠTable Manager Ġ{ ĊĊĠĠĠ Ġ@ Inject Ġprivate Ġlateinit Ġvar Ġdatabase Manager : ĠDatabase Manager ĊĊĠĠĠ Ġ@ Inject Ġprivate Ġlateinit Ġvar Ġmeta Table : ĠMeta Table ĊĠĠĠ Ġ@ Inject Ġprivate Ġlateinit Ġvar Ġp un ish ments Table : ĠP un ish ments Table ĊĠĠĠ Ġ@ Inject Ġprivate Ġlateinit Ġvar Ġuser Cache Table : ĠUser Cache Table ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatabase Manager . getConnection (). use Ġ{ Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtables Ġ= Ġmeta Table . load ( it ). to Mutable Map () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tables [ user Cache Table . getName ()] Ġ!= Ġuser Cache Table . getCurrent Version ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtables [ user Cache Table . getName ()] Ġ= Ġuser Cache Table . migrate From Ol der Version ( tables [ user Cache Table . getName ()] Ġ?: Ġ- 1 , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( tables [ pun ish ments Table . getName ()] Ġ!= Ġp un ish ments Table . getCurrent Version ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtables [ pun ish ments Table . getName ()] Ġ= Ġp un ish ments Table . migrate From Ol der Version ( tables [ pun ish ments Table . getName ()] Ġ?: Ġ- 1 , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmeta Table . save ( tables , Ġit ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }