Implement 2D domain processing - mainly for fidonet

This commit is contained in:
2023-09-10 22:48:12 +10:00
parent ed7dc2ab8b
commit 673c444acd
8 changed files with 148 additions and 25 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use Illuminate\Support\Collection;
use Illuminate\Http\Request;
use App\Http\Requests\DomainRequest;
use App\Models\{Address,Domain,Zone};
class DomainController extends Controller
@@ -15,20 +16,10 @@ class DomainController extends Controller
/**
* Add or edit a domain
*/
public function add_edit(Request $request,Domain $o)
public function add_edit(DomainRequest $request,Domain $o)
{
if ($request->post()) {
$this->authorize('admin',$o);
$request->validate([
// http://ftsc.org/docs/old/fsp-1028.002
'name' => 'required|max:8|regex:/^[a-z-_~]{1,8}$/|unique:domains,name,'.($o->exists ? $o->id : 0),
'dnsdomain' => 'nullable|regex:/^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$/i|unique:domains,dnsdomain,'.($o->exists ? $o->id : NULL),
'active' => 'required|boolean',
'public' => 'required|boolean',
]);
foreach (['name','dnsdomain','active','public','homepage','notes'] as $key)
foreach (['name','dnsdomain','active','public','homepage','notes','flatten'] as $key)
$o->{$key} = $request->post($key);
$o->save();

View File

@@ -18,7 +18,7 @@ class EchoareaController extends Controller
$request->validate([
'domain_id' => 'required|exists:domains,id',
'name' => 'required|min:4|max:35|regex:/^[a-zA-Z-_~]{4,}$/|unique:echoareas,name,'.($o->exists ? $o->id : 0),
'name' => 'required|min:4|max:35|regex:/^[a-zA-Z0-9\-_~]{4,}$/|unique:echoareas,name,'.($o->exists ? $o->id : 0),
'description' => 'required',
'active' => 'required|boolean',
'show' => 'required|boolean',