Add customer dashboard, provisioning services, and legal pages
Phase 3 (Provisioning): - Create ProvisioningServiceInterface abstraction - Implement VirtFusionService for VPS provisioning via REST API - Implement SynergyCPService for dedicated server provisioning - Implement EnhanceService for web hosting provisioning - Create ProvisioningFactory for service type routing - Add API config for VirtFusion, SynergyCP, Enhance Phase 4 (Customer Dashboard): - Enhance DashboardController with real data (services, subscriptions, invoices, pending amounts, next renewal) - Rebuild Dashboard.vue with stats cards, active subscriptions list, recent invoices table, and quick action buttons Phase 8 (Marketing): - Add Terms of Service page with 15 sections - Add Privacy Policy page (GDPR/CCPA aware) - Add Acceptable Use Policy page - Add Service Level Agreement page (99.99% uptime, credit calc) - 52 tests passing, build clean Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
23
website/app/Services/Provisioning/ProvisioningFactory.php
Normal file
23
website/app/Services/Provisioning/ProvisioningFactory.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Services\Provisioning;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
class ProvisioningFactory
|
||||
{
|
||||
/**
|
||||
* Create a provisioning service instance based on service type.
|
||||
*/
|
||||
public function make(string $serviceType): ProvisioningServiceInterface
|
||||
{
|
||||
return match ($serviceType) {
|
||||
'vps' => app(VirtFusionService::class),
|
||||
'dedicated' => app(SynergyCPService::class),
|
||||
'hosting' => app(EnhanceService::class),
|
||||
default => throw new InvalidArgumentException("Unsupported service type: {$serviceType}"),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user