From 36b4df616acd94582882170a2805fe121467fa4c Mon Sep 17 00:00:00 2001 From: edalzell Date: Fri, 28 Feb 2025 14:57:47 -0800 Subject: [PATCH] tidy --- src/Contracts/Revisions/Revision.php | 4 +++- src/Jobs/HandleRevisionSchedule.php | 16 +++++++--------- src/Providers/AppServiceProvider.php | 6 +++++- src/Revisions/Revision.php | 7 ++++--- tests/Feature/Revisions/RevisionsTest.php | 2 +- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/Contracts/Revisions/Revision.php b/src/Contracts/Revisions/Revision.php index 7ccc0ac5bd..53e4988c4d 100644 --- a/src/Contracts/Revisions/Revision.php +++ b/src/Contracts/Revisions/Revision.php @@ -2,9 +2,11 @@ namespace Statamic\Contracts\Revisions; +use Statamic\Entries\Entry; + interface Revision { - public function currentContent(); + public function entry(): Entry; public function id($id = null); diff --git a/src/Jobs/HandleRevisionSchedule.php b/src/Jobs/HandleRevisionSchedule.php index 43bb4a548e..5ae2583cc1 100644 --- a/src/Jobs/HandleRevisionSchedule.php +++ b/src/Jobs/HandleRevisionSchedule.php @@ -7,8 +7,7 @@ use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Support\Collection; -use Statamic\Entries\Entry; -use Statamic\Entries\MinuteScheduledRevisions; +use Statamic\Entries\MinuteRevisions; use Statamic\Events\EntryScheduleReached; use Statamic\Revisions\Revision; @@ -18,12 +17,11 @@ class HandleRevisionSchedule implements ShouldQueue public function handle() { - $this->revisions()->each(function (Revision $revision) { - $existingContent = $revision->currentContent(); - - $updatedContent = tap($existingContent->makeFromRevision($revision))->save(); - // EntryScheduleReached::dispatch($updatedEntry); - }); + $this + ->revisions() + ->each(fn (Revision $revision) => EntryScheduleReached::dispatch( + tap($revision->entry()->makeFromRevision($revision))->save() + )); } private function revisions(): Collection @@ -34,6 +32,6 @@ private function revisions(): Collection // same minute, it may still be considered scheduled when it gets dispatched. $minute = now()->subMinute(); - return (new MinuteScheduledRevisions($minute))(); + return (new MinuteRevisions($minute))(); } } diff --git a/src/Providers/AppServiceProvider.php b/src/Providers/AppServiceProvider.php index ada744379f..69cd942a18 100644 --- a/src/Providers/AppServiceProvider.php +++ b/src/Providers/AppServiceProvider.php @@ -17,6 +17,7 @@ use Statamic\Facades\Token; use Statamic\Fields\FieldsetRecursionStack; use Statamic\Jobs\HandleEntrySchedule; +use Statamic\Jobs\HandleRevisionSchedule; use Statamic\Sites\Sites; use Statamic\Statamic; use Statamic\Tokens\Handlers\LivePreview; @@ -104,7 +105,10 @@ public function boot() $this->addAboutCommandInfo(); - $this->app->make(Schedule::class)->job(new HandleEntrySchedule)->everyMinute(); + tap($this->app->make(Schedule::class), function (Schedule $scheduler) { + $scheduler->job(new HandleEntrySchedule)->everyMinute(); + $scheduler->job(new HandleRevisionSchedule)->everyMinute(); + }); } public function register() diff --git a/src/Revisions/Revision.php b/src/Revisions/Revision.php index 69aadc3ea8..340fe240d6 100644 --- a/src/Revisions/Revision.php +++ b/src/Revisions/Revision.php @@ -6,11 +6,12 @@ use Statamic\Contracts\Auth\User; use Statamic\Contracts\Revisions\Revision as Contract; use Statamic\Data\ExistsAsFile; +use Statamic\Entries\Entry; use Statamic\Events\RevisionDeleted; use Statamic\Events\RevisionSaved; use Statamic\Events\RevisionSaving; use Statamic\Facades; -use Statamic\Facades\Entry; +use Statamic\Facades\Entry as EntryFacade; use Statamic\Facades\Revision as Revisions; use Statamic\Support\Traits\FluentlyGetsAndSets; @@ -36,9 +37,9 @@ class Revision implements Arrayable, Contract protected $attributes = []; - public function currentContent() + public function entry(): Entry { - return Entry::find($this->attribute('id')); + return EntryFacade::find($this->attribute('id')); } public function id($id = null) diff --git a/tests/Feature/Revisions/RevisionsTest.php b/tests/Feature/Revisions/RevisionsTest.php index 457c0ba68d..31a3057059 100644 --- a/tests/Feature/Revisions/RevisionsTest.php +++ b/tests/Feature/Revisions/RevisionsTest.php @@ -78,7 +78,7 @@ public function can_get_its_entry() $entry->save(); $revision = $entry->makeRevision(); - $this->assertEquals($entry->id(), $revision->currentContent()->id()); + $this->assertEquals($entry->id(), $revision->entry()->id()); } #[Test]