auditionadmin/app/Providers/NominationEnsembleServicePr...

74 lines
4.0 KiB
PHP

<?php
namespace App\Providers;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationAdminController;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationAdminUtilitiesController;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationEnsembleEntryController;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationExportController;
use App\Http\Controllers\NominationEnsembles\MeobdaNominationSeatingController;
use App\Http\Controllers\NominationEnsembles\NominationAdminController;
use App\Http\Controllers\NominationEnsembles\NominationAdminUtilitiesController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\NominationEnsembleEntryController;
use App\Http\Controllers\NominationEnsembles\NominationExportController;
use App\Http\Controllers\NominationEnsembles\NominationSeatingController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationAdminController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationAdminUtilitiesController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleEntryController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationExportController;
use App\Http\Controllers\NominationEnsembles\ScobdaNominationSeatingController;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;
use function auditionSetting;
/**
* @codeCoverageIgnore
*/
// TODO: Consider testing later
class NominationEnsembleServiceProvider extends ServiceProvider
{
public function register(): void
{
// $this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
// $this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
// $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
// $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
}
public function boot(): void
{
if ($this->app->runningInConsole() || ! Schema::hasTable('site_settings')) {
return;
}
if (! app()->environment('testing')) {
if (auditionSetting('nomination_ensemble_rules') === 'scobda') {
$this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class,
ScobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, ScobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class,
ScobdaNominationAdminUtilitiesController::class);
}
if (auditionSetting('nomination_ensemble_rules') === 'meobda') {
// meobda implementation
$this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class);
$this->app->bind(NominationEnsembleEntryController::class,
MeobdaNominationEnsembleEntryController::class);
$this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, MeobdaNominationExportController::class);
$this->app->bind(NominationAdminUtilitiesController::class,
MeobdaNominationAdminUtilitiesController::class);
}
}
}
}