diff --git a/app/Http/Controllers/Api/Frontend/BaseController.php b/app/Http/Controllers/Api/Frontend/BaseController.php new file mode 100644 index 000000000..6d1a25aaa --- /dev/null +++ b/app/Http/Controllers/Api/Frontend/BaseController.php @@ -0,0 +1,39 @@ + \App\Http\Middleware\TokenRegistered::class, 'track.visitors' => \App\Http\Middleware\TrackVisitors::class, 'otp.enabled' => \App\Http\Middleware\CheckOtpEnabled::class, + 'api.fronted' => \App\Http\Middleware\ThemeApiMiddleware::class, ]; /** diff --git a/app/Http/Middleware/ThemeApiMiddleware.php b/app/Http/Middleware/ThemeApiMiddleware.php new file mode 100644 index 000000000..6b9aa1c1e --- /dev/null +++ b/app/Http/Middleware/ThemeApiMiddleware.php @@ -0,0 +1,20 @@ + 'v2510.0.0', + 'version' => 'v2511.0.0', /* |-------------------------------------------------------------------------- diff --git a/config/theme-api.php b/config/theme-api.php new file mode 100644 index 000000000..da4b57add --- /dev/null +++ b/config/theme-api.php @@ -0,0 +1,45 @@ + [ + 'enabled' => env('API_CACHE_ENABLED', true), + 'duration' => env('API_CACHE_DURATION', 3600), // dalam detik (1 jam) + ], + + /* + |-------------------------------------------------------------------------- + | Rate Limit Settings + |-------------------------------------------------------------------------- + */ + 'rate_limit' => [ + 'per_minute' => env('API_RATE_LIMIT_PER_MINUTE', 120), + ], + + /* + |-------------------------------------------------------------------------- + | Display Data Settings + |-------------------------------------------------------------------------- + */ + 'display' => [ + 'allowed_fields' => [ + 'nama', 'email', 'status', // contoh + ], + ], + + /* + |-------------------------------------------------------------------------- + | Theme and Endpoint Settings + |-------------------------------------------------------------------------- + */ + 'theme' => [ + 'active_custom' => env('API_ACTIVE_CUSTOM_THEME', 'modern'), + 'use_custom_endpoint' => env('API_USE_CUSTOM_ENDPOINT_THEME', true), + ], + +]; diff --git a/routes/api-frontend.php b/routes/api-frontend.php new file mode 100644 index 000000000..d0904938d --- /dev/null +++ b/routes/api-frontend.php @@ -0,0 +1,30 @@ +