forked from projects/fipamo
ro
064407aa88
a class for members was needed for long term handling of member functions like login, update, status checking, etc so that class was created and the AuthService class was removed as it was redundant and it's functionaity moved to the member class
106 lines
3.4 KiB
PHP
106 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use Illuminate\Support\ServiceProvider;
|
|
//Repos
|
|
use App\Repositories\PageRepository;
|
|
use App\Interfaces\PageRepositoryInterface;
|
|
use App\Repositories\MemberRepository;
|
|
use App\Interfaces\MemberRepositoryInterface;
|
|
//Asset Services
|
|
use App\Services\Assets\AssetService;
|
|
use App\Services\Assets\DocService;
|
|
use App\Services\Assets\FileUploadService;
|
|
use App\Services\Assets\RenderService;
|
|
//Data Services
|
|
use App\Services\Data\SettingsService;
|
|
use App\Services\Data\ContentService;
|
|
use App\Services\Data\PaginateService;
|
|
use App\Services\Data\ThemeService;
|
|
use App\Services\Data\SortingService;
|
|
//Upkeep Services
|
|
use App\Services\UpKeep\MaintenanceService;
|
|
use App\Services\UpKeep\InitService;
|
|
|
|
class FipamoServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
//services
|
|
$this->app->bind(SettingsService::class, function ($app) {
|
|
return new SettingsService(new DocService(), new ContentService());
|
|
});
|
|
|
|
$this->app->bind(ContentService::class, function ($app) {
|
|
return new ContentService();
|
|
});
|
|
|
|
$this->app->bind(ThemeService::class, function ($app) {
|
|
return new ThemeService(new SettingsService(new DocService(), new ContentService()));
|
|
});
|
|
|
|
$this->app->bind(PaginateService::class, function ($app) {
|
|
return new PaginateService(new ContentService());
|
|
});
|
|
|
|
$this->app->bind(DocService::class, function ($app) {
|
|
return new DocService();
|
|
});
|
|
|
|
$this->app->bind(FileUploadService::class, function ($app) {
|
|
return new FileUploadService();
|
|
});
|
|
|
|
$this->app->bind(RenderService::class, function ($app) {
|
|
return new RenderService(
|
|
new SortingService(
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
new ThemeService(new SettingsService(new DocService(), new ContentService()))
|
|
),
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
);
|
|
});
|
|
|
|
$this->app->bind(SortingService::class, function ($app) {
|
|
return new SortingService(
|
|
new SettingsService(new DocService(), new ContentService()),
|
|
new ContentService(),
|
|
new ThemeService(new SettingsService(new DocService(), new ContentService()))
|
|
);
|
|
});
|
|
|
|
$this->app->bind(AssetService::class, function ($app) {
|
|
return new AssetService(
|
|
new ThemeService(
|
|
new SettingsService(new DocService(), new ContentService())
|
|
)
|
|
);
|
|
});
|
|
|
|
$this->app->bind(MaintenanceService::class, function ($app) {
|
|
return new MaintenanceService(
|
|
new SettingsService(new DocService(), new ContentService())
|
|
);
|
|
});
|
|
|
|
$this->app->bind(InitService::class, function ($app) {
|
|
return new InitService(new DocService());
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
$this->app->bind(PageRepositoryInterface::class, PageRepository::class);
|
|
$this->app->bind(MemberRepositoryInterface::class, MemberRepository::class);
|
|
}
|
|
}
|