. */ declare(strict_types=1); namespace FireflyIII\Api\V1\Controllers; use FireflyConfig; use FireflyIII\Exceptions\FireflyException; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Routing\Controller as BaseController; /** * Class Controller. */ class Controller extends BaseController { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; /** * Controller constructor. * * @throws FireflyException */ public function __construct() { // is site a demo site? $isDemoSite = FireflyConfig::get('is_demo_site', config('firefly.configuration.is_demo_site'))->data; // do not expose API on demo site: if (true === $isDemoSite) { throw new FireflyException('The API is not available on the demo site.'); } } }