feat: add domain registration form and email notifications

- Create a new Blade view for domain registration (`registrant-tochuc.blade.php`) to capture organization and manager details.
- Implement email templates for new domain orders for both admin (`domain-order-new.blade.php`) and customers (`domain-order-received.blade.php`).
- Add CSV exports for client and domain data.
- Introduce tests for customer mass assignment, password reset, login throttling, and permission gating.
- Ensure service renewals use current pricing and validate ownership for virtual machines.
- Validate mass assignment behavior in service model.
This commit is contained in:
baodev0
2026-08-22 17:30:55 +07:00
parent eec2c5906e
commit c377c7e195
58 changed files with 3063 additions and 418 deletions
+5 -1
View File
@@ -31,7 +31,7 @@ Route::prefix('v1')
->as('client.')
->group(function () {
Route::controller(ClientController::class)->group(function () {
Route::post('login', 'login')->name('login');
Route::post('login', 'login')->middleware('throttle:5,1')->name('login');
Route::post('register', 'register')->name('register');
Route::post('verify-email', 'verifyEmail')->name('verify-email');
Route::post('resend-verify', 'resendVerifyCode')->name('resend-verify');
@@ -89,6 +89,10 @@ Route::prefix('v1')
Route::delete('{domainId}/records/{recordId}', 'destroyRecord')->name('records.destroy');
});
Route::middleware(['api.auth'])
->get('overview', [ClientServiceController::class, 'overview'])
->name('overview');
Route::middleware(['api.auth'])
->prefix('client-service')
->controller(ClientServiceController::class)