Plugins base (#613)

* wip

* wip

* cleanup

* notification channels

* phpstan

* services

* remove server types

* refactoring

* refactoring
This commit is contained in:
Saeed Vaziry
2025-06-14 14:35:18 +02:00
committed by GitHub
parent adc0653d15
commit 131b828807
311 changed files with 3976 additions and 2660 deletions

View File

@ -13,7 +13,6 @@
use App\Notifications\SiteInstallationSucceed;
use App\ValidationRules\DomainRule;
use Exception;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
@ -39,7 +38,6 @@ public function create(Server $server, array $input): Site
'type' => $input['type'],
'domain' => $input['domain'],
'aliases' => $input['aliases'] ?? [],
'port' => $input['port'] ?? null,
'user' => $user,
'path' => '/home/'.$user.'/'.$input['domain'],
'status' => SiteStatus::INSTALLING,
@ -116,7 +114,7 @@ public static function rules(Server $server, array $input): array
$rules = [
'type' => [
'required',
Rule::in(config('core.site_types')),
Rule::in(array_keys(config('site.types'))),
],
'domain' => [
'required',
@ -134,14 +132,6 @@ public static function rules(Server $server, array $input): array
Rule::unique('sites', 'user')->where('server_id', $server->id),
Rule::notIn($server->getSshUsers()),
],
'port' => [
'nullable',
'integer',
'min:1',
'max:65535',
Rule::unique('sites', 'port')
->where(fn (Builder $query) => $query->where('server_id', $server->id)),
],
];
return array_merge($rules, self::typeRules($server, $input));
@ -153,7 +143,7 @@ public static function rules(Server $server, array $input): array
*/
private static function typeRules(Server $server, array $input): array
{
if (! isset($input['type']) || ! in_array($input['type'], config('core.site_types'))) {
if (! isset($input['type']) || ! config('site.types.'.$input['type'])) {
return [];
}

View File

@ -5,8 +5,8 @@
use App\Exceptions\SSHError;
use App\Models\Service;
use App\Models\Site;
use App\SSH\Services\PHP\PHP;
use App\SSH\Services\Webserver\Webserver;
use App\Services\PHP\PHP;
use App\Services\Webserver\Webserver;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;

View File

@ -4,7 +4,7 @@
use App\Models\Service;
use App\Models\Site;
use App\SSH\Services\Webserver\Webserver;
use App\Services\Webserver\Webserver;
use App\ValidationRules\DomainRule;
class UpdateAliases
@ -21,7 +21,9 @@ public function update(Site $site, array $input): void
/** @var Webserver $webserver */
$webserver = $service->handler();
$webserver->updateVHost($site);
$webserver->updateVHost($site, regenerate: [
'core',
]);
$site->save();
}

View File

@ -4,7 +4,7 @@
use App\Exceptions\SSHError;
use App\Models\Site;
use App\SSH\Git\Git;
use App\SSH\OS\Git;
use Illuminate\Support\Facades\Validator;
class UpdateBranch

View File

@ -30,7 +30,10 @@ public function update(Site $site, array $input): void
$loadBalancerServer->save();
}
$site->webserver()->updateVHost($site);
$site->webserver()->updateVHost($site, regenerate: [
'load-balancer-upstream',
'load-balancer',
]);
}
/**