260 lines
13 KiB
PHP
260 lines
13 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Repositories\Addon\AddonCachedRepository;
|
|
use App\Repositories\Addon\AddonRepositoryInterface;
|
|
use App\Repositories\Admin\ProductCategory\ProductCategoryRepository;
|
|
use App\Repositories\Admin\ProductCategory\ProductCategoryRepositoryInterface;
|
|
use App\Repositories\Banned\BannedCachedRepository;
|
|
use App\Repositories\Banned\BannedRepositoryInterface;
|
|
use App\Repositories\Customer\CustomerCachedRepository;
|
|
use App\Repositories\Customer\CustomerLogCachedRepository;
|
|
use App\Repositories\Customer\CustomerLogRepositoryInterface;
|
|
use App\Repositories\Customer\CustomerRepositoryInterface;
|
|
use App\Repositories\Discount\DiscountCachedRepository;
|
|
use App\Repositories\Discount\DiscountRepositoryInterface;
|
|
use App\Repositories\Domain\DomainCachedRepository;
|
|
use App\Repositories\Domain\DomainRepositoryInterface;
|
|
use App\Repositories\Domain\DomainTypeCachedRepository;
|
|
use App\Repositories\Domain\DomainTypeRepositoryInterface;
|
|
use App\Repositories\File\FileCachedRepository;
|
|
use App\Repositories\File\FileRepositoryInterface;
|
|
use App\Repositories\Group\GroupCachedRepository;
|
|
use App\Repositories\Group\GroupRepositoryInterface;
|
|
use App\Repositories\Hosting\HostingCachedRepository;
|
|
use App\Repositories\Hosting\HostingRepositoryInterface;
|
|
use App\Repositories\Invoice\InvoiceCachedRepository;
|
|
use App\Repositories\Invoice\InvoiceRepositoryInterface;
|
|
use App\Repositories\InvoiceAttachment\InvoiceAttachmentRepository;
|
|
use App\Repositories\InvoiceAttachment\InvoiceAttachmentRepositoryInterface;
|
|
use App\Repositories\InvoiceItem\InvoiceItemCachedRepository;
|
|
use App\Repositories\InvoiceItem\InvoiceItemRepositoryInterface;
|
|
use App\Repositories\Log\LogCachedRepository;
|
|
use App\Repositories\Log\LogRepositoryInterface;
|
|
use App\Repositories\Mail\MailCachedRepository;
|
|
use App\Repositories\Mail\MailRepositoryInterface;
|
|
use App\Repositories\Menu\MenuCachedRepository;
|
|
use App\Repositories\Menu\MenuRepositoryInterface;
|
|
use App\Repositories\Module\Datacenter\DatacenterCachedRepository;
|
|
use App\Repositories\Module\Datacenter\DatacenterRepositoryInterface;
|
|
use App\Repositories\Module\Datastore\DatastoreCachedRepository;
|
|
use App\Repositories\Module\Datastore\DatastoreRepositoryInterface;
|
|
use App\Repositories\Module\DnsServer\DnsServerCachedRepository;
|
|
use App\Repositories\Module\DnsServer\DnsServerRepositoryInterface;
|
|
use App\Repositories\Module\IPPool\IPPoolCachedRepository;
|
|
use App\Repositories\Module\IPPool\IPPoolRepositoryInterface;
|
|
use App\Repositories\Note\NoteCachedRepository;
|
|
use App\Repositories\Note\NoteRepositoryInterface;
|
|
use App\Repositories\Order\OrderCachedRepository;
|
|
use App\Repositories\Order\OrderRepositoryInterface;
|
|
use App\Repositories\Os\OsCachedRepository;
|
|
use App\Repositories\Os\OsRepositoryInterface;
|
|
use App\Repositories\OsGroup\OsGroupCachedRepository;
|
|
use App\Repositories\OsGroup\OsGroupRepositoryInterface;
|
|
use App\Repositories\Payment\PaymentCachedReppository;
|
|
use App\Repositories\Payment\PaymentReppositoryInterface;
|
|
use App\Repositories\Post\PostCachedRepository;
|
|
use App\Repositories\Post\PostRepositoryInterface;
|
|
use App\Repositories\Setting\SettingCachedRepository;
|
|
use App\Repositories\Setting\SettingRepositoryInterface;
|
|
use App\Repositories\Staff\StaffRepository;
|
|
use App\Repositories\Staff\StaffRepositoryInterface;
|
|
use App\Repositories\Template\TemplateCachedRepository;
|
|
use App\Repositories\Template\TemplateRepositoryInterface;
|
|
use App\Repositories\Ticket\TicketCachedRepository;
|
|
use App\Repositories\Ticket\TicketRepositoryInterface;
|
|
use App\Repositories\TicketReply\TicketReplyCachedRepository;
|
|
use App\Repositories\TicketReply\TicketReplyRepositoryInterface;
|
|
use App\Repositories\Transaction\TransactionCachedRepository;
|
|
use App\Repositories\Transaction\TransactionRepositoryInterface;
|
|
use App\Repositories\Service\ServiceRepository;
|
|
use App\Repositories\Service\ServiceRepositoryInterface;
|
|
use Illuminate\Support\ServiceProvider;
|
|
use App\Repositories\Module\Domain\DomainRepositoryInterface as ModuleDomainRepositoryInterface;
|
|
use App\Repositories\Module\Domain\DomainCachedRepository as ModuleDomainCachedRepository;
|
|
use App\Repositories\Module\Folder\FolderCachedRepository;
|
|
use App\Repositories\Module\Folder\FolderRepositoryInterface;
|
|
use App\Repositories\Module\Host\HostCachedRepository;
|
|
use App\Repositories\Module\Host\HostRepositoryInterface;
|
|
use App\Repositories\Module\Hosting\HostingCachedRepository as ModuleHostingCachedRepository;
|
|
use App\Repositories\Module\Hosting\HostingRepositoryInterface as ModuleHostingRepositoryInterface;
|
|
|
|
use App\Repositories\Module\HostingServer\HostingServerCachedRepository;
|
|
use App\Repositories\Module\HostingServer\HostingServerRepositoryInterface;
|
|
use App\Repositories\Module\IpAddress\IpAddressCachedRepository;
|
|
use App\Repositories\Module\IpAddress\IpAddressRepositoryInterface;
|
|
use App\Repositories\Module\Network\NetworkCachedRepository;
|
|
use App\Repositories\Module\Network\NetworkRepositoryInterface;
|
|
use App\Repositories\Module\Snapshot\SnapshotCachedRepository;
|
|
use App\Repositories\Module\Snapshot\SnapshotLimitCachedRepository;
|
|
use App\Repositories\Module\Snapshot\SnapshotLimitRepositoryInterface;
|
|
use App\Repositories\Module\Snapshot\SnapshotRepositoryInterface;
|
|
use App\Repositories\Module\Vmware\VmwareCachedRepository;
|
|
use App\Repositories\Module\Vmware\VmwareRepositoryInterface;
|
|
use App\Repositories\Admin\Product\ProductRepository;
|
|
use App\Repositories\Admin\Product\ProductRepositoryInterface;
|
|
use App\Repositories\User\UserCachedRepository;
|
|
use App\Repositories\User\UserRepositoryInterface;
|
|
use App\Repositories\vCenter\vCenterCachedRepository;
|
|
use App\Repositories\vCenter\vCenterRepositoryInterface;
|
|
use App\Repositories\VPS\VPSCachedRepository;
|
|
use App\Repositories\VPS\VPSRepositoryInterface;
|
|
use App\Repositories\Module\VirtualMachine\VirtualMachineRepository;
|
|
use App\Repositories\Module\VirtualMachine\VirtualMachineRepositoryInterface;
|
|
use App\Repositories\DnsManager\Domain\DnsDomainRepository;
|
|
use App\Repositories\DnsManager\Domain\DnsDomainRepositoryInterface;
|
|
use App\Repositories\DnsManager\Server\DnsServerRepository as DnsManagerServerRepository;
|
|
use App\Repositories\DnsManager\Server\DnsServerRepositoryInterface as DnsManagerServerRepositoryInterface;
|
|
use App\Repositories\DnsManager\Record\DnsRecordRepository;
|
|
use App\Repositories\DnsManager\Record\DnsRecordRepositoryInterface;
|
|
|
|
class RepositoryProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Register services.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function register()
|
|
{
|
|
//Addon
|
|
$this->app->singleton(AddonRepositoryInterface::class, AddonCachedRepository::class);
|
|
//Banned
|
|
$this->app->singleton(BannedRepositoryInterface::class, BannedCachedRepository::class);
|
|
//Customer
|
|
$this->app->singleton(CustomerRepositoryInterface::class, CustomerCachedRepository::class);
|
|
//Customer
|
|
$this->app->singleton(CustomerCachedRepository::class);
|
|
//Customer Log
|
|
$this->app->singleton(CustomerLogRepositoryInterface::class, CustomerLogCachedRepository::class);
|
|
//Discount
|
|
$this->app->singleton(DiscountRepositoryInterface::class, DiscountCachedRepository::class);
|
|
//Domain
|
|
$this->app->singleton(DomainRepositoryInterface::class, DomainCachedRepository::class);
|
|
//Domain Type
|
|
$this->app->singleton(DomainTypeRepositoryInterface::class, DomainTypeCachedRepository::class);
|
|
//File
|
|
$this->app->singleton(FileRepositoryInterface::class, FileCachedRepository::class);
|
|
//Group
|
|
$this->app->singleton(GroupRepositoryInterface::class, GroupCachedRepository::class);
|
|
//Hosting
|
|
$this->app->singleton(HostingRepositoryInterface::class, HostingCachedRepository::class);
|
|
//Invoice
|
|
$this->app->singleton(InvoiceRepositoryInterface::class, InvoiceCachedRepository::class);
|
|
//Invoice Attachment
|
|
$this->app->singleton(InvoiceAttachmentRepositoryInterface::class, InvoiceAttachmentRepository::class);
|
|
//Invoice Item
|
|
$this->app->singleton(InvoiceItemRepositoryInterface::class, InvoiceItemCachedRepository::class);
|
|
//Log
|
|
$this->app->singleton(LogRepositoryInterface::class, LogCachedRepository::class);
|
|
//Mail
|
|
$this->app->singleton(MailRepositoryInterface::class, MailCachedRepository::class);
|
|
//Note
|
|
$this->app->singleton(NoteRepositoryInterface::class, NoteCachedRepository::class);
|
|
//Order
|
|
$this->app->singleton(OrderRepositoryInterface::class, OrderCachedRepository::class);
|
|
//Os
|
|
$this->app->singleton(OsRepositoryInterface::class, OsCachedRepository::class);
|
|
// Os Group
|
|
$this->app->singleton(OsGroupRepositoryInterface::class, OsGroupCachedRepository::class);
|
|
// Payment
|
|
$this->app->singleton(PaymentReppositoryInterface::class, PaymentCachedReppository::class);
|
|
// Menu
|
|
$this->app->singleton(MenuRepositoryInterface::class, MenuCachedRepository::class);
|
|
//Post
|
|
$this->app->singleton(PostRepositoryInterface::class, PostCachedRepository::class);
|
|
//Setting
|
|
$this->app->singleton(SettingRepositoryInterface::class, SettingCachedRepository::class);
|
|
//Staff
|
|
$this->app->singleton(StaffRepositoryInterface::class, StaffRepository::class);
|
|
//Template
|
|
$this->app->singleton(TemplateRepositoryInterface::class, TemplateCachedRepository::class);
|
|
//Ticket
|
|
$this->app->singleton(TicketRepositoryInterface::class, TicketCachedRepository::class);
|
|
//Ticket Reply
|
|
$this->app->singleton(TicketReplyRepositoryInterface::class, TicketReplyCachedRepository::class);
|
|
//Transaction
|
|
$this->app->singleton(TransactionRepositoryInterface::class, TransactionCachedRepository::class);
|
|
//Service
|
|
$this->app->singleton(ServiceRepositoryInterface::class, ServiceRepository::class);
|
|
//Module Datacenter
|
|
$this->app->singleton(DatacenterRepositoryInterface::class, DatacenterCachedRepository::class);
|
|
//Module Datastore
|
|
$this->app->singleton(DatastoreRepositoryInterface::class, DatastoreCachedRepository::class);
|
|
// Module DnsServer
|
|
$this->app->singleton(DnsServerRepositoryInterface::class, DnsServerCachedRepository::class);
|
|
//Module Domain
|
|
$this->app->singleton(ModuleDomainRepositoryInterface::class, ModuleDomainCachedRepository::class);
|
|
//Module Folder
|
|
$this->app->singleton(FolderRepositoryInterface::class, FolderCachedRepository::class);
|
|
//Host
|
|
$this->app->singleton(HostRepositoryInterface::class, HostCachedRepository::class);
|
|
//Hosting
|
|
$this->app->singleton(ModuleHostingRepositoryInterface::class, ModuleHostingCachedRepository::class);
|
|
//Hosting Server
|
|
$this->app->singleton(HostingServerRepositoryInterface::class, HostingServerCachedRepository::class);
|
|
//IpAddress
|
|
$this->app->singleton(IpAddressRepositoryInterface::class, IpAddressCachedRepository::class);
|
|
//Network
|
|
$this->app->singleton(NetworkRepositoryInterface::class, NetworkCachedRepository::class);
|
|
//Snapshot
|
|
$this->app->singleton(SnapshotRepositoryInterface::class, SnapshotCachedRepository::class);
|
|
//Snapshot Limit
|
|
$this->app->singleton(SnapshotLimitRepositoryInterface::class, SnapshotLimitCachedRepository::class);
|
|
//vmware
|
|
$this->app->singleton(VmwareRepositoryInterface::class, VmwareCachedRepository::class);
|
|
//User
|
|
$this->app->singleton(UserRepositoryInterface::class, UserCachedRepository::class);
|
|
//vCenter
|
|
$this->app->singleton(vCenterRepositoryInterface::class, vCenterCachedRepository::class);
|
|
//vps
|
|
$this->app->singleton(VPSRepositoryInterface::class, VPSCachedRepository::class);
|
|
|
|
//Module IP Pool
|
|
$this->app->singleton(IPPoolRepositoryInterface::class, IPPoolCachedRepository::class);
|
|
|
|
//Module VirtualMachine
|
|
$this->app->singleton(VirtualMachineRepositoryInterface::class, VirtualMachineRepository::class);
|
|
|
|
// Product
|
|
$this->app->singleton(ProductRepositoryInterface::class, ProductRepository::class);
|
|
|
|
// Product Category
|
|
$this->app->singleton(ProductCategoryRepositoryInterface::class, ProductCategoryRepository::class);
|
|
|
|
// Client API
|
|
$this->app->singleton(
|
|
\App\Repositories\Api\Client\ClientRepositoryInterface::class,
|
|
\App\Repositories\Api\Client\ClientRepository::class,
|
|
);
|
|
|
|
// Service API
|
|
$this->app->singleton(
|
|
\App\Repositories\Api\Service\ServiceRepositoryInterface::class,
|
|
\App\Repositories\Api\Service\ServiceRepository::class,
|
|
);
|
|
|
|
// Service Client API
|
|
$this->app->singleton(
|
|
\App\Repositories\Api\ServiceClient\ServiceClientRepositoryInterface::class,
|
|
\App\Repositories\Api\ServiceClient\ServiceClientRepository::class,
|
|
);
|
|
|
|
// DNS Manager
|
|
$this->app->singleton(DnsManagerServerRepositoryInterface::class, DnsManagerServerRepository::class);
|
|
$this->app->singleton(DnsDomainRepositoryInterface::class, DnsDomainRepository::class);
|
|
$this->app->singleton(DnsRecordRepositoryInterface::class, DnsRecordRepository::class);
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function boot()
|
|
{
|
|
//
|
|
}
|
|
}
|