✨ Implement Trakt config loading from JSON file with ENV fallback
This commit is contained in:
parent
320a629561
commit
f19afc41f0
3 changed files with 180 additions and 11 deletions
|
|
@ -1,11 +1,21 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'app_id' => env('TRAKT_APP_ID'),
|
||||
'app_secret' => env('TRAKT_APP_secret'),
|
||||
'redirect_uri' => env('TRAKT_REDIRECT_URI', 'urn:ietf:wg:oauth:2.0:oob'),
|
||||
'login' => [
|
||||
'device' => json_decode(env('TRAKT_DEVICE_RESP', '{}}'), true),
|
||||
'oauth' => json_decode(env('TRAKT_OAUTH_RESP', '{}}'), true),
|
||||
],
|
||||
];
|
||||
use Xdg\BaseDirectory\XdgBaseDirectory as Xdg;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
$data = [];
|
||||
|
||||
$xdg = Xdg::fromEnvironment();
|
||||
$path = $xdg->findDataPath("trakt/data.json", file_exists(...));
|
||||
if (file_exists($path)) {
|
||||
$data = json_decode(file_get_contents($path), true);
|
||||
}
|
||||
|
||||
$data = Arr::add($data, 'app_id', env('TRAKT_APP_ID'));
|
||||
$data = Arr::add($data, 'app_secret', env('TRAKT_APP_SECRET'));
|
||||
$data = Arr::add($data, 'redirect_uri', env('TRAKT_REDIRECT_URI', 'urn:ietf:wg:oauth:2.0:oob'));
|
||||
$data['login'] = $data['login'] ?? [];
|
||||
$data['login'] = Arr::add($data['login'], 'device', json_decode(env('TRAKT_DEVICE_RESP', '{}'), true));
|
||||
$data['login'] = Arr::add($data['login'], 'oauth', json_decode(env('TRAKT_OAUTH_RESP', '{}'), true));
|
||||
|
||||
return $data;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue