Implement feature flags and update views

This commit implements feature flags using the "ylsideas/feature-flags" library and updates various frontend views to show or hide sections based on the feature flag. Additionally, a new migration file is created for the features database table and the LibraryItem model is updated with a new searchLibraryItems function. The composer.json and composer.lock files are updated to include the new dependencies.
This commit is contained in:
HolgerHatGarKeineNode
2023-12-08 21:40:48 +01:00
parent 245ebc9220
commit 0c820be43b
27 changed files with 377 additions and 98 deletions

51
config/features.php Normal file
View File

@@ -0,0 +1,51 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Pipeline
|--------------------------------------------------------------------------
|
| The pipeline for the feature to travel through.
|
*/
'pipeline' => ['database', 'in_memory'],
/*
|--------------------------------------------------------------------------
| Gateways
|--------------------------------------------------------------------------
|
| Configures the different gateway options
|
*/
'gateways' => [
'in_memory' => [
'file' => env('FEATURE_FLAG_IN_MEMORY_FILE', '.features.php'),
'driver' => 'in_memory',
],
'database' => [
'driver' => 'database',
'cache' => [
'ttl' => 600,
],
'connection' => env('FEATURE_FLAG_DATABASE_CONNECTION'),
'table' => env('FEATURE_FLAG_DATABASE_TABLE', 'features'),
],
'gate' => [
'driver' => 'gate',
'gate' => env('FEATURE_FLAG_GATE_GATE', 'feature'),
'guard' => env('FEATURE_FLAG_GATE_GUARD'),
'cache' => [
'ttl' => 600,
],
],
'redis' => [
'driver' => 'redis',
'prefix' => env('FEATURE_FLAG_REDIS_PREFIX', 'features'),
'connection' => env('FEATURE_FLAG_REDIS_CONNECTION', 'default'),
],
],
];