Skip to content

Commit 74a58aa

Browse files
CC-21931 Warehouse Users Assignment. (#9815)
CC-21931 Warehouse Users Assignment
1 parent 0d94cd5 commit 74a58aa

File tree

10 files changed

+85
-76
lines changed

10 files changed

+85
-76
lines changed

architecture-baseline.json

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,16 @@
11
[
2-
{
3-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeBridge.php",
4-
"description": "Bridges: Method `findUser()` must have `public function get<DomainEntity>Collection(<DomainEntity>CriteriaTransfer): <DomainEntity>CollectionTransfer` signature.",
5-
"rule": "BridgeFacadeMethodsRule",
6-
"ruleset": "Spryker",
7-
"priority": "2"
8-
},
92
{
103
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeBridge.php",
114
"description": "Bridges: Method `updateUser()` must have `public function update<DomainEntity>Collection(<DomainEntity>CollectionRequestTransfer): <DomainEntity>CollectionResponseTransfer` signature.",
125
"rule": "BridgeFacadeMethodsRule",
136
"ruleset": "Spryker",
147
"priority": "2"
158
},
16-
{
17-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeBridge.php",
18-
"description": "Bridges: Type should be defined for param `idUser` in method `Spryker\\Zed\\UserPasswordReset\\Dependency\\Facade\\UserPasswordResetToUserFacadeBridge::getUserById()`.",
19-
"rule": "BridgeMethodsRule",
20-
"ruleset": "Spryker",
21-
"priority": "2"
22-
},
23-
{
24-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeBridge.php",
25-
"description": "Bridges: Method `getUserById()` must have `public function get<DomainEntity>Collection(<DomainEntity>CriteriaTransfer): <DomainEntity>CollectionTransfer` signature.",
26-
"rule": "BridgeFacadeMethodsRule",
27-
"ruleset": "Spryker",
28-
"priority": "2"
29-
},
30-
{
31-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeInterface.php",
32-
"description": "Bridges: The bridge interface has incorrect method signature for `updateUser()`. Missed return type. That violates the rule \"All bridge interface methods must have exactly the same or more strict signature as their parent\"",
33-
"rule": "BridgeMethodsInterfaceRule",
34-
"ruleset": "Spryker",
35-
"priority": "2"
36-
},
37-
{
38-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeInterface.php",
39-
"description": "Bridges: The bridge interface has incorrect method signature for `getUserById()`. Missed return type. That violates the rule \"All bridge interface methods must have exactly the same or more strict signature as their parent\"",
40-
"rule": "BridgeMethodsInterfaceRule",
41-
"ruleset": "Spryker",
42-
"priority": "2"
43-
},
449
{
4510
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Service/UserPasswordResetToUtilTextServiceBridge.php",
4611
"description": "Bridges: Type should be defined for param `length` in method `Spryker\\Zed\\UserPasswordReset\\Dependency\\Service\\UserPasswordResetToUtilTextServiceBridge::generateRandomString()`.",
4712
"rule": "BridgeMethodsRule",
4813
"ruleset": "Spryker",
4914
"priority": "2"
50-
},
51-
{
52-
"fileName": "src/Spryker/Zed/UserPasswordReset/Dependency/Service/UserPasswordResetToUtilTextServiceInterface.php",
53-
"description": "Bridges: The bridge interface has incorrect method signature for `generateRandomString()`. Missed return type. That violates the rule \"All bridge interface methods must have exactly the same or more strict signature as their parent\"",
54-
"rule": "BridgeMethodsInterfaceRule",
55-
"ruleset": "Spryker",
56-
"priority": "2"
5715
}
5816
]

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"require": {
77
"php": ">=8.0",
88
"spryker/kernel": "^3.30.0",
9-
"spryker/user": "^3.9.0",
9+
"spryker/transfer": "^3.27.0",
10+
"spryker/user": "^3.16.0",
1011
"spryker/user-password-reset-extension": "^1.0.0",
1112
"spryker/util-text": "^1.2.2"
1213
},

dependency.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"include": {
3+
"spryker/transfer": "Provides transfer objects definition with strict types."
4+
}
5+
}

psalm-report.json

Lines changed: 41 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Spryker/Shared/UserPasswordReset/Transfer/user_password_reset.transfer.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,18 @@
2929
</transfer>
3030

3131
<transfer name="UserCriteria">
32-
<property name="email" type="string"/>
32+
<property name="email" type="string" deprecated="Use UserConditions.usernames instead."/>
33+
<property name="userConditions" type="UserConditions" strict="true"/>
34+
</transfer>
35+
36+
<transfer name="UserCollection" strict="true">
37+
<property name="users" type="User[]" singular="user"/>
38+
</transfer>
39+
40+
<transfer name="UserConditions" strict="true">
41+
<property name="userIds" type="int[]" singular="idUser"/>
42+
<property name="usernames" type="string[]" singular="username"/>
43+
<property name="throwUserNotFoundException" type="bool" deprecated="Exists for BC reasons only."/>
3344
</transfer>
3445

3546
</transfers>

src/Spryker/Zed/UserPasswordReset/Business/ResetPassword/ResetPassword.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use DateTime;
1212
use Generated\Shared\Transfer\ResetPasswordCriteriaTransfer;
1313
use Generated\Shared\Transfer\ResetPasswordTransfer;
14+
use Generated\Shared\Transfer\UserConditionsTransfer;
1415
use Generated\Shared\Transfer\UserCriteriaTransfer;
1516
use Generated\Shared\Transfer\UserPasswordResetRequestTransfer;
1617
use Spryker\Zed\UserPasswordReset\Dependency\Facade\UserPasswordResetToUserFacadeInterface;
@@ -111,8 +112,11 @@ public function requestPasswordReset(UserPasswordResetRequestTransfer $userPassw
111112
{
112113
$userPasswordResetRequestTransfer->requireEmail();
113114

114-
$userTransfer = $this->userFacade->findUser((new UserCriteriaTransfer())->setEmail($userPasswordResetRequestTransfer->getEmail()));
115+
$userConditionsTransfer = (new UserConditionsTransfer())->addUsername($userPasswordResetRequestTransfer->getEmailOrFail());
116+
$userCriteriaTransfer = (new UserCriteriaTransfer())->setUserConditions($userConditionsTransfer);
117+
$userCollectionTransfer = $this->userFacade->getUserCollection($userCriteriaTransfer);
115118

119+
$userTransfer = $userCollectionTransfer->getUsers()->getIterator()->current();
116120
if (!$userTransfer || $userTransfer->getStatus() !== $this->resetConfig->getUserStatusActive()) {
117121
return false;
118122
}
@@ -176,7 +180,13 @@ public function setNewPassword(string $token, string $password): bool
176180

177181
/** @var int $idUser */
178182
$idUser = $resetPasswordTransfer->getFkUserId();
179-
$userTransfer = $this->userFacade->getUserById($idUser);
183+
$userConditionsTransfer = (new UserConditionsTransfer())
184+
->addIdUser($idUser)
185+
->setThrowUserNotFoundException(true);
186+
$userCriteriaTransfer = (new UserCriteriaTransfer())->setUserConditions($userConditionsTransfer);
187+
$userCollectionTransfer = $this->userFacade->getUserCollection($userCriteriaTransfer);
188+
189+
$userTransfer = $userCollectionTransfer->getUsers()->getIterator()->current();
180190
$userTransfer->setPassword($password);
181191
$this->userFacade->updateUser($userTransfer);
182192

src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeBridge.php

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Spryker\Zed\UserPasswordReset\Dependency\Facade;
99

10+
use Generated\Shared\Transfer\UserCollectionTransfer;
1011
use Generated\Shared\Transfer\UserCriteriaTransfer;
1112
use Generated\Shared\Transfer\UserTransfer;
1213

@@ -25,33 +26,23 @@ public function __construct($userFacade)
2526
$this->userFacade = $userFacade;
2627
}
2728

28-
/**
29-
* @param \Generated\Shared\Transfer\UserCriteriaTransfer $userCriteriaTransfer
30-
*
31-
* @return \Generated\Shared\Transfer\UserTransfer|null
32-
*/
33-
public function findUser(UserCriteriaTransfer $userCriteriaTransfer): ?UserTransfer
34-
{
35-
return $this->userFacade->findUser($userCriteriaTransfer);
36-
}
37-
3829
/**
3930
* @param \Generated\Shared\Transfer\UserTransfer $user
4031
*
4132
* @return \Generated\Shared\Transfer\UserTransfer
4233
*/
43-
public function updateUser(UserTransfer $user)
34+
public function updateUser(UserTransfer $user): UserTransfer
4435
{
4536
return $this->userFacade->updateUser($user);
4637
}
4738

4839
/**
49-
* @param int $idUser
40+
* @param \Generated\Shared\Transfer\UserCriteriaTransfer $userCriteriaTransfer
5041
*
51-
* @return \Generated\Shared\Transfer\UserTransfer
42+
* @return \Generated\Shared\Transfer\UserCollectionTransfer
5243
*/
53-
public function getUserById($idUser)
44+
public function getUserCollection(UserCriteriaTransfer $userCriteriaTransfer): UserCollectionTransfer
5445
{
55-
return $this->userFacade->getUserById($idUser);
46+
return $this->userFacade->getUserCollection($userCriteriaTransfer);
5647
}
5748
}

src/Spryker/Zed/UserPasswordReset/Dependency/Facade/UserPasswordResetToUserFacadeInterface.php

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,23 @@
77

88
namespace Spryker\Zed\UserPasswordReset\Dependency\Facade;
99

10+
use Generated\Shared\Transfer\UserCollectionTransfer;
1011
use Generated\Shared\Transfer\UserCriteriaTransfer;
1112
use Generated\Shared\Transfer\UserTransfer;
1213

1314
interface UserPasswordResetToUserFacadeInterface
1415
{
15-
/**
16-
* @param \Generated\Shared\Transfer\UserCriteriaTransfer $userCriteriaTransfer
17-
*
18-
* @return \Generated\Shared\Transfer\UserTransfer|null
19-
*/
20-
public function findUser(UserCriteriaTransfer $userCriteriaTransfer): ?UserTransfer;
21-
2216
/**
2317
* @param \Generated\Shared\Transfer\UserTransfer $user
2418
*
2519
* @return \Generated\Shared\Transfer\UserTransfer
2620
*/
27-
public function updateUser(UserTransfer $user);
21+
public function updateUser(UserTransfer $user): UserTransfer;
2822

2923
/**
30-
* @param int $idUser
24+
* @param \Generated\Shared\Transfer\UserCriteriaTransfer $userCriteriaTransfer
3125
*
32-
* @return \Generated\Shared\Transfer\UserTransfer
26+
* @return \Generated\Shared\Transfer\UserCollectionTransfer
3327
*/
34-
public function getUserById($idUser);
28+
public function getUserCollection(UserCriteriaTransfer $userCriteriaTransfer): UserCollectionTransfer;
3529
}

src/Spryker/Zed/UserPasswordReset/Dependency/Service/UserPasswordResetToUtilTextServiceBridge.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public function __construct($utilTextService)
2727
*
2828
* @return string
2929
*/
30-
public function generateRandomString($length)
30+
public function generateRandomString($length): string
3131
{
3232
return $this->utilTextService->generateRandomString($length);
3333
}

src/Spryker/Zed/UserPasswordReset/Dependency/Service/UserPasswordResetToUtilTextServiceInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ interface UserPasswordResetToUtilTextServiceInterface
1414
*
1515
* @return string
1616
*/
17-
public function generateRandomString($length);
17+
public function generateRandomString($length): string;
1818
}

0 commit comments

Comments
 (0)