package Ġcom . da res ay . movies . data . api Ċ Ċ import Ġcom . da res ay . movies . data . models . authentication . Session RequestBody Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠT mdb Remote DataSource Ġ@ Inject Ġconstructor ( private Ġval Ġt mdb Service : ĠT mdb Service ) Ġ: ĠBase DataSource () Ġ{ ĊĠĠĠ Ġsuspend Ġfun ĠgetToken () Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . getToken () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġcreate Session ( request Body : ĠSession RequestBody ) Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . create Session ( request Body Ġ= Ġrequest Body ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Top R ated Movies ( page : ĠInt ) Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . get Top R ated Movies ( page Ġ= Ġpage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Pop ular Movies ( page : ĠInt ) Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . get Pop ular Movies ( page Ġ= Ġpage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Movie Details ( movie Id : ĠInt ) Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . get Movie Details ( movie Id Ġ= Ġmovie Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Movie Reviews ( movie Id : ĠInt , Ġpage : ĠInt ) Ġ= Ġget Result Ġ{ ĊĠĠĠĠĠĠĠ Ġt mdb Service . get Movie Reviews ( movie Id Ġ= Ġmovie Id , Ġpage Ġ= Ġpage ) ĊĠĠĠ Ġ} Ċ }