Skip to content

Commit 29ceb65

Browse files
authored
Clear resolved facades on imports before changing them (#174)
1 parent 3b2c82d commit 29ceb65

File tree

8 files changed

+32
-0
lines changed

8 files changed

+32
-0
lines changed

src/Commands/ImportAssets.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Commands;
44

55
use Illuminate\Console\Command;
6+
use Illuminate\Support\Facades\Facade;
67
use Statamic\Assets\AssetRepository;
78
use Statamic\Console\RunsInPlease;
89
use Statamic\Contracts\Assets\Asset as AssetContract;
@@ -52,6 +53,9 @@ public function handle()
5253

5354
private function useDefaultRepositories()
5455
{
56+
Facade::clearResolvedInstance(AssetContainerRepositoryContract::class);
57+
Facade::clearResolvedInstance(AssetRepositoryContract::class);
58+
5559
Statamic::repository(AssetContainerRepositoryContract::class, AssetContainerRepository::class);
5660
Statamic::repository(AssetRepositoryContract::class, AssetRepository::class);
5761

src/Commands/ImportBlueprints.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Console\Command;
66
use Illuminate\Support\Carbon;
7+
use Illuminate\Support\Facades\Facade;
78
use Statamic\Console\RunsInPlease;
89
use Statamic\Facades\Blueprint;
910
use Statamic\Facades\Fieldset;
@@ -47,6 +48,9 @@ public function handle()
4748

4849
private function useDefaultRepositories()
4950
{
51+
Facade::clearResolvedInstance(\Statamic\Fields\BlueprintRepository::class);
52+
Facade::clearResolvedInstance(\Statamic\Fields\FieldsetRepository::class);
53+
5054
app()->singleton(
5155
'Statamic\Fields\BlueprintRepository',
5256
'Statamic\Fields\BlueprintRepository'

src/Commands/ImportCollections.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ private function usingDefaultRepositories(Closure $callback)
5959
$originalTreeRepo = get_class(app()->make(CollectionTreeRepositoryContract::class));
6060
$originalCollection = get_class(app()->make(CollectionContract::class));
6161

62+
Facade::clearResolvedInstance(CollectionRepositoryContract::class);
63+
Facade::clearResolvedInstance(CollectionTreeRepositoryContract::class);
64+
6265
Statamic::repository(CollectionRepositoryContract::class, CollectionRepository::class);
6366
Statamic::repository(CollectionTreeRepositoryContract::class, CollectionTreeRepository::class);
6467
app()->bind(CollectionContract::class, StacheCollection::class);
@@ -68,7 +71,9 @@ private function usingDefaultRepositories(Closure $callback)
6871
Statamic::repository(CollectionRepositoryContract::class, $originalRepo);
6972
Statamic::repository(CollectionTreeRepositoryContract::class, $originalTreeRepo);
7073
app()->bind(CollectionContract::class, $originalCollection);
74+
7175
Facade::clearResolvedInstance(CollectionRepositoryContract::class);
76+
Facade::clearResolvedInstance(CollectionTreeRepositoryContract::class);
7277
}
7378

7479
private function importCollections()

src/Commands/ImportEntries.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Commands;
44

55
use Illuminate\Console\Command;
6+
use Illuminate\Support\Facades\Facade;
67
use Statamic\Console\RunsInPlease;
78
use Statamic\Contracts\Entries\CollectionRepository as CollectionRepositoryContract;
89
use Statamic\Contracts\Entries\Entry as EntryContract;
@@ -47,6 +48,9 @@ public function handle()
4748

4849
private function useDefaultRepositories()
4950
{
51+
Facade::clearResolvedInstance(EntryRepositoryContract::class);
52+
Facade::clearResolvedInstance(CollectionRepositoryContract::class);
53+
5054
Statamic::repository(EntryRepositoryContract::class, EntryRepository::class);
5155
Statamic::repository(CollectionRepositoryContract::class, CollectionRepository::class);
5256

src/Commands/ImportForms.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Console\Command;
66
use Illuminate\Support\Carbon;
7+
use Illuminate\Support\Facades\Facade;
78
use Statamic\Console\RunsInPlease;
89
use Statamic\Contracts\Forms\Form as FormContract;
910
use Statamic\Contracts\Forms\Submission as SubmissionContract;
@@ -47,6 +48,9 @@ public function handle()
4748

4849
private function useDefaultRepositories()
4950
{
51+
Facade::clearResolvedInstance(FormContract::class);
52+
Facade::clearResolvedInstance(SubmissionContract::class);
53+
5054
app()->bind(FormContract::class, StacheForm::class);
5155
app()->bind(SubmissionContract::class, StacheSubmission::class);
5256
}

src/Commands/ImportGlobals.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Commands;
44

55
use Illuminate\Console\Command;
6+
use Illuminate\Support\Facades\Facade;
67
use Statamic\Console\RunsInPlease;
78
use Statamic\Contracts\Globals\GlobalRepository as GlobalRepositoryContract;
89
use Statamic\Contracts\Globals\GlobalSet as GlobalSetContract;
@@ -45,6 +46,8 @@ public function handle()
4546

4647
private function useDefaultRepositories()
4748
{
49+
Facade::clearResolvedInstance(GlobalRepositoryContract::class);
50+
4851
Statamic::repository(GlobalRepositoryContract::class, GlobalRepository::class);
4952

5053
app()->bind(GlobalSetContract::class, GlobalSet::class);

src/Commands/ImportNavs.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Commands;
44

55
use Illuminate\Console\Command;
6+
use Illuminate\Support\Facades\Facade;
67
use Statamic\Console\RunsInPlease;
78
use Statamic\Contracts\Structures\Nav as NavContract;
89
use Statamic\Contracts\Structures\NavigationRepository as NavigationRepositoryContract;
@@ -50,6 +51,9 @@ public function handle()
5051

5152
private function useDefaultRepositories()
5253
{
54+
Facade::clearResolvedInstance(NavigationRepositoryContract::class);
55+
Facade::clearResolvedInstance(NavTreeRepositoryContract::class);
56+
5357
Statamic::repository(NavigationRepositoryContract::class, NavigationRepository::class);
5458
Statamic::repository(NavTreeRepositoryContract::class, NavTreeRepository::class);
5559

src/Commands/ImportTaxonomies.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Statamic\Eloquent\Commands;
44

55
use Illuminate\Console\Command;
6+
use Illuminate\Support\Facades\Facade;
67
use Statamic\Console\RunsInPlease;
78
use Statamic\Contracts\Taxonomies\Taxonomy as TaxonomyContract;
89
use Statamic\Contracts\Taxonomies\TaxonomyRepository as TaxonomyRepositoryContract;
@@ -53,6 +54,9 @@ public function handle()
5354

5455
private function useDefaultRepositories()
5556
{
57+
Facade::clearResolvedInstance(TaxonomyRepositoryContract::class);
58+
Facade::clearResolvedInstance(TermRepositoryContract::class);
59+
5660
Statamic::repository(TaxonomyRepositoryContract::class, TaxonomyRepository::class);
5761
Statamic::repository(TermRepositoryContract::class, TermRepository::class);
5862

0 commit comments

Comments
 (0)