Skip to content

Commit 222a50a

Browse files
feat: switch to multiple invalidation urls
1 parent 44ecf9a commit 222a50a

12 files changed

+96
-81
lines changed

config/nextjs.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
return [
44
'enabled' => env('STATAMIC_NEXTJS_ENABLED', true),
5-
'revalidation_url' => env('STATAMIC_NEXTJS_REVALIDATION_URL', 'http://localhost:3000/api/revalidate'),
5+
'revalidation_urls' => env('STATAMIC_NEXTJS_REVALIDATION_URLS', []),
66
'revalidation_secret' => env('STATAMIC_NEXTJS_REVALIDATION_SECRET', 'secret'),
77
'revalidation_type' => env('STATAMOC_NEXTJS_REVALIDATION_TYPE', 'tag'), // tag or path
88
'custom_tag_revalidation' => [

src/Listeners/RevalidationTagByAssetSaved.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\AssetSaved;
@@ -28,15 +29,12 @@ public function __construct(
2829
public function handle(AssetSaved $event): void
2930
{
3031
try {
31-
$invalidated = $this->invalidationService->all();
32+
$this->invalidationService->all();
3233

33-
if ($invalidated) {
34-
Toast::info('Next.js Cache invalidated');
35-
} else {
36-
Toast::error('Next.js Cache invalidation failed');
37-
}
34+
Toast::info('Next.js Cache invalidated');
3835
} catch (Exception $exception) {
39-
throw new Exception($exception->getMessage());
36+
Toast::error('Next.js Cache invalidation failed');
37+
Log::error($exception->getTraceAsString());
4038
}
4139
}
4240
}

src/Listeners/RevalidationTagByEntryCreated.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\EntryCreated;
@@ -36,15 +37,12 @@ public function handle(EntryCreated $event): void
3637

3738
if (!$tag) return;
3839

39-
$invalidated = $this->invalidationService->tag($tag);
40+
$this->invalidationService->tag($tag);
4041

41-
if ($invalidated) {
42-
Toast::info('Next.js Cache invalidated');
43-
} else {
44-
Toast::error('Next.js Cache invalidation failed');
45-
}
42+
Toast::info('Next.js Cache invalidated');
4643
} catch (Exception $exception) {
47-
throw new Exception($exception->getMessage());
44+
Toast::error('Next.js Cache invalidation failed');
45+
Log::error($exception->getTraceAsString());
4846
}
4947
}
5048
}

src/Listeners/RevalidationTagByEntryDeleted.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\EntryDeleted;
@@ -36,15 +37,12 @@ public function handle(EntryDeleted $event): void
3637

3738
if (!$tag) return;
3839

39-
$invalidated = $this->invalidationService->tag($tag);
40+
$this->invalidationService->tag($tag);
4041

41-
if ($invalidated) {
42-
Toast::info('Next.js Cache invalidated');
43-
} else {
44-
Toast::error('Next.js Cache invalidation failed');
45-
}
42+
Toast::info('Next.js Cache invalidated');
4643
} catch (Exception $exception) {
47-
throw new Exception($exception->getMessage());
44+
Toast::error('Next.js Cache invalidation failed');
45+
Log::error($exception->getTraceAsString());
4846
}
4947
}
5048
}

src/Listeners/RevalidationTagByEntrySaved.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,12 @@ public function handle(EntrySaved $event): void
3838

3939
if (!$tag) return;
4040

41-
$invalidated = $this->invalidationService->tag($tag);
41+
$this->invalidationService->tag($tag);
4242

43-
if ($invalidated) {
44-
Toast::info('Next.js Cache invalidated');
45-
} else {
46-
Toast::error('Next.js Cache invalidation failed');
47-
}
43+
Toast::info('Next.js Cache invalidated');
4844
} catch (Exception $exception) {
49-
throw new Exception($exception->getMessage());
45+
Toast::error('Next.js Cache invalidation failed');
46+
Log::error($exception->getTraceAsString());
5047
}
5148
}
5249
}

src/Listeners/RevalidationTagByGlobalSetDeleted.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\GlobalSetDeleted;
@@ -32,15 +33,12 @@ public function handle(GlobalSetDeleted $event): void
3233

3334
if (!$tag) return;
3435

35-
$invalidated = $this->invalidationService->tag($tag);
36+
$this->invalidationService->tag($tag);
3637

37-
if ($invalidated) {
38-
Toast::info('Next.js Cache invalidated');
39-
} else {
40-
Toast::error('Next.js Cache invalidation failed');
41-
}
38+
Toast::info('Next.js Cache invalidated');
4239
} catch (Exception $exception) {
43-
throw new Exception($exception->getMessage());
40+
Toast::error('Next.js Cache invalidation failed');
41+
Log::error($exception->getTraceAsString());
4442
}
4543
}
4644
}

src/Listeners/RevalidationTagByGlobalSetSaved.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\GlobalSetSaved;
@@ -32,15 +33,12 @@ public function handle(GlobalSetSaved $event): void
3233

3334
if (!$tag) return;
3435

35-
$invalidated = $this->invalidationService->tag($tag);
36+
$this->invalidationService->tag($tag);
3637

37-
if ($invalidated) {
38-
Toast::info('Next.js Cache invalidated');
39-
} else {
40-
Toast::error('Next.js Cache invalidation failed');
41-
}
38+
Toast::info('Next.js Cache invalidated');
4239
} catch (Exception $exception) {
43-
throw new Exception($exception->getMessage());
40+
Toast::error('Next.js Cache invalidation failed');
41+
Log::error($exception->getTraceAsString());
4442
}
4543
}
4644
}

src/Listeners/RevalidationTagByNavDeleted.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\NavDeleted;
@@ -32,15 +33,12 @@ public function handle(NavDeleted $event): void
3233

3334
if (!$tag) return;
3435

35-
$invalidated = $this->invalidationService->tag($tag);
36+
$this->invalidationService->tag($tag);
3637

37-
if ($invalidated) {
38-
Toast::info('Next.js Cache invalidated');
39-
} else {
40-
Toast::error('Next.js Cache invalidation failed');
41-
}
38+
Toast::info('Next.js Cache invalidated');
4239
} catch (Exception $exception) {
43-
throw new Exception($exception->getMessage());
40+
Toast::error('Next.js Cache invalidation failed');
41+
Log::error($exception->getTraceAsString());
4442
}
4543
}
4644
}

src/Listeners/RevalidationTagByNavSaved.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\NavSaved;
@@ -32,15 +33,12 @@ public function handle(NavSaved $event): void
3233

3334
if (!$tag) return;
3435

35-
$invalidated = $this->invalidationService->tag($tag);
36+
$this->invalidationService->tag($tag);
3637

37-
if ($invalidated) {
38-
Toast::info('Next.js Cache invalidated');
39-
} else {
40-
Toast::error('Next.js Cache invalidation failed');
41-
}
38+
Toast::info('Next.js Cache invalidated');
4239
} catch (Exception $exception) {
43-
throw new Exception($exception->getMessage());
40+
Toast::error('Next.js Cache invalidation failed');
41+
Log::error($exception->getTraceAsString());
4442
}
4543
}
4644
}

src/Listeners/RevalidationTagByNavTreeSaved.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Exception;
66
use Illuminate\Contracts\Queue\ShouldQueue;
77
use Illuminate\Queue\InteractsWithQueue;
8+
use Illuminate\Support\Facades\Log;
89
use Morethingsdigital\StatamicNextjs\Services\InvalidationService;
910
use Morethingsdigital\StatamicNextjs\Services\TagService;
1011
use Statamic\Events\NavTreeSaved;
@@ -32,15 +33,12 @@ public function handle(NavTreeSaved $event): void
3233

3334
if (!$tag) return;
3435

35-
$invalidated = $this->invalidationService->tag($tag);
36+
$this->invalidationService->tag($tag);
3637

37-
if ($invalidated) {
38-
Toast::info('Next.js Cache invalidated');
39-
} else {
40-
Toast::error('Next.js Cache invalidation failed');
41-
}
38+
Toast::info('Next.js Cache invalidated');
4239
} catch (Exception $exception) {
43-
throw new Exception($exception->getMessage());
40+
Toast::error('Next.js Cache invalidation failed');
41+
Log::error($exception->getTraceAsString());
4442
}
4543
}
4644
}

0 commit comments

Comments
 (0)