Skip to content

Commit

Permalink
Merge pull request #2553 from doctrine/cleanup-backport
Browse files Browse the repository at this point in the history
Backport cleanup #2544
  • Loading branch information
malarzm authored Oct 4, 2023
2 parents bce7e33 + c689a51 commit eb7560e
Show file tree
Hide file tree
Showing 26 changed files with 194 additions and 62 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v2"
uses: "actions/checkout@v3"
with:
fetch-depth: 2

Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
run: composer remove --no-update --dev phpbench/phpbench

- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v1"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "--prefer-dist"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v2"
uses: "actions/checkout@v3"

- name: Setup cache environment
id: extcache
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
run: "php --ri mongodb"

- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v1"
uses: "ramsey/composer-install@v2"

- name: "Upload composer.lock as build artifact"
uses: actions/upload-artifact@v2
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:

steps:
- name: "Checkout code"
uses: "actions/checkout@v2"
uses: "actions/checkout@v3"

- name: Setup cache environment
id: extcache
Expand Down Expand Up @@ -47,7 +47,7 @@ jobs:
run: "php --ri mongodb"

- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v1"
uses: "ramsey/composer-install@v2"

- name: "Upload composer.lock as build artifact"
uses: actions/upload-artifact@v2
Expand All @@ -69,7 +69,7 @@ jobs:

steps:
- name: "Checkout code"
uses: "actions/checkout@v2"
uses: "actions/checkout@v3"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
Expand All @@ -79,7 +79,7 @@ jobs:
php-version: "${{ matrix.php-version }}"

- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v1"
uses: "ramsey/composer-install@v2"

- name: "Upload composer.lock as build artifact"
uses: actions/upload-artifact@v2
Expand Down
5 changes: 4 additions & 1 deletion docs/en/cookbook/soft-delete-extension.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,10 @@ An implementation might look like this in a ``User`` document:
{
// ...
/** @ODM\Field(type="date") @ODM\Index */
/**
* @ODM\Field(type="date")
* @ODM\Index
*/
private $deletedAt;
public function getDeletedAt(): ?\DateTime
Expand Down
11 changes: 6 additions & 5 deletions lib/Doctrine/ODM/MongoDB/Mapping/Annotations/Validation.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

use Attribute;
use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
use Doctrine\ODM\MongoDB\Mapping\ClassMetadata;

/**
* @Annotation
Expand All @@ -21,18 +22,18 @@ class Validation implements Annotation
/**
* @var string|null
* @Enum({
* \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::SCHEMA_VALIDATION_ACTION_ERROR,
* \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::SCHEMA_VALIDATION_ACTION_WARN,
* ClassMetadata::SCHEMA_VALIDATION_ACTION_ERROR,
* ClassMetadata::SCHEMA_VALIDATION_ACTION_WARN,
* })
*/
public $action;

/**
* @var string|null
* @Enum({
* \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::SCHEMA_VALIDATION_LEVEL_OFF,
* \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::SCHEMA_VALIDATION_LEVEL_STRICT,
* \Doctrine\ODM\MongoDB\Mapping\ClassMetadata::SCHEMA_VALIDATION_LEVEL_MODERATE,
* ClassMetadata::SCHEMA_VALIDATION_LEVEL_OFF,
* ClassMetadata::SCHEMA_VALIDATION_LEVEL_STRICT,
* ClassMetadata::SCHEMA_VALIDATION_LEVEL_MODERATE,
* })
*/
public $level;
Expand Down
8 changes: 8 additions & 0 deletions lib/Doctrine/ODM/MongoDB/Proxy/Factory/StaticProxyFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ public function __construct(DocumentManager $documentManager)
$this->proxyFactory = $documentManager->getConfiguration()->buildGhostObjectFactory();
}

/**
* @param mixed $identifier
* @psalm-param ClassMetadata<T> $metadata
*
* @psalm-return T&GhostObjectInterface<T>
*
* @template T of object
*/
public function getProxy(ClassMetadata $metadata, $identifier): GhostObjectInterface
{
$documentPersister = $this->uow->getDocumentPersister($metadata->getName());
Expand Down
2 changes: 1 addition & 1 deletion phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ parameters:

# complains about types for arguments we do not use/care
-
message: "#^Method Doctrine\\\\ODM\\\\MongoDB\\\\Proxy\\\\Factory\\\\StaticProxyFactory\\:\\:createInitializer\\(\\) should return Closure\\(ProxyManager\\\\Proxy\\\\GhostObjectInterface\\<TDocument of object\\>&TDocument of object\\=, string\\=, array\\<string, mixed\\>\\=, Closure\\|null\\=, array\\<string, mixed\\>\\=\\)\\: bool but returns Closure\\(ProxyManager\\\\Proxy\\\\GhostObjectInterface, string, array, mixed, array\\)\\: true\\.$#"
message: "#^Method Doctrine\\\\ODM\\\\MongoDB\\\\Proxy\\\\Factory\\\\StaticProxyFactory\\:\\:createInitializer\\(\\) should return Closure\\(ProxyManager\\\\Proxy\\\\GhostObjectInterface\\<TDocument\\>&TDocument\\=, string\\=, array\\<string, mixed\\>\\=, Closure\\|null\\=, array\\<string, mixed\\>\\=\\)\\: bool but returns Closure\\(ProxyManager\\\\Proxy\\\\GhostObjectInterface, string, array, mixed, array\\)\\: true\\.$#"
count: 1
path: lib/Doctrine/ODM/MongoDB/Proxy/Factory/StaticProxyFactory.php

Expand Down
66 changes: 52 additions & 14 deletions psalm-baseline.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.9.0@8b9ad1eb9e8b7d3101f949291da2b9f7767cd163">
<files psalm-version="5.15.0@5c774aca4746caf3d239d9c8cadb9f882ca29352">
<file src="lib/Doctrine/ODM/MongoDB/Aggregation/Aggregation.php">
<MissingTemplateParam>
<code>IteratorAggregate</code>
Expand Down Expand Up @@ -51,7 +51,6 @@
<code><![CDATA[$this->fieldMappings]]></code>
</InvalidPropertyAssignmentValue>
<InvalidReturnStatement>
<code>$mapping</code>
<code>$mapping</code>
<code><![CDATA[array_filter(
$this->associationMappings,
Expand All @@ -60,7 +59,6 @@
</InvalidReturnStatement>
<InvalidReturnType>
<code>FieldMapping</code>
<code>FieldMappingConfig</code>
<code><![CDATA[array<string, FieldMapping>]]></code>
</InvalidReturnType>
<LessSpecificImplementedReturnType>
Expand All @@ -83,6 +81,23 @@
<code>$mapping</code>
<code>$options</code>
</InvalidArgument>
<InvalidPropertyFetch>
<code><![CDATA[$xmlRoot->field]]></code>
<code><![CDATA[$xmlRoot->id]]></code>
<code><![CDATA[$xmlRoot->{'also-load-methods'}]]></code>
<code><![CDATA[$xmlRoot->{'default-discriminator-value'}]]></code>
<code><![CDATA[$xmlRoot->{'discriminator-field'}]]></code>
<code><![CDATA[$xmlRoot->{'discriminator-map'}]]></code>
<code><![CDATA[$xmlRoot->{'embed-many'}]]></code>
<code><![CDATA[$xmlRoot->{'embed-one'}]]></code>
<code><![CDATA[$xmlRoot->{'indexes'}]]></code>
<code><![CDATA[$xmlRoot->{'lifecycle-callbacks'}]]></code>
<code><![CDATA[$xmlRoot->{'read-preference'}]]></code>
<code><![CDATA[$xmlRoot->{'reference-many'}]]></code>
<code><![CDATA[$xmlRoot->{'reference-one'}]]></code>
<code><![CDATA[$xmlRoot->{'schema-validation'}]]></code>
<code><![CDATA[$xmlRoot->{'shard-key'}]]></code>
</InvalidPropertyFetch>
<NoInterfaceProperties>
<code><![CDATA[$xmlRoot->field]]></code>
<code><![CDATA[$xmlRoot->id]]></code>
Expand All @@ -108,6 +123,21 @@
</RedundantCast>
<RedundantCondition>
<code>assert($attributes instanceof SimpleXMLElement)</code>
<code><![CDATA[isset($embed->{'default-discriminator-value'})]]></code>
<code><![CDATA[isset($embed->{'discriminator-field'})]]></code>
<code><![CDATA[isset($embed->{'discriminator-map'})]]></code>
<code><![CDATA[isset($field->{'generator-option'})]]></code>
<code><![CDATA[isset($partialFilterExpressionMapping->and)]]></code>
<code><![CDATA[isset($partialFilterExpressionMapping->field)]]></code>
<code><![CDATA[isset($reference->{'criteria'})]]></code>
<code><![CDATA[isset($reference->{'default-discriminator-value'})]]></code>
<code><![CDATA[isset($reference->{'discriminator-field'})]]></code>
<code><![CDATA[isset($reference->{'discriminator-map'})]]></code>
<code><![CDATA[isset($reference->{'prime'})]]></code>
<code><![CDATA[isset($reference->{'sort'})]]></code>
<code><![CDATA[isset($xmlIndex->{'option'})]]></code>
<code><![CDATA[isset($xmlIndex->{'partial-filter-expression'})]]></code>
<code><![CDATA[isset($xmlReadPreference->{'tag-set'})]]></code>
<code><![CDATA[isset($xmlRoot->field)]]></code>
<code><![CDATA[isset($xmlRoot->id)]]></code>
<code><![CDATA[isset($xmlRoot->{'default-discriminator-value'})]]></code>
Expand All @@ -122,6 +152,7 @@
<code><![CDATA[isset($xmlRoot->{'reference-one'})]]></code>
<code><![CDATA[isset($xmlRoot->{'schema-validation'})]]></code>
<code><![CDATA[isset($xmlRoot->{'shard-key'})]]></code>
<code><![CDATA[isset($xmlShardkey->{'option'})]]></code>
</RedundantCondition>
<TypeDoesNotContainType>
<code><![CDATA[$xmlRoot->getName() === 'document']]></code>
Expand All @@ -130,6 +161,7 @@
<code><![CDATA[$xmlRoot->getName() === 'mapped-superclass']]></code>
<code><![CDATA[$xmlRoot->getName() === 'query-result-document']]></code>
<code><![CDATA[$xmlRoot->getName() === 'view']]></code>
<code><![CDATA[isset($xmlRoot->metadata)]]></code>
<code><![CDATA[isset($xmlRoot->{'also-load-methods'})]]></code>
</TypeDoesNotContainType>
</file>
Expand All @@ -149,27 +181,23 @@
<code>array_values</code>
</RedundantFunctionCall>
</file>
<file src="lib/Doctrine/ODM/MongoDB/Proxy/Resolver/CachingClassNameResolver.php">
<InvalidPropertyAssignmentValue>
<code><![CDATA[$this->resolvedNames]]></code>
</InvalidPropertyAssignmentValue>
</file>
<file src="lib/Doctrine/ODM/MongoDB/Proxy/Resolver/ProxyManagerClassNameResolver.php">
<MoreSpecificImplementedParamType>
<code>$className</code>
</MoreSpecificImplementedParamType>
</file>
<file src="lib/Doctrine/ODM/MongoDB/Query/Builder.php">
<InvalidArgument>
<code>$query</code>
</InvalidArgument>
<InvalidPropertyAssignmentValue>
<code><![CDATA[$this->query]]></code>
<code><![CDATA[$this->query]]></code>
<code><![CDATA[$this->query]]></code>
<code><![CDATA[$this->query]]></code>
</InvalidPropertyAssignmentValue>
</file>
<file src="lib/Doctrine/ODM/MongoDB/Query/Expr.php">
<UnsupportedPropertyReferenceUsage>
<code><![CDATA[$current = &$this->newObj]]></code>
<code><![CDATA[$query = &$this->query]]></code>
<code><![CDATA[$query = &$this->query[$this->currentField]]]></code>
</UnsupportedPropertyReferenceUsage>
</file>
<file src="lib/Doctrine/ODM/MongoDB/Query/Query.php">
<MissingTemplateParam>
<code>IteratorAggregate</code>
Expand Down Expand Up @@ -283,6 +311,11 @@
<code>new ArrayCollection([$project])</code>
</InvalidArgument>
</file>
<file src="tests/Doctrine/ODM/MongoDB/Tests/Events/PreLoadEventArgsTest.php">
<UnsupportedPropertyReferenceUsage>
<code><![CDATA[$eventArgsData =& $eventArgs->getData()]]></code>
</UnsupportedPropertyReferenceUsage>
</file>
<file src="tests/Doctrine/ODM/MongoDB/Tests/Functional/AtomicSetTest.php">
<UndefinedInterfaceMethod>
<code><![CDATA[$malarzm->friends]]></code>
Expand Down Expand Up @@ -479,6 +512,11 @@
<code>$collection</code>
</InvalidArgument>
</file>
<file src="tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/MODM43Test.php">
<UnsupportedPropertyReferenceUsage>
<code><![CDATA[$data =& $e->getData()]]></code>
</UnsupportedPropertyReferenceUsage>
</file>
<file src="tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket/MODM81Test.php">
<InvalidNullableReturnType>
<code>DocumentManager</code>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,10 @@ class Profile extends BaseDocument
public $profile;
}

/** @ODM\MappedSuperclass @ODM\HasLifecycleCallbacks */
/**
* @ODM\MappedSuperclass
* @ODM\HasLifecycleCallbacks
*/
abstract class BaseDocument
{
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -866,7 +866,8 @@ class DocumentPersisterTestDocumentWithVersion
public $name;

/**
* @ODM\Version @ODM\Field(type="int")
* @ODM\Version
* @ODM\Field(type="int")
*
* @var int
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,10 @@ public function prePersist(): void
}
}

/** @ODM\MappedSuperclass @ODM\HasLifecycleCallbacks */
/**
* @ODM\MappedSuperclass
* @ODM\HasLifecycleCallbacks
*/
abstract class HasLifecycleCallbacksSuperAnnotated
{
/**
Expand Down Expand Up @@ -157,12 +160,18 @@ class HasLifecycleCallbacksSubExtendsSuperAnnotated extends HasLifecycleCallback
{
}

/** @ODM\Document @ODM\HasLifecycleCallbacks */
/**
* @ODM\Document
* @ODM\HasLifecycleCallbacks
*/
class HasLifecycleCallbacksSubAnnotatedExtendsSuper extends HasLifecycleCallbacksSuper
{
}

/** @ODM\Document @ODM\HasLifecycleCallbacks */
/**
* @ODM\Document
* @ODM\HasLifecycleCallbacks
*/
class HasLifecycleCallbacksSubAnnotatedExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
{
}
Expand All @@ -187,7 +196,10 @@ public function prePersist(): void
}
}

/** @ODM\Document @ODM\HasLifecycleCallbacks */
/**
* @ODM\Document
* @ODM\HasLifecycleCallbacks
*/
class HasLifecycleCallbacksSubOverrideAnnotatedExtendsSuper extends HasLifecycleCallbacksSuper
{
/** @ODM\PrePersist */
Expand All @@ -197,7 +209,10 @@ public function prePersist(): void
}
}

/** @ODM\Document @ODM\HasLifecycleCallbacks */
/**
* @ODM\Document
* @ODM\HasLifecycleCallbacks
*/
class HasLifecycleCallbacksSubOverrideAnnotatedExtendsSuperAnnotated extends HasLifecycleCallbacksSuperAnnotated
{
/** @ODM\PrePersist */
Expand Down
Loading

0 comments on commit eb7560e

Please sign in to comment.