From 5b964f14bae6d01341ab3f55b74f33f46aef2cef Mon Sep 17 00:00:00 2001 From: Valentin Kaelin Date: Wed, 11 Sep 2019 20:19:15 +0200 Subject: [PATCH] (refactor): create a ServiceProvider for the Jax wrapper --- .../app/Controllers/Http/DDragonController.js | 2 +- .../app/Controllers/Http/SummonerController.js | 2 +- server/app/Lib/Jax/index.js | 1 - server/providers/Jax/JaxProvider.js | 17 +++++++++++++++++ .../Jax => providers/Jax/src}/DDragonRequest.js | 0 .../DDragonEndpoints/DDragonChampionEndpoint.js | 0 .../DDragonEndpoints/DDragonVersionEndpoint.js | 0 .../Jax/src}/Endpoints/LeagueEndpoint.js | 0 .../Jax/src}/Endpoints/MatchEndpoint.js | 0 .../Jax/src}/Endpoints/MatchlistEndpoint.js | 0 .../Jax/src}/Endpoints/SummonerEndpoint.js | 0 .../{app/Lib/Jax => providers/Jax/src}/Jax.js | 6 ++---- .../Lib/Jax => providers/Jax/src}/JaxRequest.js | 0 server/start/app.js | 6 +++++- 14 files changed, 26 insertions(+), 8 deletions(-) delete mode 100644 server/app/Lib/Jax/index.js create mode 100644 server/providers/Jax/JaxProvider.js rename server/{app/Lib/Jax => providers/Jax/src}/DDragonRequest.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/DDragonEndpoints/DDragonChampionEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/DDragonEndpoints/DDragonVersionEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/LeagueEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/MatchEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/MatchlistEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Endpoints/SummonerEndpoint.js (100%) rename server/{app/Lib/Jax => providers/Jax/src}/Jax.js (93%) rename server/{app/Lib/Jax => providers/Jax/src}/JaxRequest.js (100%) diff --git a/server/app/Controllers/Http/DDragonController.js b/server/app/Controllers/Http/DDragonController.js index 8e3ff5b..f0c2b03 100644 --- a/server/app/Controllers/Http/DDragonController.js +++ b/server/app/Controllers/Http/DDragonController.js @@ -1,6 +1,6 @@ 'use strict' -const Jax = use('App/Lib/Jax') +const Jax = use('Jax') class DDragonController { /** diff --git a/server/app/Controllers/Http/SummonerController.js b/server/app/Controllers/Http/SummonerController.js index 17efdc9..93dc61a 100644 --- a/server/app/Controllers/Http/SummonerController.js +++ b/server/app/Controllers/Http/SummonerController.js @@ -1,7 +1,7 @@ 'use strict' const Match = use('App/Models/Match') -const Jax = use('App/Lib/Jax') +const Jax = use('Jax') class SummonerController { diff --git a/server/app/Lib/Jax/index.js b/server/app/Lib/Jax/index.js deleted file mode 100644 index ba8861f..0000000 --- a/server/app/Lib/Jax/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./Jax') diff --git a/server/providers/Jax/JaxProvider.js b/server/providers/Jax/JaxProvider.js new file mode 100644 index 0000000..394dab1 --- /dev/null +++ b/server/providers/Jax/JaxProvider.js @@ -0,0 +1,17 @@ +const { ServiceProvider } = require('@adonisjs/fold') +const Jax = require('./src/Jax') + +class JaxProvider extends ServiceProvider { + register () { + this.app.singleton('Jax', () => { + const Env = use('Env') + return new Jax(Env.get('API_KEY')) + }) + } + + boot() { + use('Jax') + } +} + +module.exports = JaxProvider \ No newline at end of file diff --git a/server/app/Lib/Jax/DDragonRequest.js b/server/providers/Jax/src/DDragonRequest.js similarity index 100% rename from server/app/Lib/Jax/DDragonRequest.js rename to server/providers/Jax/src/DDragonRequest.js diff --git a/server/app/Lib/Jax/Endpoints/DDragonEndpoints/DDragonChampionEndpoint.js b/server/providers/Jax/src/Endpoints/DDragonEndpoints/DDragonChampionEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/DDragonEndpoints/DDragonChampionEndpoint.js rename to server/providers/Jax/src/Endpoints/DDragonEndpoints/DDragonChampionEndpoint.js diff --git a/server/app/Lib/Jax/Endpoints/DDragonEndpoints/DDragonVersionEndpoint.js b/server/providers/Jax/src/Endpoints/DDragonEndpoints/DDragonVersionEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/DDragonEndpoints/DDragonVersionEndpoint.js rename to server/providers/Jax/src/Endpoints/DDragonEndpoints/DDragonVersionEndpoint.js diff --git a/server/app/Lib/Jax/Endpoints/LeagueEndpoint.js b/server/providers/Jax/src/Endpoints/LeagueEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/LeagueEndpoint.js rename to server/providers/Jax/src/Endpoints/LeagueEndpoint.js diff --git a/server/app/Lib/Jax/Endpoints/MatchEndpoint.js b/server/providers/Jax/src/Endpoints/MatchEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/MatchEndpoint.js rename to server/providers/Jax/src/Endpoints/MatchEndpoint.js diff --git a/server/app/Lib/Jax/Endpoints/MatchlistEndpoint.js b/server/providers/Jax/src/Endpoints/MatchlistEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/MatchlistEndpoint.js rename to server/providers/Jax/src/Endpoints/MatchlistEndpoint.js diff --git a/server/app/Lib/Jax/Endpoints/SummonerEndpoint.js b/server/providers/Jax/src/Endpoints/SummonerEndpoint.js similarity index 100% rename from server/app/Lib/Jax/Endpoints/SummonerEndpoint.js rename to server/providers/Jax/src/Endpoints/SummonerEndpoint.js diff --git a/server/app/Lib/Jax/Jax.js b/server/providers/Jax/src/Jax.js similarity index 93% rename from server/app/Lib/Jax/Jax.js rename to server/providers/Jax/src/Jax.js index fb2dfed..f5175cc 100644 --- a/server/app/Lib/Jax/Jax.js +++ b/server/providers/Jax/src/Jax.js @@ -1,4 +1,3 @@ -const Env = use('Env') const RiotRateLimiter = require('riot-ratelimiter') const { STRATEGY } = require('riot-ratelimiter/dist/RateLimiter') const LeagueEndpoint = require('./Endpoints/LeagueEndpoint') @@ -10,8 +9,7 @@ const DDragonVersionEndpoint = require('./Endpoints/DDragonEndpoints/DDragonVers const DDragonChampionEndpoint = require('./Endpoints/DDragonEndpoints/DDragonChampionEndpoint') class Jax { - constructor(key = Env.get('API_KEY'), region = 'euw1') { - + constructor(key, region = 'euw1') { this.key = key const limiterOptions = { strategy: STRATEGY.BURST @@ -48,4 +46,4 @@ class Jax { } } -module.exports = new Jax() +module.exports = Jax diff --git a/server/app/Lib/Jax/JaxRequest.js b/server/providers/Jax/src/JaxRequest.js similarity index 100% rename from server/app/Lib/Jax/JaxRequest.js rename to server/providers/Jax/src/JaxRequest.js diff --git a/server/start/app.js b/server/start/app.js index fb531c8..8fa64c9 100644 --- a/server/start/app.js +++ b/server/start/app.js @@ -1,5 +1,7 @@ 'use strict' +const { join } = require('path') + /* |-------------------------------------------------------------------------- | Providers @@ -14,7 +16,9 @@ const providers = [ '@adonisjs/framework/providers/AppProvider', '@adonisjs/bodyparser/providers/BodyParserProvider', '@adonisjs/cors/providers/CorsProvider', - 'lucid-mongo/providers/LucidMongoProvider' + 'lucid-mongo/providers/LucidMongoProvider', + + join(__dirname, '../providers/Jax/JaxProvider') ] /*