feat: Implement Plesk domain and hosting services
- Added PleskDomainService for managing domain operations (create, update, remove, get info). - Introduced PleskHostingService for provisioning hosting accounts and notifying customers. - Created PleskService for handling API requests to Plesk. - Added migration to include 'type' column in dns_manager_servers table. - Created migration for module_hosting_accounts table to track hosting subscriptions. - Created migration for module_hosting_plesk_clients table to manage Plesk client credentials. - Added email templates for notifying customers and admins about hosting account creation.
This commit is contained in:
@@ -25,6 +25,7 @@ use App\Http\Controllers\Api\Admin\VCenter\VCenterController;
|
||||
use App\Http\Controllers\Api\Admin\DnsManager\ServerController as DnsServerController;
|
||||
use App\Http\Controllers\Api\Admin\DnsManager\DomainController as DnsDomainController;
|
||||
use App\Http\Controllers\Api\Admin\DnsManager\RecordController as DnsRecordController;
|
||||
use App\Http\Controllers\Api\Admin\Hosting\HostingAccountController;
|
||||
use App\Http\Controllers\Api\Admin\OsManager\OsGroupController;
|
||||
use App\Http\Controllers\Api\Admin\OsManager\OsController;
|
||||
use App\Http\Controllers\Api\Admin\IpPool\IpPoolController;
|
||||
@@ -420,6 +421,20 @@ Route::prefix('v1')
|
||||
Route::put('{id}', 'update')->middleware('perm:domain.manager');
|
||||
});
|
||||
|
||||
// Hosting Manager (module: hosting)
|
||||
Route::prefix('hosting-accounts')
|
||||
->controller(HostingAccountController::class)
|
||||
->group(function () {
|
||||
Route::get('/', 'index')->middleware('perm:hosting.view');
|
||||
Route::get('{id}', 'show')->middleware('perm:hosting.view');
|
||||
Route::post('/', 'store')->middleware('perm:hosting.create');
|
||||
Route::put('{id}', 'update')->middleware('perm:hosting.edit');
|
||||
Route::delete('{id}', 'destroy')->middleware('perm:hosting.destroy');
|
||||
Route::post('{id}/suspend', 'suspend')->middleware('perm:hosting.edit');
|
||||
Route::post('{id}/unsuspend', 'unsuspend')->middleware('perm:hosting.edit');
|
||||
Route::post('{id}/reset-ftp-password', 'resetFtpPassword')->middleware('perm:hosting.edit');
|
||||
});
|
||||
|
||||
// InfraManagement (jumphost, vcenter config)
|
||||
Route::prefix('infra-management')
|
||||
->controller(InfraManagementController::class)
|
||||
|
||||
Reference in New Issue
Block a user