Skip to content

Commit

Permalink
fix(config): use config correctly and add error handling
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexandreBellas committed Aug 14, 2023
1 parent 19a6748 commit 05f0fd0
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 28 deletions.
14 changes: 7 additions & 7 deletions src/Controllers/DuskApiConfController.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,18 @@ public function set(Request $request)
$this->errorResponseData
);
} else {
$filesystem = Storage::disk(config('duskapiconf.disk'));
$filesystem = Storage::disk(config('duskapiconf.storage.disk'));
$value = json_decode(base64_decode($request->input('value')), true);

$currentContent = [];
if ($filesystem->exists(config('duskapiconf.file'))) {
$decoded = Storage::get(config('duskapiconf.file'));
if ($filesystem->exists(config('duskapiconf.storage.file'))) {
$decoded = Storage::get(config('duskapiconf.storage.file'));
$currentContent = json_decode($decoded, true);
}

$currentContent[$request->input('key')] = $value;
$filesystem->put(
config('duskapiconf.file'),
config('duskapiconf.storage.file'),
json_encode($currentContent)
);

Expand All @@ -66,10 +66,10 @@ public function set(Request $request)
*/
public function reset()
{
Storage::disk(config('duskapiconf.disk'))->delete(
config('duskapiconf.file')
Storage::disk(config('duskapiconf.storage.disk'))->delete(
config('duskapiconf.storage.file')
);

return view('duskapiconf::data', $this->successResponseData);
}
}
}
48 changes: 30 additions & 18 deletions src/DuskApiConfServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,32 +26,44 @@ public function boot(): void
? !app()->environment($excludedEnv)
: app()->environment($env);

if ($shouldBoot) {
$this->loadRoutesFrom(__DIR__ . '/routes/dusk.php');
$this->loadViewsFrom(__DIR__ . '/resources/views', 'duskapiconf');
if (!$shouldBoot) {
return;
}

$this->loadRoutesFrom(__DIR__ . '/routes/dusk.php');
$this->loadViewsFrom(__DIR__ . '/resources/views', 'duskapiconf');

$storageDisk = config('duskapiconf.storage.disk');
$filePath = config('duskapiconf.storage.file');

$contents = Storage::disk(config('duskapiconf.disk'))
->get(config('duskapiconf.file'));
$filesystem = Storage::disk($storageDisk);

$decoded = json_decode($contents, true);
$contents = $filesystem->get($filePath);
$decoded = json_decode($contents, true);

if (
json_last_error() !== JSON_ERROR_NONE &&
gettype($decoded) === 'array'
) {
foreach (array_keys($decoded) as $key) {
config([$key => $decoded[$key]]);
}
} else {
$filesystem->delete($filePath);
}

$this->publishes([
__DIR__ . '/../config/config.php' => config_path('duskapiconf.php'),
]);
$this->publishes([
__DIR__ . '/../config/config.php' => config_path('duskapiconf.php'),
]);

$router = $this->app['router'];
$router = $this->app['router'];

$this->app->booted(function () use ($router) {
$router->pushMiddlewareToGroup(
'web',
\AleBatistella\DuskApiConf\Middleware\ConfigStoreMiddleware::class
);
});
}
$this->app->booted(function () use ($router) {
$router->pushMiddlewareToGroup(
'web',
\AleBatistella\DuskApiConf\Middleware\ConfigStoreMiddleware::class
);
});
}

/**
Expand All @@ -62,4 +74,4 @@ public function boot(): void
public function register(): void
{
}
}
}
6 changes: 3 additions & 3 deletions src/Middleware/ConfigStoreMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ class ConfigStoreMiddleware
*/
public function handle($request, Closure $next): void
{
$filesystem = Storage::disk(config('duskapiconf.disk'));
$filesystem = Storage::disk(config('duskapiconf.storage.disk'));

if (!$filesystem->exists(config('duskapiconf.file'))) {
if (!$filesystem->exists(config('duskapiconf.storage.file'))) {
return $next($request);
}

$contents = $filesystem->get(config('duskapiconf.file'));
$contents = $filesystem->get(config('duskapiconf.storage.file'));

$decoded = json_decode($contents, true);
foreach (array_keys($decoded) as $key) {
Expand Down

0 comments on commit 05f0fd0

Please sign in to comment.