From b1cf8b5f2222b076a9ea207e1e183adee1800539 Mon Sep 17 00:00:00 2001 From: myrmidex Date: Mon, 5 Jan 2026 21:43:00 +0100 Subject: [PATCH] feature - 17 - Add mode config --- app/Enums/AppModeEnum.php | 24 ++++++++++++++++++++++++ app/helpers.php | 17 +++++++++++++++++ composer.json | 3 +++ config/app.php | 12 ++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 app/Enums/AppModeEnum.php create mode 100644 app/helpers.php diff --git a/app/Enums/AppModeEnum.php b/app/Enums/AppModeEnum.php new file mode 100644 index 0000000..9a75881 --- /dev/null +++ b/app/Enums/AppModeEnum.php @@ -0,0 +1,24 @@ +isApp(); + } +} + +if (! function_exists('is_mode_saas')) { + function is_mode_saas(): bool + { + return AppModeEnum::current()->isSaas(); + } +} \ No newline at end of file diff --git a/composer.json b/composer.json index a4197fb..e1022f9 100644 --- a/composer.json +++ b/composer.json @@ -26,6 +26,9 @@ "phpunit/phpunit": "^11.0.1" }, "autoload": { + "files": [ + "app/helpers.php" + ], "psr-4": { "App\\": "app/", "DishPlanner\\": "src/DishPlanner/", diff --git a/config/app.php b/config/app.php index df3f5f0..09dd952 100644 --- a/config/app.php +++ b/config/app.php @@ -28,6 +28,18 @@ 'env' => env('APP_ENV', 'production'), + /* + |-------------------------------------------------------------------------- + | Application Mode + |-------------------------------------------------------------------------- + | + | Determines the application deployment mode: 'app' for self-hosted, + | 'saas' for multi-tenant SaaS, 'demo' for demonstration instances. + | + */ + + 'mode' => env('APP_MODE', 'app'), + /* |-------------------------------------------------------------------------- | Application Debug Mode