mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-15 08:35:00 +00:00
Add code to create webhook.
This commit is contained in:
@@ -22,10 +22,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Http\Controllers\Webhooks;
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Http\Controllers\Controller;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
/**
|
||||
@@ -53,18 +51,16 @@ class CreateController extends Controller
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show debug info.
|
||||
*
|
||||
* @param Request $request
|
||||
*
|
||||
* @return Factory|View
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function index(Request $request)
|
||||
public function index()
|
||||
{
|
||||
|
||||
return view('webhooks.create');
|
||||
$previousUrl = $this->rememberPreviousUrl('webhooks.create.url');
|
||||
return view('webhooks.create', compact('previousUrl'));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -28,6 +28,7 @@ use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\TransactionGroup;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
use FireflyIII\Models\Webhook;
|
||||
use Illuminate\Http\Request;
|
||||
use Preferences;
|
||||
|
||||
@@ -63,6 +64,10 @@ class InterestingMessage
|
||||
Preferences::mark();
|
||||
$this->handleBillMessage($request);
|
||||
}
|
||||
if ($this->webhookMessage($request)) {
|
||||
Preferences::mark();
|
||||
$this->handleWebhookMessage($request);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
@@ -186,6 +191,19 @@ class InterestingMessage
|
||||
|
||||
return null !== $billId && null !== $message;
|
||||
}
|
||||
/**
|
||||
* @param Request $request
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private function webhookMessage(Request $request): bool
|
||||
{
|
||||
// get parameters from request.
|
||||
$billId = $request->get('webhook_id');
|
||||
$message = $request->get('message');
|
||||
|
||||
return null !== $billId && null !== $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
@@ -210,4 +228,28 @@ class InterestingMessage
|
||||
session()->flash('success', (string) trans('firefly.stored_new_bill', ['name' => $bill->name]));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
*/
|
||||
private function handleWebhookMessage(Request $request): void
|
||||
{
|
||||
|
||||
// get parameters from request.
|
||||
$webhookId = $request->get('webhook_id');
|
||||
$message = $request->get('message');
|
||||
|
||||
/** @var Webhook $webhook */
|
||||
$webhook = auth()->user()->webhooks()->withTrashed()->find($webhookId);
|
||||
|
||||
if (null === $webhook) {
|
||||
return;
|
||||
}
|
||||
if ('deleted' === $message) {
|
||||
session()->flash('success', (string) trans('firefly.deleted_webhook', ['title' => $webhook->title]));
|
||||
}
|
||||
if ('created' === $message) {
|
||||
session()->flash('success', (string) trans('firefly.stored_new_webhook', ['title' => $webhook->title]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user