puh, fixes
This commit is contained in:
@@ -69,7 +69,12 @@ class ProjectController extends Controller
|
||||
if ($type->startsWith('one-click-service-')) {
|
||||
$oneClickServiceName = $type->after('one-click-service-')->value();
|
||||
$oneClickService = data_get($services, "$oneClickServiceName.compose");
|
||||
$oneClickDotEnvs = collect(data_get($services, "$oneClickServiceName.envs", []));
|
||||
$oneClickDotEnvs = data_get($services, "$oneClickServiceName.envs", null);
|
||||
$oneClickRequiredFqdn = data_get($services, "$oneClickServiceName.generateFqdn", []);
|
||||
$oneClickRequiredFqdn = collect($oneClickRequiredFqdn);
|
||||
if ($oneClickDotEnvs) {
|
||||
$oneClickDotEnvs = Str::of(base64_decode($oneClickDotEnvs))->split('/\r\n|\r|\n/');
|
||||
}
|
||||
if ($oneClickService) {
|
||||
$service = Service::create([
|
||||
'name' => "$oneClickServiceName-" . Str::random(10),
|
||||
@@ -77,18 +82,37 @@ class ProjectController extends Controller
|
||||
'environment_id' => $environment->id,
|
||||
'server_id' => (int) $server_id,
|
||||
]);
|
||||
if ($oneClickDotEnvs->count() > 0) {
|
||||
$oneClickDotEnvs->each(function ($value, $key) use ($service) {
|
||||
$service->name = "$oneClickServiceName-" . $service->uuid;
|
||||
$service->save();
|
||||
if ($oneClickDotEnvs && $oneClickDotEnvs->count() > 0) {
|
||||
$oneClickDotEnvs->each(function ($value) use ($service) {
|
||||
$key = Str::before($value, '=');
|
||||
$value = Str::of(Str::after($value, '='));
|
||||
if ($value->contains('SERVICE_USER')) {
|
||||
$value = Str::of(Str::random(10));
|
||||
}
|
||||
if ($value->contains('SERVICE_PASSWORD')) {
|
||||
$value = Str::of(Str::password(symbols: false));
|
||||
}
|
||||
if ($value->contains('SERVICE_BASE64')) {
|
||||
$length = Str::of($value)->after('SERVICE_BASE64_')->beforeLast('_')->value();
|
||||
if (is_numeric($length)) {
|
||||
$length = (int) $length;
|
||||
} else {
|
||||
$length = 1;
|
||||
}
|
||||
$value = Str::of(base64_encode(Str::password(length: $length, symbols: false)));
|
||||
}
|
||||
EnvironmentVariable::create([
|
||||
'key' => $key,
|
||||
'value' => $value,
|
||||
'value' => $value->value(),
|
||||
'service_id' => $service->id,
|
||||
'is_build_time' => false,
|
||||
'is_preview' => false,
|
||||
]);
|
||||
});
|
||||
}
|
||||
$service->parse(isNew: true);
|
||||
$service->parse(isNew: true, requiredFqdns: $oneClickRequiredFqdn);
|
||||
|
||||
return redirect()->route('project.service', [
|
||||
'service_uuid' => $service->uuid,
|
||||
|
||||
Reference in New Issue
Block a user