feat: refactor super admin to use is_super_admin flag and enhance site deletion logic
- Changed super admin detection from role-based to `is_super_admin` flag in AdminUser model
- Added `requireDefaultAdminSiteId()` method to throw validation error when no integration site exists
- Enhanced site deletion to migrate platform role bindings to fallback site and auto-delete site-specific admin accounts
- Made agent line code optional with auto-generation fallback using `{site_code}-agent-{counter}` format
This commit is contained in:
@@ -9,6 +9,7 @@ use App\Http\Controllers\Api\V1\Admin\Integration\AdminIntegrationSiteRotateSecr
|
||||
use App\Http\Controllers\Api\V1\Admin\Integration\AdminIntegrationSiteConnectivityTestController;
|
||||
use App\Http\Controllers\Api\V1\Admin\Integration\AdminIntegrationSiteExportController;
|
||||
use App\Http\Controllers\Api\V1\Admin\Integration\AdminIntegrationSiteSecretsController;
|
||||
use App\Http\Controllers\Api\V1\Admin\Integration\AdminIntegrationSiteDestroyController;
|
||||
|
||||
Route::middleware('admin.api-resource')
|
||||
->group(function (): void {
|
||||
@@ -20,6 +21,8 @@ Route::middleware('admin.api-resource')
|
||||
->name('api.v1.admin.integration-sites.show');
|
||||
Route::put('integration-sites/{admin_site}', AdminIntegrationSiteUpdateController::class)
|
||||
->name('api.v1.admin.integration-sites.update');
|
||||
Route::delete('integration-sites/{admin_site}', AdminIntegrationSiteDestroyController::class)
|
||||
->name('api.v1.admin.integration-sites.destroy');
|
||||
Route::post('integration-sites/{admin_site}/rotate-secrets', AdminIntegrationSiteRotateSecretsController::class)
|
||||
->name('api.v1.admin.integration-sites.rotate-secrets');
|
||||
Route::post('integration-sites/{admin_site}/connectivity-test', AdminIntegrationSiteConnectivityTestController::class)
|
||||
|
||||
Reference in New Issue
Block a user