feat: Implement DNS management with dedicated models, repositories, requests, controllers, and services, while refactoring authentication by removing Passport and Sanctum.

This commit is contained in:
pbao9
2026-03-09 16:43:06 +07:00
parent 80a5e0ca3d
commit 4e4807dbea
47 changed files with 1905 additions and 1243 deletions
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests\Domain;
use Illuminate\Foundation\Http\FormRequest;
class DomainRemoveRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'ids' => 'required|array|min:1',
'ids.*' => 'required|integer|exists:dns_manager_domain,id',
];
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Requests\Domain;
use Illuminate\Foundation\Http\FormRequest;
class DomainRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'domain_name' => 'required|string|max:255',
'dns_manager_server_id' => 'required|integer|exists:dns_manager_servers,id',
'user_id' => 'nullable|array',
'user_id.*' => 'integer|exists:users,id',
];
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests\Record;
use Illuminate\Foundation\Http\FormRequest;
class RecordRemoveRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'ids' => 'required|array|min:1',
'ids.*' => 'required|integer|exists:dns_manager_ns,id',
];
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests\Server;
use Illuminate\Foundation\Http\FormRequest;
class ServerRemoveRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'ids' => 'required|array|min:1',
'ids.*' => 'required|integer|exists:dns_manager_servers,id',
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Requests\Server;
use Illuminate\Foundation\Http\FormRequest;
class ServerRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'name' => 'required|string|max:255',
'ip_address' => 'required|string|max:255',
'username' => 'required|string|max:255',
'password' => 'required|string|max:255',
'status' => 'nullable|string|in:activated,Stopped',
];
}
}