From ff862245669ca36c884dda7b9b849ccbe9a56f29 Mon Sep 17 00:00:00 2001 From: Necati Yared Ozal Date: Tue, 8 Mar 2022 12:33:37 +0300 Subject: [PATCH 1/5] Make it spatie/laravel-webhook-server v3 compatible. It only prevents to get errors on installation with composer. Not sure about the compatibility with v3 yet. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 928e0fe..d191ac8 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "bensampo/laravel-enum": "^4.2", "coroowicaksono/chart-js-integration": "^0.3.5", "owenmelbz/nova-radio-field": "^1.0", - "spatie/laravel-webhook-server": "^2.0", + "spatie/laravel-webhook-server": "^2.0|^3.0", "symfony/class-loader": "^3.4" }, "require-dev": { From 836adfe9883c1027e09adb804ee40872bc7a2aab Mon Sep 17 00:00:00 2001 From: Necati Yared Ozal Date: Tue, 8 Mar 2022 12:38:16 +0300 Subject: [PATCH 2/5] Set bensampo/laravel-enum version to v5. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index d191ac8..3fcf250 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,7 @@ "license": "MIT", "require": { "php": "^7.4|^8.0", - "bensampo/laravel-enum": "^4.2", + "bensampo/laravel-enum": "^4.2|^5.1", "coroowicaksono/chart-js-integration": "^0.3.5", "owenmelbz/nova-radio-field": "^1.0", "spatie/laravel-webhook-server": "^2.0|^3.0", From fdcd06f2f383c0b3d7bfe58f807d90e0dc99239f Mon Sep 17 00:00:00 2001 From: Necati Yared Ozal Date: Sat, 26 Mar 2022 21:45:41 +0300 Subject: [PATCH 3/5] rollback webhook-server v3 to v2, just keep enum At least it solves problem 1, and makes it compatible with Laravel 9. https://github.com/BenSampo/laravel-enum/blob/master/UPGRADE.md#5x ```console Problem 1 - bensampo/laravel-enum v4.2.0 requires illuminate/contracts ^8.0 -> found illuminate/contracts[v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require. - dniccum/nova-webhooks v1.0.0 requires bensampo/laravel-enum ^4.2 -> satisfiable by bensampo/laravel-enum[v4.2.0]. - Root composer.json requires dniccum/nova-webhooks ^1.0 -> satisfiable by dniccum/nova-webhooks[v1.0.0]. ``` --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 3fcf250..fbf1d73 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "bensampo/laravel-enum": "^4.2|^5.1", "coroowicaksono/chart-js-integration": "^0.3.5", "owenmelbz/nova-radio-field": "^1.0", - "spatie/laravel-webhook-server": "^2.0|^3.0", + "spatie/laravel-webhook-server": "^2.0", "symfony/class-loader": "^3.4" }, "require-dev": { From ecb24a96d7b93f598459bd8bf5c62b3c69bf5b41 Mon Sep 17 00:00:00 2001 From: neyaoz Date: Sat, 26 Mar 2022 21:52:32 +0300 Subject: [PATCH 4/5] Revert "rollback webhook-server v3 to v2, just keep enum" This reverts commit fdcd06f2f383c0b3d7bfe58f807d90e0dc99239f. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index fbf1d73..3fcf250 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "bensampo/laravel-enum": "^4.2|^5.1", "coroowicaksono/chart-js-integration": "^0.3.5", "owenmelbz/nova-radio-field": "^1.0", - "spatie/laravel-webhook-server": "^2.0", + "spatie/laravel-webhook-server": "^2.0|^3.0", "symfony/class-loader": "^3.4" }, "require-dev": { From 134084f65ac81bf20c94015283ff0010fadede99 Mon Sep 17 00:00:00 2001 From: neyaoz Date: Tue, 26 Apr 2022 14:23:44 +0300 Subject: [PATCH 5/5] major upgrade to support laravel/nova v4. --- composer.json | 1 + src/Nova/Actions/WebhookTestAction.php | 3 ++- src/Nova/Webhook.php | 15 +++++++-------- src/Nova/WebhookLog.php | 6 +++--- src/Nova/WebhookResource.php | 12 ++++++------ 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/composer.json b/composer.json index 3fcf250..6c61b9c 100644 --- a/composer.json +++ b/composer.json @@ -20,6 +20,7 @@ "php": "^7.4|^8.0", "bensampo/laravel-enum": "^4.2|^5.1", "coroowicaksono/chart-js-integration": "^0.3.5", + "laravel/nova": "~4.0", "owenmelbz/nova-radio-field": "^1.0", "spatie/laravel-webhook-server": "^2.0|^3.0", "symfony/class-loader": "^3.4" diff --git a/src/Nova/Actions/WebhookTestAction.php b/src/Nova/Actions/WebhookTestAction.php index 4ebb38a..2c8906c 100644 --- a/src/Nova/Actions/WebhookTestAction.php +++ b/src/Nova/Actions/WebhookTestAction.php @@ -14,6 +14,7 @@ use Illuminate\Support\Collection; use Laravel\Nova\Actions\Action; use Laravel\Nova\Fields\ActionFields; +use Laravel\Nova\Http\Requests\NovaRequest; use OwenMelbz\RadioField\RadioButton; class WebhookTestAction extends Action @@ -98,7 +99,7 @@ public function handle(ActionFields $fields, Collection $models) * * @return array */ - public function fields() + public function fields(NovaRequest $request) { return [ RadioButton::make(__('nova-webhooks::nova.webhook_to_test'), 'hook') diff --git a/src/Nova/Webhook.php b/src/Nova/Webhook.php index cdaec84..3da9ea8 100644 --- a/src/Nova/Webhook.php +++ b/src/Nova/Webhook.php @@ -6,22 +6,21 @@ use Dniccum\NovaWebhooks\Models\WebhookLog; use Dniccum\NovaWebhooks\Nova\WebhookLog as WebhookLogResource; use Dniccum\NovaWebhooks\Nova\Actions\WebhookTestAction; -use Illuminate\Http\Request; use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\HasMany; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Text; -use Laravel\Nova\Http\Requests\CardRequest; +use Laravel\Nova\Http\Requests\NovaRequest; class Webhook extends WebhookResource { /** * Get the fields displayed by the Webhook resource. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function fields(Request $request) + public function fields(NovaRequest $request) { return [ ID::make()->sortable(), @@ -60,10 +59,10 @@ public function fields(Request $request) /** * Get the actions available for the resource. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function actions(Request $request) + public function actions(NovaRequest $request) { return [ (new WebhookTestAction($this->model())) @@ -72,10 +71,10 @@ public function actions(Request $request) } /** - * @param Request|CardRequest $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function cards(Request $request) + public function cards(NovaRequest $request) { $resourceId = $request->get('resourceId'); $dataSeries = [ diff --git a/src/Nova/WebhookLog.php b/src/Nova/WebhookLog.php index 75bf9d4..703c6b5 100644 --- a/src/Nova/WebhookLog.php +++ b/src/Nova/WebhookLog.php @@ -3,7 +3,7 @@ namespace Dniccum\NovaWebhooks\Nova; use Dniccum\NovaWebhooks\Models\WebhookLog as WebhookModel; -use Illuminate\Http\Request; + use Laravel\Nova\Fields\Date; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Number; @@ -46,10 +46,10 @@ class WebhookLog extends WebhookResource /** * Get the fields displayed by the Webhook resource. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function fields(Request $request) + public function fields(NovaRequest $request) { return [ ID::make()->sortable(), diff --git a/src/Nova/WebhookResource.php b/src/Nova/WebhookResource.php index 0ed49ee..9661792 100644 --- a/src/Nova/WebhookResource.php +++ b/src/Nova/WebhookResource.php @@ -68,10 +68,10 @@ protected function optionGroup() /** * Get the cards available for the request. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function cards(Request $request) + public function cards(NovaRequest $request) { return []; } @@ -79,10 +79,10 @@ public function cards(Request $request) /** * Get the filters available for the resource. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function filters(Request $request) + public function filters(NovaRequest $request) { return []; } @@ -90,10 +90,10 @@ public function filters(Request $request) /** * Get the lenses available for the resource. * - * @param \Illuminate\Http\Request $request + * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ - public function lenses(Request $request) + public function lenses(NovaRequest $request) { return []; }