package Ġid . r ll y hz . core . api Ċ Ċ import Ġid . r ll y hz . core . Build Config Ċ import Ġid . r ll y hz . core . data . remote . response . Discover Movies Response Ċ import Ġid . r ll y hz . core . data . remote . response . Discover TV Shows Response Ċ import Ġid . r ll y hz . core . data . remote . response . Movie Detail Response Ċ import Ġid . r ll y hz . core . data . remote . response . TV Show Detail Response Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Path Ċ import Ġretrofit 2 . http . Query Ċ Ċ interface ĠApi Endpoint Ġ{ ĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ discover / movie ") ĊĠĠĠ Ġsuspend Ġfun Ġdiscover Movies ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover Movies Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ discover / tv ") ĊĠĠĠ Ġsuspend Ġfun Ġdiscover TV Shows ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover TV Shows Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ movie /{ movie Id }") ĊĠĠĠ Ġsuspend Ġfun Ġget Movie Detail Of ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" movie Id ") Ġmovie Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Movie Detail Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ tv /{ tv Show Id }") ĊĠĠĠ Ġsuspend Ġfun Ġget Tv Show Detail Of ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" tv Show Id ") Ġtv Show Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < TV Show Detail Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ movie /{ movie Id }/ similar ") ĊĠĠĠ Ġsuspend Ġfun Ġget Similar Movies Of ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" movie Id ") Ġmovie Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover Movies Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ tv /{ tv Show Id }/ similar ") ĊĠĠĠ Ġsuspend Ġfun Ġget Similar TV Shows Of ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" tv Show Id ") Ġtv Show Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover TV Shows Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ search / movie ") ĊĠĠĠ Ġsuspend Ġfun Ġsearch Movies ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" query ") Ġquery : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover Movies Response > ĊĊĠĠĠ Ġ@ GET ("${ API _ VERSION }/ search / tv ") ĊĠĠĠ Ġsuspend Ġfun Ġsearch TV Shows ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" query ") Ġquery : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Query (" language ") Ġlanguage : ĠString Ġ= Ġ" en - US ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" api _ key ") ĠapiKey : ĠString Ġ= ĠAPI _ KEY ĊĠĠĠ Ġ): ĠResponse < Discover TV Shows Response > ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠAPI _ VERSION Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġhostname Ġ= Ġ" the mov ied b . org " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ URL Ġ= Ġ" https :// api . the mov ied b . org /" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIMAGE _ URL Ġ= Ġ" https :// image . t mdb . org / t / p / original /" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAPI _ KEY Ġ= ĠBuild Config . APP _ API _ KEY ĊĠĠĠ Ġ} Ċ }