#591 - sites [wip]

This commit is contained in:
Saeed Vaziry
2025-05-25 22:17:19 +02:00
parent ff11fb44e0
commit f5fdbae4ac
77 changed files with 2156 additions and 414 deletions

View File

@ -14,18 +14,22 @@
use App\ValidationRules\DomainRule;
use Exception;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
use Illuminate\Validation\ValidationException;
use Throwable;
class CreateSite
{
/**
* @param array<string, mixed> $input
*
* @throws ValidationException
* @throws Throwable
*/
public function create(Server $server, array $input): Site
{
Validator::make($input, self::rules($server, $input))->validate();
DB::beginTransaction();
try {
$user = $input['user'] ?? $server->getSshUser();
@ -121,6 +125,7 @@ public static function rules(Server $server, array $input): array
new DomainRule,
],
'user' => [
'nullable',
'regex:/^[a-z_][a-z0-9_-]*[a-z0-9]$/',
'min:3',
'max:32',