87 lines
4.4 KiB
PHP
87 lines
4.4 KiB
PHP
<?php
|
|
|
|
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\DnsManager\ServerController as DnsServerController;
|
|
use App\Http\Controllers\Api\Admin\Domain\AdminDomainOrderController;
|
|
use App\Http\Controllers\Api\Admin\Domain\AdminDomainPricingController;
|
|
use App\Http\Controllers\Api\Admin\Domain\InetDomainController;
|
|
use App\Http\Controllers\Api\Admin\DnsManager\RegistrarController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// DNS Manager — Domains (module: domain.manager)
|
|
Route::prefix('domains')
|
|
->controller(DnsDomainController::class)
|
|
->group(function () {
|
|
Route::get('/', 'index')->middleware('perm:domain.manager');
|
|
Route::post('/', 'store')->middleware('perm:domain.manager');
|
|
Route::post('sync-dns', 'syncDns')->middleware('perm:domain.manager');
|
|
Route::get('{id}', 'show')->middleware('perm:domain.manager');
|
|
Route::put('{id}', 'update')->middleware('perm:domain.manager');
|
|
Route::delete('{id}', 'destroy')->middleware('perm:domain.manager');
|
|
// DNS Records
|
|
Route::get('{id}/dns', 'dnsIndex')->middleware('perm:domain.manager');
|
|
Route::post('{id}/dns', 'dnsStore')->middleware('perm:domain.manager');
|
|
Route::put('{id}/dns/{recordId}', 'dnsUpdate')->middleware('perm:domain.manager');
|
|
Route::delete('{id}/dns/{recordId}', 'dnsDestroy')->middleware('perm:domain.manager');
|
|
});
|
|
|
|
// DNS Manager — Servers (module: domain.manager)
|
|
Route::prefix('dns-servers')
|
|
->controller(DnsServerController::class)
|
|
->group(function () {
|
|
Route::get('/', 'index')->middleware('perm:domain.manager');
|
|
Route::post('/', 'store')->middleware('perm:domain.manager');
|
|
Route::get('{id}', 'show')->middleware('perm:domain.manager');
|
|
Route::post('{id}/check-connection', 'checkConnection')->middleware('perm:domain.manager');
|
|
Route::put('{id}', 'update')->middleware('perm:domain.manager');
|
|
Route::delete('{id}', 'destroy')->middleware('perm:domain.manager');
|
|
});
|
|
|
|
Route::prefix('dns-records')
|
|
->controller(DnsRecordController::class)
|
|
->group(function () {
|
|
Route::get('/', 'index')->middleware('perm:domain.manager');
|
|
Route::get('{id}', 'show')->middleware('perm:domain.manager');
|
|
Route::put('{id}', 'update')->middleware('perm:domain.manager');
|
|
});
|
|
|
|
// Domain Orders (module: order)
|
|
Route::prefix('domain-orders')
|
|
->controller(AdminDomainOrderController::class)
|
|
->group(function () {
|
|
Route::get('pending-count', 'pendingCount')->middleware('perm:order.view');
|
|
Route::get('/', 'index')->middleware('perm:order.view');
|
|
Route::get('{id}', 'show')->middleware('perm:order.view');
|
|
Route::post('{id}/confirm-registration', 'confirmRegistration')->middleware('perm:order.edit');
|
|
Route::patch('{id}/kyc', 'updateKyc')->middleware('perm:order.edit');
|
|
Route::patch('{id}/activate', 'activate')->middleware('perm:order.edit');
|
|
Route::post('{id}/reject-and-refund', 'rejectAndRefund')->middleware('perm:order.edit');
|
|
Route::get('{id}/registrant', 'getRegistrant')->middleware('perm:order.view');
|
|
Route::patch('{id}/registrant', 'updateRegistrant')->middleware('perm:order.edit');
|
|
Route::get('{id}/registrant/docx', 'downloadRegistrantDocx')->middleware('perm:order.view');
|
|
});
|
|
|
|
// Domain Pricing (module: settings)
|
|
Route::prefix('domain-pricing')
|
|
->controller(AdminDomainPricingController::class)
|
|
->middleware('perm:setting.manager')
|
|
->group(function () {
|
|
Route::get('/', 'index');
|
|
Route::put('/', 'update');
|
|
Route::post('/reset', 'reset');
|
|
});
|
|
|
|
// Domain Tools — proxy tới iNET API (module: domain.manager)
|
|
Route::prefix('domain-tools')
|
|
->controller(InetDomainController::class)
|
|
->group(function () {
|
|
Route::get('whois/{domain}', 'whois')->middleware('perm:domain.manager');
|
|
Route::get('check-available', 'checkAvailable')->middleware('perm:domain.manager');
|
|
Route::post('bulk-check-available', 'bulkCheckAvailable')->middleware('perm:domain.manager');
|
|
Route::post('ai-suggest', 'aiSuggest')->middleware('perm:domain.manager');
|
|
Route::get('suffixes', 'suffixes')->middleware('perm:domain.manager');
|
|
});
|
|
|
|
Route::get('registrars', [RegistrarController::class, 'index'])->middleware('perm:domain.manager');
|