1- package Wrapper
1+ package wrapper
22
3- import callback.onSuccessCallback
3+ import callback.OnSuccessCallback
44import okhttp3.*
55import org.json.JSONArray
66import java.io.IOException
@@ -15,13 +15,17 @@ import java.io.IOException
1515 * Created by Filip
1616*
1717**/
18- class IGDBWrapper (private val API_KEY : String ) {
19- private val API_URL : String = " https://api-endpoint.igdb.com/"
20- private val API_HEADER : String = " user-key"
21- private val header = Headers .Builder ().add(API_HEADER , API_KEY ).add(" Accept" , " application/json" ).build()
22-
18+ class IGDBWrapper (private val API_KEY : String , version : Version = Version .PRO , val debug : Boolean = false ) {
19+ private var apiURL: String = " https://api-endpoint.igdb.com/"
20+ private val apiHeader: String = " user-key"
2321 private var httpClient: OkHttpClient = OkHttpClient ()
2422
23+ init {
24+ if (version == Version .PRO ) {
25+ apiURL + = " pro/"
26+ }
27+ }
28+
2529 /* *
2630 * This method returns a JSONArray with the specified data requested,
2731 * with this method you can request any kind of data from the IGDB API using custom urls.
@@ -31,12 +35,16 @@ class IGDBWrapper(private val API_KEY: String) {
3135 * @param callback The callback return the response from the server in the form of a JSONArray
3236 *
3337 **/
34- fun getJSONArray (url : String , callback : onSuccessCallback) {
35- val completeURL = API_URL + url
38+ fun getJSONArray (url : String , callback : OnSuccessCallback ) {
39+ val completeURL = apiURL + url
40+
41+ if (debug) {
42+ println (completeURL)
43+ }
3644
3745 val request: Request = Request .Builder ()
3846 .url(completeURL)
39- .header(API_HEADER , API_KEY )
47+ .header(apiHeader , API_KEY )
4048 .addHeader(" Accept" , " application/json" )
4149 .build()
4250
@@ -63,8 +71,8 @@ class IGDBWrapper(private val API_KEY: String) {
6371 * @param callback The callback return the response from the server in the form of a JSONArray
6472 *
6573 **/
66- fun getJSONArray (url : String , headers : Headers , callback : onSuccessCallback ) {
67- val completeURL = API_URL + url
74+ fun getJSONArray (url : String , headers : Headers , callback : OnSuccessCallback ) {
75+ val completeURL = apiURL + url
6876
6977 val request: Request = Request .Builder ()
7078 .url(completeURL)
@@ -92,7 +100,7 @@ class IGDBWrapper(private val API_KEY: String) {
92100 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
93101 * API.
94102 * **/
95- fun search (endpoint : Endpoints , parameters : Parameters , callback : onSuccessCallback ) {
103+ fun search (endpoint : Endpoints , parameters : Parameters , callback : OnSuccessCallback ) {
96104 getJSONArray(parameters.buildQuery(endpoint), callback)
97105 }
98106
@@ -103,7 +111,7 @@ class IGDBWrapper(private val API_KEY: String) {
103111 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
104112 * API.
105113 * */
106- fun games (parameters : Parameters , callback : onSuccessCallback ) {
114+ fun games (parameters : Parameters , callback : OnSuccessCallback ) {
107115 getJSONArray(parameters.buildQuery(Endpoints .GAMES ), callback)
108116 }
109117
@@ -114,7 +122,7 @@ class IGDBWrapper(private val API_KEY: String) {
114122 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
115123 * API.
116124 * */
117- fun pulses (parameters : Parameters , callback : onSuccessCallback ) {
125+ fun pulses (parameters : Parameters , callback : OnSuccessCallback ) {
118126 getJSONArray(parameters.buildQuery(Endpoints .PULSES ), callback)
119127 }
120128
@@ -125,7 +133,7 @@ class IGDBWrapper(private val API_KEY: String) {
125133 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
126134 * API.
127135 * */
128- fun characters (parameters : Parameters , callback : onSuccessCallback ) {
136+ fun characters (parameters : Parameters , callback : OnSuccessCallback ) {
129137 getJSONArray(parameters.buildQuery(Endpoints .CHARACTERS ), callback)
130138 }
131139
@@ -136,7 +144,7 @@ class IGDBWrapper(private val API_KEY: String) {
136144 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
137145 * API.
138146 * */
139- fun collections (parameters : Parameters , callback : onSuccessCallback ) {
147+ fun collections (parameters : Parameters , callback : OnSuccessCallback ) {
140148 getJSONArray(parameters.buildQuery(Endpoints .COLLECTIONS ), callback)
141149 }
142150
@@ -147,7 +155,7 @@ class IGDBWrapper(private val API_KEY: String) {
147155 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
148156 * API.
149157 * */
150- fun companies (parameters : Parameters , callback : onSuccessCallback ) {
158+ fun companies (parameters : Parameters , callback : OnSuccessCallback ) {
151159 getJSONArray(parameters.buildQuery(Endpoints .COMPANIES ), callback)
152160 }
153161
@@ -158,7 +166,7 @@ class IGDBWrapper(private val API_KEY: String) {
158166 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
159167 * API.
160168 * */
161- fun franshises (parameters : Parameters , callback : onSuccessCallback ) {
169+ fun franshises (parameters : Parameters , callback : OnSuccessCallback ) {
162170 getJSONArray(parameters.buildQuery(Endpoints .FRANCHISES ), callback)
163171 }
164172
@@ -169,7 +177,7 @@ class IGDBWrapper(private val API_KEY: String) {
169177 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
170178 * API.
171179 **/
172- fun feeds (parameters : Parameters , callback : onSuccessCallback ) {
180+ fun feeds (parameters : Parameters , callback : OnSuccessCallback ) {
173181 getJSONArray(parameters.buildQuery(Endpoints .FEEDS ), callback)
174182 }
175183
@@ -180,7 +188,7 @@ class IGDBWrapper(private val API_KEY: String) {
180188 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
181189 * API.
182190 **/
183- fun pages (parameters : Parameters , callback : onSuccessCallback ) {
191+ fun pages (parameters : Parameters , callback : OnSuccessCallback ) {
184192 getJSONArray(parameters.buildQuery(Endpoints .PAGES ), callback)
185193 }
186194
@@ -191,7 +199,7 @@ class IGDBWrapper(private val API_KEY: String) {
191199 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
192200 * API.
193201 **/
194- fun gameEngines (parameters : Parameters , callback : onSuccessCallback ) {
202+ fun gameEngines (parameters : Parameters , callback : OnSuccessCallback ) {
195203 getJSONArray(parameters.buildQuery(Endpoints .GAME_ENGINES ), callback)
196204 }
197205
@@ -202,7 +210,7 @@ class IGDBWrapper(private val API_KEY: String) {
202210 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
203211 * API.
204212 **/
205- fun gameModes (parameters : Parameters , callback : onSuccessCallback ) {
213+ fun gameModes (parameters : Parameters , callback : OnSuccessCallback ) {
206214 getJSONArray(parameters.buildQuery(Endpoints .GAME_MODES ), callback)
207215 }
208216
@@ -213,7 +221,7 @@ class IGDBWrapper(private val API_KEY: String) {
213221 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
214222 * API.
215223 **/
216- fun genres (parameters : Parameters , callback : onSuccessCallback ) {
224+ fun genres (parameters : Parameters , callback : OnSuccessCallback ) {
217225 getJSONArray(parameters.buildQuery(Endpoints .GENRES ), callback)
218226 }
219227
@@ -224,7 +232,7 @@ class IGDBWrapper(private val API_KEY: String) {
224232 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
225233 * API.
226234 **/
227- fun keywords (parameters : Parameters , callback : onSuccessCallback ) {
235+ fun keywords (parameters : Parameters , callback : OnSuccessCallback ) {
228236 getJSONArray(parameters.buildQuery(Endpoints .KEYWORDS ), callback)
229237 }
230238
@@ -235,7 +243,7 @@ class IGDBWrapper(private val API_KEY: String) {
235243 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
236244 * API.
237245 **/
238- fun people (parameters : Parameters , callback : onSuccessCallback ) {
246+ fun people (parameters : Parameters , callback : OnSuccessCallback ) {
239247 getJSONArray(parameters.buildQuery(Endpoints .PEOPLE ), callback)
240248 }
241249
@@ -246,7 +254,7 @@ class IGDBWrapper(private val API_KEY: String) {
246254 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
247255 * API.
248256 **/
249- fun platforms (parameters : Parameters , callback : onSuccessCallback ) {
257+ fun platforms (parameters : Parameters , callback : OnSuccessCallback ) {
250258 getJSONArray(parameters.buildQuery(Endpoints .PLATFORMS ), callback)
251259 }
252260
@@ -258,7 +266,7 @@ class IGDBWrapper(private val API_KEY: String) {
258266 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
259267 * API.
260268 **/
261- fun playerPerspectives (parameters : Parameters , callback : onSuccessCallback ) {
269+ fun playerPerspectives (parameters : Parameters , callback : OnSuccessCallback ) {
262270 getJSONArray(parameters.buildQuery(Endpoints .PLAYER_PERSPECTIVES ), callback)
263271 }
264272
@@ -269,7 +277,7 @@ class IGDBWrapper(private val API_KEY: String) {
269277 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
270278 * API.
271279 * */
272- fun releaseDates (parameters : Parameters , callback : onSuccessCallback ) {
280+ fun releaseDates (parameters : Parameters , callback : OnSuccessCallback ) {
273281 getJSONArray(parameters.buildQuery(Endpoints .RELEASE_DATES ), callback)
274282 }
275283
@@ -280,7 +288,7 @@ class IGDBWrapper(private val API_KEY: String) {
280288 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
281289 * API.
282290 **/
283- fun pulseGroups (parameters : Parameters , callback : onSuccessCallback ) {
291+ fun pulseGroups (parameters : Parameters , callback : OnSuccessCallback ) {
284292 getJSONArray(parameters.buildQuery(Endpoints .PULSE_GROUPS ), callback)
285293 }
286294
@@ -291,7 +299,7 @@ class IGDBWrapper(private val API_KEY: String) {
291299 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
292300 * API.
293301 **/
294- fun pulseSources (parameters : Parameters , callback : onSuccessCallback ) {
302+ fun pulseSources (parameters : Parameters , callback : OnSuccessCallback ) {
295303 getJSONArray(parameters.buildQuery(Endpoints .PULSE_SOURCES ), callback)
296304 }
297305
@@ -302,7 +310,7 @@ class IGDBWrapper(private val API_KEY: String) {
302310 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
303311 * API.
304312 **/
305- fun themes (parameters : Parameters , callback : onSuccessCallback ) {
313+ fun themes (parameters : Parameters , callback : OnSuccessCallback ) {
306314 getJSONArray(parameters.buildQuery(Endpoints .THEMES ), callback)
307315 }
308316
@@ -313,7 +321,7 @@ class IGDBWrapper(private val API_KEY: String) {
313321 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
314322 * API.
315323 **/
316- fun reviews (parameters : Parameters , callback : onSuccessCallback ) {
324+ fun reviews (parameters : Parameters , callback : OnSuccessCallback ) {
317325 getJSONArray(parameters.buildQuery(Endpoints .REVIEWS ), callback)
318326 }
319327
@@ -324,7 +332,7 @@ class IGDBWrapper(private val API_KEY: String) {
324332 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
325333 * API.
326334 **/
327- fun titles (parameters : Parameters , callback : onSuccessCallback ) {
335+ fun titles (parameters : Parameters , callback : OnSuccessCallback ) {
328336 getJSONArray(parameters.buildQuery(Endpoints .TITLES ), callback)
329337 }
330338
@@ -335,7 +343,7 @@ class IGDBWrapper(private val API_KEY: String) {
335343 * @param callback Callback which gets activated as soon as the JSONArray is returned from the
336344 * API.
337345 **/
338- fun credits (parameters : Parameters , callback : onSuccessCallback ) {
346+ fun credits (parameters : Parameters , callback : OnSuccessCallback ) {
339347 getJSONArray(parameters.buildQuery(Endpoints .CREDITS ), callback)
340348 }
341349
0 commit comments