refactored: webhooks view
This commit is contained in:
parent
21825876fb
commit
39a7332343
@ -4,49 +4,59 @@
|
|||||||
|
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
|
|
||||||
|
// Refactored ✅
|
||||||
class Webhooks extends Component
|
class Webhooks extends Component
|
||||||
{
|
{
|
||||||
public $resource;
|
public $resource;
|
||||||
|
|
||||||
public ?string $deploywebhook = null;
|
public string $deploywebhook;
|
||||||
|
|
||||||
public ?string $githubManualWebhook = null;
|
public string $githubManualWebhook;
|
||||||
|
|
||||||
public ?string $gitlabManualWebhook = null;
|
public string $gitlabManualWebhook;
|
||||||
|
|
||||||
public ?string $bitbucketManualWebhook = null;
|
public string $bitbucketManualWebhook;
|
||||||
|
|
||||||
public ?string $giteaManualWebhook = null;
|
public string $giteaManualWebhook;
|
||||||
|
|
||||||
protected $rules = [
|
public ?string $githubManualWebhookSecret = null;
|
||||||
'resource.manual_webhook_secret_github' => 'nullable|string',
|
|
||||||
'resource.manual_webhook_secret_gitlab' => 'nullable|string',
|
|
||||||
'resource.manual_webhook_secret_bitbucket' => 'nullable|string',
|
|
||||||
'resource.manual_webhook_secret_gitea' => 'nullable|string',
|
|
||||||
];
|
|
||||||
|
|
||||||
public function saveSecret()
|
public ?string $gitlabManualWebhookSecret = null;
|
||||||
|
|
||||||
|
public ?string $bitbucketManualWebhookSecret = null;
|
||||||
|
|
||||||
|
public ?string $giteaManualWebhookSecret = null;
|
||||||
|
|
||||||
|
public function mount()
|
||||||
|
{
|
||||||
|
$this->deploywebhook = generateDeployWebhook($this->resource);
|
||||||
|
|
||||||
|
$this->githubManualWebhookSecret = data_get($this->resource, 'manual_webhook_secret_github');
|
||||||
|
$this->githubManualWebhook = generateGitManualWebhook($this->resource, 'github');
|
||||||
|
|
||||||
|
$this->gitlabManualWebhookSecret = data_get($this->resource, 'manual_webhook_secret_gitlab');
|
||||||
|
$this->gitlabManualWebhook = generateGitManualWebhook($this->resource, 'gitlab');
|
||||||
|
|
||||||
|
$this->bitbucketManualWebhookSecret = data_get($this->resource, 'manual_webhook_secret_bitbucket');
|
||||||
|
$this->bitbucketManualWebhook = generateGitManualWebhook($this->resource, 'bitbucket');
|
||||||
|
|
||||||
|
$this->giteaManualWebhookSecret = data_get($this->resource, 'manual_webhook_secret_gitea');
|
||||||
|
$this->giteaManualWebhook = generateGitManualWebhook($this->resource, 'gitea');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function submit()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->validate();
|
$this->authorize('update', $this->resource);
|
||||||
$this->resource->save();
|
$this->resource->update([
|
||||||
|
'manual_webhook_secret_github' => $this->githubManualWebhookSecret,
|
||||||
|
'manual_webhook_secret_gitlab' => $this->gitlabManualWebhookSecret,
|
||||||
|
'manual_webhook_secret_bitbucket' => $this->bitbucketManualWebhookSecret,
|
||||||
|
'manual_webhook_secret_gitea' => $this->giteaManualWebhookSecret,
|
||||||
|
]);
|
||||||
$this->dispatch('success', 'Secret Saved.');
|
$this->dispatch('success', 'Secret Saved.');
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function mount()
|
|
||||||
{
|
|
||||||
$this->deploywebhook = generateDeployWebhook($this->resource);
|
|
||||||
$this->githubManualWebhook = generateGitManualWebhook($this->resource, 'github');
|
|
||||||
$this->gitlabManualWebhook = generateGitManualWebhook($this->resource, 'gitlab');
|
|
||||||
$this->bitbucketManualWebhook = generateGitManualWebhook($this->resource, 'bitbucket');
|
|
||||||
$this->giteaManualWebhook = generateGitManualWebhook($this->resource, 'gitea');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function render()
|
|
||||||
{
|
|
||||||
return view('livewire.project.shared.webhooks');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
<div>
|
<div>
|
||||||
<h3>Manual Git Webhooks</h3>
|
<h3>Manual Git Webhooks</h3>
|
||||||
@if ($githubManualWebhook && $gitlabManualWebhook)
|
@if ($githubManualWebhook && $gitlabManualWebhook)
|
||||||
<form wire:submit='saveSecret' class="flex flex-col gap-2">
|
<form wire:submit='submit' class="flex flex-col gap-2">
|
||||||
<div class="flex items-end gap-2">
|
<div class="flex items-end gap-2">
|
||||||
<x-forms.input helper="Content Type in GitHub configuration could be json or form-urlencoded."
|
<x-forms.input helper="Content Type in GitHub configuration could be json or form-urlencoded."
|
||||||
readonly label="GitHub" id="githubManualWebhook"></x-forms.input>
|
readonly label="GitHub" id="githubManualWebhook"></x-forms.input>
|
||||||
<x-forms.input type="password"
|
<x-forms.input type="password"
|
||||||
helper="Need to set a secret to be able to use this webhook. It should match with the secret in GitHub."
|
helper="Need to set a secret to be able to use this webhook. It should match with the secret in GitHub."
|
||||||
label="GitHub Webhook Secret" id="resource.manual_webhook_secret_github"></x-forms.input>
|
label="GitHub Webhook Secret" id="githubManualWebhookSecret"></x-forms.input>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a target="_blank" class="flex hover:no-underline" href="{{ $resource?->gitWebhook }}">
|
<a target="_blank" class="flex hover:no-underline" href="{{ $resource?->gitWebhook }}">
|
||||||
@ -31,21 +31,19 @@
|
|||||||
<x-forms.input readonly label="GitLab" id="gitlabManualWebhook"></x-forms.input>
|
<x-forms.input readonly label="GitLab" id="gitlabManualWebhook"></x-forms.input>
|
||||||
<x-forms.input type="password"
|
<x-forms.input type="password"
|
||||||
helper="Need to set a secret to be able to use this webhook. It should match with the secret in GitLab."
|
helper="Need to set a secret to be able to use this webhook. It should match with the secret in GitLab."
|
||||||
label="GitLab Webhook Secret" id="resource.manual_webhook_secret_gitlab"></x-forms.input>
|
label="GitLab Webhook Secret" id="gitlabManualWebhookSecret"></x-forms.input>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<x-forms.input readonly label="Bitbucket" id="bitbucketManualWebhook"></x-forms.input>
|
<x-forms.input readonly label="Bitbucket" id="bitbucketManualWebhook"></x-forms.input>
|
||||||
<x-forms.input type="password"
|
<x-forms.input type="password"
|
||||||
helper="Need to set a secret to be able to use this webhook. It should match with the secret in Bitbucket."
|
helper="Need to set a secret to be able to use this webhook. It should match with the secret in Bitbucket."
|
||||||
label="Bitbucket Webhook Secret"
|
label="Bitbucket Webhook Secret" id="bitbucketManualWebhookSecret"></x-forms.input>
|
||||||
id="resource.manual_webhook_secret_bitbucket"></x-forms.input>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<x-forms.input readonly label="Gitea" id="giteaManualWebhook"></x-forms.input>
|
<x-forms.input readonly label="Gitea" id="giteaManualWebhook"></x-forms.input>
|
||||||
<x-forms.input type="password"
|
<x-forms.input type="password"
|
||||||
helper="Need to set a secret to be able to use this webhook. It should match with the secret in Gitea."
|
helper="Need to set a secret to be able to use this webhook. It should match with the secret in Gitea."
|
||||||
label="Gitea Webhook Secret"
|
label="Gitea Webhook Secret" id="giteaManualWebhookSecret"></x-forms.input>
|
||||||
id="resource.manual_webhook_secret_gitea"></x-forms.input>
|
|
||||||
</div>
|
</div>
|
||||||
<x-forms.button type="submit">Save</x-forms.button>
|
<x-forms.button type="submit">Save</x-forms.button>
|
||||||
</form>
|
</form>
|
||||||
|
Loading…
Reference in New Issue
Block a user