Files
portal-api/app/Providers/RepositoryProvider.php
T

381 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\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 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\Type\TypeCachedRepository;
use App\Repositories\Type\TypeRepositoryInterface;
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;
class RepositoryProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
//Addon
$this->app->bind(
AddonRepositoryInterface::class,
AddonCachedRepository::class
);
//Banned
$this->app->bind(
BannedRepositoryInterface::class,
BannedCachedRepository::class
);
//Customer
$this->app->bind(
CustomerRepositoryInterface::class,
CustomerCachedRepository::class
);
//Customer
$this->app->bind(
CustomerRepositoryInterface::class,
CustomerCachedRepository::class
);
//Customer Log
$this->app->bind(
CustomerLogRepositoryInterface::class,
CustomerLogCachedRepository::class
);
//Discount
$this->app->bind(
DiscountRepositoryInterface::class,
DiscountCachedRepository::class
);
//Domain
$this->app->bind(
DomainRepositoryInterface::class,
DomainCachedRepository::class
);
//Domain Type
$this->app->bind(
DomainTypeRepositoryInterface::class,
DomainTypeCachedRepository::class
);
//File
$this->app->bind(
FileRepositoryInterface::class,
FileCachedRepository::class
);
//Group
$this->app->bind(
GroupRepositoryInterface::class,
GroupCachedRepository::class
);
//Hosting
$this->app->bind(
HostingRepositoryInterface::class,
HostingCachedRepository::class
);
//Invoice
$this->app->bind(
InvoiceRepositoryInterface::class,
InvoiceCachedRepository::class
);
//Invoice Item
$this->app->bind(
InvoiceItemRepositoryInterface::class,
InvoiceItemCachedRepository::class
);
//Log
$this->app->bind(
LogRepositoryInterface::class,
LogCachedRepository::class
);
//Mail
$this->app->bind(
MailRepositoryInterface::class,
MailCachedRepository::class
);
//Note
$this->app->bind(
NoteRepositoryInterface::class,
NoteCachedRepository::class
);
//Order
$this->app->bind(
OrderRepositoryInterface::class,
OrderCachedRepository::class
);
//Os
$this->app->bind(
OsRepositoryInterface::class,
OsCachedRepository::class
);
// Os Group
$this->app->bind(
OsGroupRepositoryInterface::class,
OsGroupCachedRepository::class
);
// Payment
$this->app->bind(
PaymentReppositoryInterface::class,
PaymentCachedReppository::class
);
// Menu
$this->app->bind(
MenuRepositoryInterface::class,
MenuCachedRepository::class
);
//Post
$this->app->bind(
PostRepositoryInterface::class,
PostCachedRepository::class
);
//Setting
$this->app->bind(
SettingRepositoryInterface::class,
SettingCachedRepository::class
);
//Staff
$this->app->bind(
StaffRepositoryInterface::class,
StaffRepository::class
);
//Template
$this->app->bind(
TemplateRepositoryInterface::class,
TemplateCachedRepository::class
);
//Ticket
$this->app->bind(
TicketRepositoryInterface::class,
TicketCachedRepository::class
);
//Ticket Reply
$this->app->bind(
TicketReplyRepositoryInterface::class,
TicketReplyCachedRepository::class
);
//Transaction
$this->app->bind(
TransactionRepositoryInterface::class,
TransactionCachedRepository::class
);
//Module Datacenter
$this->app->bind(
DatacenterRepositoryInterface::class,
DatacenterCachedRepository::class
);
//Module Datastore
$this->app->bind(
DatastoreRepositoryInterface::class,
DatastoreCachedRepository::class
);
// Module DnsServer
$this->app->bind(
DnsServerRepositoryInterface::class,
DnsServerCachedRepository::class
);
//Module Domain
$this->app->bind(
ModuleDomainRepositoryInterface::class,
ModuleDomainCachedRepository::class
);
//Module Folder
$this->app->bind(
FolderRepositoryInterface::class,
FolderCachedRepository::class
);
//Host
$this->app->bind(
HostRepositoryInterface::class,
HostCachedRepository::class
);
//Hosting
$this->app->bind(
ModuleHostingRepositoryInterface::class,
ModuleHostingCachedRepository::class
);
//Hosting Server
$this->app->bind(
HostingServerRepositoryInterface::class,
HostingServerCachedRepository::class
);
//IpAddress
$this->app->bind(
IpAddressRepositoryInterface::class,
IpAddressCachedRepository::class
);
//Network
$this->app->bind(
NetworkRepositoryInterface::class,
NetworkCachedRepository::class
);
//Snapshot
$this->app->bind(
SnapshotRepositoryInterface::class,
SnapshotCachedRepository::class
);
//Snapshot Limit
$this->app->bind(
SnapshotLimitRepositoryInterface::class,
SnapshotLimitCachedRepository::class
);
//vmware
$this->app->bind(
VmwareRepositoryInterface::class,
VmwareCachedRepository::class
);
//User
$this->app->bind(
UserRepositoryInterface::class,
UserCachedRepository::class
);
//vCenter
$this->app->bind(
vCenterRepositoryInterface::class,
vCenterCachedRepository::class
);
//vps
$this->app->bind(
VPSRepositoryInterface::class,
VPSCachedRepository::class
);
//Module IP Pool
$this->app->bind(
IPPoolRepositoryInterface::class,
IPPoolCachedRepository::class
);
//Module VirtualMachine
$this->app->bind(
VirtualMachineRepositoryInterface::class,
VirtualMachineRepository::class
);
// Product
$this->app->bind(
ProductRepositoryInterface::class,
ProductRepository::class
);
// Product Category
$this->app->bind(
ProductCategoryRepositoryInterface::class,
ProductCategoryRepository::class
);
// Client API
$this->app->bind(
\App\Repositories\Api\Client\ClientRepositoryInterface::class,
\App\Repositories\Api\Client\ClientRepository::class
);
// Service API
$this->app->bind(
\App\Repositories\Api\Service\ServiceRepositoryInterface::class,
\App\Repositories\Api\Service\ServiceRepository::class
);
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
}