Expand webhooks to support multiple delivery payloads, event triggers and responses.

This commit is contained in:
James Cole
2025-08-19 19:35:12 +02:00
parent 44a00ec8eb
commit 293be04d40
17 changed files with 586 additions and 75 deletions

View File

@@ -31,6 +31,10 @@ use FireflyIII\Events\RequestedVersionCheckStatus;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Http\Middleware\Installer;
use FireflyIII\Models\Webhook;
use FireflyIII\Models\WebhookDelivery;
use FireflyIII\Models\WebhookResponse;
use FireflyIII\Models\WebhookTrigger;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
use FireflyIII\User;
@@ -121,6 +125,27 @@ class HomeController extends Controller
*/
public function index(AccountRepositoryInterface $repository): mixed
{
$trigger = WebhookTrigger::first();
$delivery = WebhookDelivery::first();
$response = WebhookResponse::first();
$webhook = new Webhook();
$webhook->user_id = auth()->id();
$webhook->user_group_id = auth()->user()->user_group_id;
$webhook->title = 'Test Webhook';
$webhook->url = 'https://example.com/webhook';
$webhook->active = true;
$webhook->secret = 'abc';
$webhook->trigger = 1;
$webhook->response = 1;
$webhook->delivery = 1;
$webhook->save();
$webhook->webhookDeliveries()->saveMany(new Collection()->push($delivery));
$webhook->webhookResponses()->saveMany(new Collection()->push($response));
$webhook->webhookTriggers()->saveMany(new Collection()->push($trigger));
$types = config('firefly.accountTypesByIdentifier.asset');
$count = $repository->count($types);
Log::channel('audit')->info('User visits homepage.');