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

264 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\ActivityLog\ActivityLogRepository;
use App\Repositories\ActivityLog\ActivityLogRepositoryInterface;
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);
//Activity Log
$this->app->singleton(ActivityLogRepositoryInterface::class, ActivityLogRepository::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()
{
//
}
}