[PR #132] [CLOSED] feat: Webhooks #606

Closed
opened 2026-02-05 17:48:53 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/pelican-dev/panel/pull/132
Author: @PascaleBeier
Created: 4/21/2024
Status: Closed

Base: mainHead: feat/webhooks


📝 Commits (10+)

  • 5c9ff70 feat: First Webhook PoC draft
  • 274e159 feat: Dispatch Webhooks PoC
  • 3b66512 fix: typo in webhook configuration scope
  • afa563d Update 2024_04_21_162552_create_webhooks_table.php
  • d190ede Update 2024_04_21_162552_create_webhooks_table.php
  • 9a706a0 Update 2024_04_21_162544_create_webhook_configurations_table.php
  • f37865d Update 2024_04_21_162544_create_webhook_configurations_table.php
  • f4e8c78 Update DispatchWebhooks.php
  • 3683f7a Update DispatchWebhooksJob.php
  • 22d4dcd Update DispatchWebhookForConfiguration.php

📊 Changes

18 files changed (+384 additions, -3 deletions)

View changed files

📝 app/Events/Server/Created.php (+4 -1)
app/Events/ShouldDispatchWebhooks.php (+8 -0)
📝 app/Events/Subuser/Creating.php (+4 -1)
📝 app/Events/User/Deleted.php (+4 -1)
app/Filament/Resources/WebhookResource.php (+64 -0)
app/Filament/Resources/WebhookResource/Pages/CreateWebhookConfiguration.php (+11 -0)
app/Filament/Resources/WebhookResource/Pages/EditWebhookConfiguration.php (+19 -0)
app/Filament/Resources/WebhookResource/Pages/ListWebhookConfigurations.php (+19 -0)
app/Jobs/DispatchWebhookForConfiguration.php (+29 -0)
app/Jobs/DispatchWebhooksJob.php (+28 -0)
app/Listeners/DispatchWebhooks.php (+16 -0)
app/Models/Webhook.php (+11 -0)
app/Models/WebhookConfiguration.php (+31 -0)
📝 app/Providers/EventServiceProvider.php (+4 -0)
app/Services/Webhooks/DiscoverWebhookEventsService.php (+56 -0)
app/Traits/Services/HasWebhookPayload.php (+16 -0)
database/migrations/2024_04_21_162544_create_webhook_configurations_table.php (+30 -0)
database/migrations/2024_04_21_162552_create_webhooks_table.php (+30 -0)

📄 Description

Just some drafts and Ideas for discussion.

The job should use a Webhook Service to dispatch the Webhooks according to the configured events column.

image

@lancepioch This would be my proposed architecture for defining which events can be used for webhooks and how we dispatch them.

I didnt spend too much time on that since I wanted to align this with you guys.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/pelican-dev/panel/pull/132 **Author:** [@PascaleBeier](https://github.com/PascaleBeier) **Created:** 4/21/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/webhooks` --- ### 📝 Commits (10+) - [`5c9ff70`](https://github.com/pelican-dev/panel/commit/5c9ff7022f510e2428d818b7f3c17a97085dcffb) feat: First Webhook PoC draft - [`274e159`](https://github.com/pelican-dev/panel/commit/274e159b9a9567c5a5edefb9b2c139f4d151024e) feat: Dispatch Webhooks PoC - [`3b66512`](https://github.com/pelican-dev/panel/commit/3b665121653d1b06f58609b7a945858bd2e0c656) fix: typo in webhook configuration scope - [`afa563d`](https://github.com/pelican-dev/panel/commit/afa563d2821eeabd520dca3bc12fa816c7ccd68b) Update 2024_04_21_162552_create_webhooks_table.php - [`d190ede`](https://github.com/pelican-dev/panel/commit/d190ede329315ff75478819ad2c75cda9b5d1e77) Update 2024_04_21_162552_create_webhooks_table.php - [`9a706a0`](https://github.com/pelican-dev/panel/commit/9a706a0186aabd7c13e29d86e7cecdc28f5ded08) Update 2024_04_21_162544_create_webhook_configurations_table.php - [`f37865d`](https://github.com/pelican-dev/panel/commit/f37865dea47a5b0cdaff7612983e7ac023bc4feb) Update 2024_04_21_162544_create_webhook_configurations_table.php - [`f4e8c78`](https://github.com/pelican-dev/panel/commit/f4e8c78746c5651fcac965034ac1544ee0fa92cd) Update DispatchWebhooks.php - [`3683f7a`](https://github.com/pelican-dev/panel/commit/3683f7aaa266e1c2a1eae81316b2be6d197c006c) Update DispatchWebhooksJob.php - [`22d4dcd`](https://github.com/pelican-dev/panel/commit/22d4dcde5da6374628be0547b9b957ca611e79d9) Update DispatchWebhookForConfiguration.php ### 📊 Changes **18 files changed** (+384 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `app/Events/Server/Created.php` (+4 -1) ➕ `app/Events/ShouldDispatchWebhooks.php` (+8 -0) 📝 `app/Events/Subuser/Creating.php` (+4 -1) 📝 `app/Events/User/Deleted.php` (+4 -1) ➕ `app/Filament/Resources/WebhookResource.php` (+64 -0) ➕ `app/Filament/Resources/WebhookResource/Pages/CreateWebhookConfiguration.php` (+11 -0) ➕ `app/Filament/Resources/WebhookResource/Pages/EditWebhookConfiguration.php` (+19 -0) ➕ `app/Filament/Resources/WebhookResource/Pages/ListWebhookConfigurations.php` (+19 -0) ➕ `app/Jobs/DispatchWebhookForConfiguration.php` (+29 -0) ➕ `app/Jobs/DispatchWebhooksJob.php` (+28 -0) ➕ `app/Listeners/DispatchWebhooks.php` (+16 -0) ➕ `app/Models/Webhook.php` (+11 -0) ➕ `app/Models/WebhookConfiguration.php` (+31 -0) 📝 `app/Providers/EventServiceProvider.php` (+4 -0) ➕ `app/Services/Webhooks/DiscoverWebhookEventsService.php` (+56 -0) ➕ `app/Traits/Services/HasWebhookPayload.php` (+16 -0) ➕ `database/migrations/2024_04_21_162544_create_webhook_configurations_table.php` (+30 -0) ➕ `database/migrations/2024_04_21_162552_create_webhooks_table.php` (+30 -0) </details> ### 📄 Description Just some drafts and Ideas for discussion. The job should use a Webhook Service to dispatch the Webhooks according to the configured events column. ![image](https://github.com/pelican-dev/panel/assets/2736518/4b620828-31c0-4f0a-9756-6b9cccb94cf3) @lancepioch This would be my proposed architecture for defining which events can be used for webhooks and how we dispatch them. I didnt spend too much time on that since I wanted to align this with you guys. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 17:48:53 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/panel-pelican-dev#606