Skip to content

Commit bc19311

Browse files
committed
Replace AssetQuery in src/
1 parent 6175bbb commit bc19311

File tree

4 files changed

+43
-37
lines changed

4 files changed

+43
-37
lines changed

src/Asset/Commands/Concerns/IndexesAssets.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace CraftCms\Cms\Asset\Commands\Concerns;
66

77
use craft\console\Application;
8-
use craft\elements\Asset;
98
use craft\errors\AssetDisallowedExtensionException;
109
use craft\errors\AssetNotIndexableException;
1110
use craft\errors\MissingAssetException;
@@ -15,6 +14,7 @@
1514
use craft\models\Volume;
1615
use craft\services\AssetIndexer;
1716
use CraftCms\Cms\Database\Table;
17+
use CraftCms\Cms\Element\Elements\Asset;
1818
use CraftCms\Cms\Support\Str;
1919
use Illuminate\Support\Collection;
2020
use Illuminate\Support\Facades\DB;
@@ -109,8 +109,8 @@ protected function indexAssets(Application $craft, array $volumes, string $path
109109
$this->components->task(
110110
'Deleting the'.($totalMissingFiles > 1 ? ' '.$totalMissingFiles : '').' missing asset record'.Str::plural('record', $totalMissingFiles),
111111
function () use ($craft, $assetIds) {
112-
/** @var Asset[] $assets */
113-
$assets = Asset::find()->id($assetIds)->all();
112+
/** @var \craft\elements\ElementCollection<Asset> $assets */
113+
$assets = Asset::find()->id($assetIds)->get();
114114

115115
foreach ($assets as $asset) {
116116
$craft->getImageTransforms()->deleteCreatedTransformsForAsset($asset);

src/Console/Commands/Utils/AsciiFilenamesCommand.php

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55
namespace CraftCms\Cms\Console\Commands\Utils;
66

77
use Craft;
8-
use craft\elements\Asset;
98
use craft\errors\InvalidElementException;
109
use craft\helpers\FileHelper;
1110
use CraftCms\Cms\Config\GeneralConfig;
1211
use CraftCms\Cms\Console\CraftCommand;
12+
use CraftCms\Cms\Element\Elements\Asset;
13+
use Exception;
1314
use Illuminate\Console\Command;
1415
use Illuminate\Support\Facades\DB;
1516
use Throwable;
16-
use yii\db\Expression;
1717

1818
use function Laravel\Prompts\confirm;
1919

@@ -42,15 +42,15 @@ public function handle(GeneralConfig $generalConfig): int
4242

4343
match (DB::connection()->getDriverName()) {
4444
// h/t https://stackoverflow.com/a/11741314/1688568
45-
'mysql' => $query->andWhere(new Expression('[[filename]] <> CONVERT([[filename]] USING ASCII)')),
45+
'mysql' => $query->whereRaw('filename <> CONVERT(filename USING ASCII)'),
4646
// h/t https://dba.stackexchange.com/a/167571/205387
47-
'pgsql' => $query->andWhere(new Expression("[[filename]] ~ '[^[:ascii:]]'")),
48-
default => throw new \Exception('Invalid driver name: '.DB::connection()->getDriverName().'.')
47+
'pgsql' => $query->whereRaw("filename ~ '[^[:ascii:]]'"),
48+
default => throw new Exception('Invalid driver name: '.DB::connection()->getDriverName().'.')
4949
};
5050

51-
/** @var Asset[] $assets */
52-
$assets = $query->all();
53-
$total = count($assets);
51+
/** @var \Illuminate\Support\Collection<Asset> $assets */
52+
$assets = $query->get();
53+
$total = $assets->count();
5454

5555
if ($total === 0) {
5656
$this->components->success('No assets found with non-ASCII filenames.');
@@ -60,10 +60,9 @@ public function handle(GeneralConfig $generalConfig): int
6060

6161
$this->components->info("$total assets found with non-ASCII filenames:");
6262

63-
$this->components->bulletList(array_map(
63+
$this->components->bulletList($assets->map(
6464
fn (Asset $asset) => $asset->getFilename(),
65-
$assets,
66-
));
65+
)->all());
6766

6867
if (! confirm('Ready to rename these filenames as ASCII?')) {
6968
return self::SUCCESS;

src/Element/Elements/Asset.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,10 @@ public static function find(): AssetQuery
1717
{
1818
return new AssetQuery;
1919
}
20+
21+
#[\Override]
22+
public static function findOne(mixed $criteria = null): ?static
23+
{
24+
return parent::findOne($criteria); // TODO: Change the autogenerated stub
25+
}
2026
}

src/Field/Assets.php

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
use Craft;
88
use craft\base\ElementInterface;
9-
use craft\elements\Asset;
109
use craft\elements\conditions\ElementCondition;
1110
use craft\elements\db\AssetQuery;
1211
use craft\elements\db\ElementQueryInterface;
@@ -30,13 +29,15 @@
3029
use craft\services\Gql as GqlService;
3130
use craft\web\UploadedFile;
3231
use CraftCms\Cms\Cms;
32+
use CraftCms\Cms\Element\Elements\Asset;
3333
use CraftCms\Cms\Element\ElementSources;
3434
use CraftCms\Cms\Field\Events\LocateUploadedFiles;
3535
use CraftCms\Cms\Support\Arr;
3636
use CraftCms\Cms\Support\Html;
3737
use GraphQL\Type\Definition\Type;
3838
use Illuminate\Support\Collection;
3939
use Illuminate\Validation\Rule;
40+
use Override;
4041
use Twig\Error\RuntimeError;
4142
use yii\base\InvalidConfigException;
4243

@@ -60,7 +61,7 @@ final class Assets extends BaseRelationField
6061
/**
6162
* {@inheritdoc}
6263
*/
63-
#[\Override]
64+
#[Override]
6465
public static function displayName(): string
6566
{
6667
return t('Assets');
@@ -69,7 +70,7 @@ public static function displayName(): string
6970
/**
7071
* {@inheritdoc}
7172
*/
72-
#[\Override]
73+
#[Override]
7374
public static function icon(): string
7475
{
7576
return 'image';
@@ -86,7 +87,7 @@ public static function elementType(): string
8687
/**
8788
* {@inheritdoc}
8889
*/
89-
#[\Override]
90+
#[Override]
9091
protected static function canShowSiteMenu(): bool
9192
{
9293
return false;
@@ -95,7 +96,7 @@ protected static function canShowSiteMenu(): bool
9596
/**
9697
* {@inheritdoc}
9798
*/
98-
#[\Override]
99+
#[Override]
99100
public static function defaultSelectionLabel(): string
100101
{
101102
return t('Add an asset');
@@ -104,7 +105,7 @@ public static function defaultSelectionLabel(): string
104105
/**
105106
* {@inheritdoc}
106107
*/
107-
#[\Override]
108+
#[Override]
108109
public static function phpType(): string
109110
{
110111
return sprintf('\\%s|\\%s<\\%s>', AssetQuery::class, ElementCollection::class, Asset::class);
@@ -230,7 +231,7 @@ public function __construct(array $config = [])
230231
parent::__construct($config);
231232
}
232233

233-
#[\Override]
234+
#[Override]
234235
public static function getRules(): array
235236
{
236237
return array_merge(parent::getRules(), [
@@ -243,7 +244,7 @@ public static function getRules(): array
243244
/**
244245
* {@inheritdoc}
245246
*/
246-
#[\Override]
247+
#[Override]
247248
public function getSourceOptions(): array
248249
{
249250
$sourceOptions = [];
@@ -277,7 +278,7 @@ public function getFileKindOptions(): array
277278
/**
278279
* {@inheritdoc}
279280
*/
280-
#[\Override]
281+
#[Override]
281282
protected function inputHtml(mixed $value, ?ElementInterface $element, bool $inline): string
282283
{
283284
try {
@@ -298,7 +299,7 @@ protected function inputHtml(mixed $value, ?ElementInterface $element, bool $inl
298299
/**
299300
* {@inheritdoc}
300301
*/
301-
#[\Override]
302+
#[Override]
302303
public function getElementValidationRules(): array
303304
{
304305
$rules = parent::getElementValidationRules();
@@ -382,7 +383,7 @@ public function validateFileSize(ElementInterface $element): void
382383
/**
383384
* {@inheritdoc}
384385
*/
385-
#[\Override]
386+
#[Override]
386387
public function normalizeValue(mixed $value, ?ElementInterface $element): mixed
387388
{
388389
// If data strings are passed along, make sure the array keys are retained.
@@ -421,7 +422,7 @@ public function normalizeValue(mixed $value, ?ElementInterface $element): mixed
421422
/**
422423
* {@inheritdoc}
423424
*/
424-
#[\Override]
425+
#[Override]
425426
public function isValueEmpty(mixed $value, ElementInterface $element): bool
426427
{
427428
return parent::isValueEmpty($value, $element) && empty($this->_getUploadedFiles($element));
@@ -438,7 +439,7 @@ public function resolveDynamicPathToFolderId(?ElementInterface $element = null):
438439
/**
439440
* {@inheritdoc}
440441
*/
441-
#[\Override]
442+
#[Override]
442443
public function includeInGqlSchema(GqlSchema $schema): bool
443444
{
444445
return Gql::canQueryAssets($schema);
@@ -447,7 +448,7 @@ public function includeInGqlSchema(GqlSchema $schema): bool
447448
/**
448449
* {@inheritdoc}
449450
*/
450-
#[\Override]
451+
#[Override]
451452
public function getContentGqlType(): array
452453
{
453454
return [
@@ -462,7 +463,7 @@ public function getContentGqlType(): array
462463
/**
463464
* {@inheritdoc}
464465
*/
465-
#[\Override]
466+
#[Override]
466467
protected function previewHtml(ElementCollection $elements): string
467468
{
468469
return Cp::elementPreviewHtml(
@@ -474,7 +475,7 @@ protected function previewHtml(ElementCollection $elements): string
474475
/**
475476
* {@inheritdoc}
476477
*/
477-
#[\Override]
478+
#[Override]
478479
public function previewPlaceholderHtml(mixed $value, ?ElementInterface $element): string
479480
{
480481
$asset = new Asset;
@@ -499,7 +500,7 @@ public function previewPlaceholderHtml(mixed $value, ?ElementInterface $element)
499500
/**
500501
* {@inheritdoc}
501502
*/
502-
#[\Override]
503+
#[Override]
503504
public function beforeElementSave(ElementInterface $element, bool $isNew): bool
504505
{
505506
// Only handle file uploads for the initial site
@@ -582,7 +583,7 @@ public function beforeElementSave(ElementInterface $element, bool $isNew): bool
582583
/**
583584
* {@inheritdoc}
584585
*/
585-
#[\Override]
586+
#[Override]
586587
public function afterElementSave(ElementInterface $element, bool $isNew): void
587588
{
588589
// No special treatment for revisions
@@ -658,7 +659,7 @@ public function afterElementSave(ElementInterface $element, bool $isNew): void
658659
/**
659660
* {@inheritdoc}
660661
*/
661-
#[\Override]
662+
#[Override]
662663
public function getEagerLoadingGqlConditions(): ?array
663664
{
664665
$allowedEntities = Gql::extractAllowedEntitiesFromSchema();
@@ -683,7 +684,7 @@ public function getEagerLoadingGqlConditions(): ?array
683684
/**
684685
* {@inheritdoc}
685686
*/
686-
#[\Override]
687+
#[Override]
687688
public function getInputSources(?ElementInterface $element = null): array
688689
{
689690
$folder = $this->_uploadFolder($element, false, false);
@@ -755,7 +756,7 @@ public function getInputSources(?ElementInterface $element = null): array
755756
/**
756757
* {@inheritdoc}
757758
*/
758-
#[\Override]
759+
#[Override]
759760
protected function inputTemplateVariables(array|ElementQueryInterface|null $value = null, ?ElementInterface $element = null): array
760761
{
761762
$variables = parent::inputTemplateVariables($value, $element);
@@ -798,7 +799,7 @@ protected function inputTemplateVariables(array|ElementQueryInterface|null $valu
798799
/**
799800
* {@inheritdoc}
800801
*/
801-
#[\Override]
802+
#[Override]
802803
public function getInputSelectionCriteria(): array
803804
{
804805
$criteria = parent::getInputSelectionCriteria();
@@ -825,7 +826,7 @@ protected function createSelectionCondition(): ElementCondition
825826
/**
826827
* {@inheritdoc}
827828
*/
828-
#[\Override]
829+
#[Override]
829830
protected function showSearchInput(?ElementInterface $element): bool
830831
{
831832
if (! $this->showSearchInput || $this->sources === '*') {

0 commit comments

Comments
 (0)