feat(admin): improve payments and server settings
This commit is contained in:
@@ -12,6 +12,8 @@ use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ServerController extends Controller
|
||||
{
|
||||
private const DOMAIN_PATTERN = '/^(?=.{1,253}$)([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/i';
|
||||
|
||||
public function __construct(
|
||||
private readonly DnsServerRepositoryInterface $serverRepository,
|
||||
private readonly ServerService $serverService,
|
||||
@@ -30,6 +32,7 @@ class ServerController extends Controller
|
||||
$query->where(function ($subQuery) use ($filter) {
|
||||
$subQuery->where('name', 'like', "%{$filter}%")
|
||||
->orWhere('ip_address', 'like', "%{$filter}%")
|
||||
->orWhere('domain', 'like', "%{$filter}%")
|
||||
->orWhere('username', 'like', "%{$filter}%");
|
||||
});
|
||||
}
|
||||
@@ -79,6 +82,7 @@ class ServerController extends Controller
|
||||
$validated = $request->validate([
|
||||
'name' => 'required|string|max:255',
|
||||
'ip_address' => 'required|string|max:255',
|
||||
'domain' => ['nullable', 'string', 'max:255', 'regex:' . self::DOMAIN_PATTERN],
|
||||
'panel_port' => 'nullable|integer|min:1|max:65535',
|
||||
'username' => 'required|string|max:255',
|
||||
'password' => 'required|string|max:255',
|
||||
@@ -93,6 +97,7 @@ class ServerController extends Controller
|
||||
$server = $this->serverRepository->create([
|
||||
'name' => $validated['name'],
|
||||
'ip_address' => $validated['ip_address'],
|
||||
'domain' => $validated['domain'] ?? null,
|
||||
'panel_port' => $validated['panel_port'] ?? 8880,
|
||||
'username' => $validated['username'],
|
||||
'password' => Crypt::encryptString($validated['password']),
|
||||
@@ -125,6 +130,7 @@ class ServerController extends Controller
|
||||
$validated = $request->validate([
|
||||
'name' => 'sometimes|required|string|max:255',
|
||||
'ip_address' => 'sometimes|required|string|max:255',
|
||||
'domain' => ['nullable', 'string', 'max:255', 'regex:' . self::DOMAIN_PATTERN],
|
||||
'panel_port' => 'nullable|integer|min:1|max:65535',
|
||||
'username' => 'sometimes|required|string|max:255',
|
||||
'password' => 'nullable|string|max:255',
|
||||
@@ -194,6 +200,7 @@ class ServerController extends Controller
|
||||
'id' => $server->id,
|
||||
'name' => $server->name,
|
||||
'ip_address' => $server->ip_address,
|
||||
'domain' => $server->domain,
|
||||
'panel_port' => $server->panel_port,
|
||||
'username' => $server->username,
|
||||
'api_key' => $server->api_key,
|
||||
|
||||
Reference in New Issue
Block a user