lasthourcloud/app/Http/Livewire/Project/Application/EnvironmentVariable/Add.php
Andras Bacsai 96b9f8213c storages
2023-05-05 12:08:38 +02:00

52 lines
1.4 KiB
PHP

<?php
namespace App\Http\Livewire\Project\Application\EnvironmentVariable;
use App\Models\Application;
use App\Models\EnvironmentVariable;
use Illuminate\Database\QueryException;
use Illuminate\Support\Facades\Route;
use Livewire\Component;
class Add extends Component
{
public $parameters;
public string $key;
public string $value;
public bool $is_build_time = false;
protected $rules = [
'key' => 'required|string',
'value' => 'required|string',
'is_build_time' => 'required|boolean',
];
public function mount()
{
$this->parameters = Route::current()->parameters();
}
public function submit()
{
$this->validate();
try {
$application_id = Application::where('uuid', $this->parameters['application_uuid'])->firstOrFail()->id;
EnvironmentVariable::create([
'key' => $this->key,
'value' => $this->value,
'is_build_time' => $this->is_build_time,
'application_id' => $application_id,
]);
$this->emit('refreshEnvs');
$this->key = '';
$this->value = '';
} catch (mixed $e) {
dd('asdf');
if ($e instanceof QueryException) {
dd($e->errorInfo);
$this->emit('error', $e->errorInfo[2]);
} else {
$this->emit('error', $e);
}
}
}
}