* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Profile\Employee\CommandHandler; use Employee; use PrestaShop\PrestaShop\Core\Domain\Employee\Command\ToggleEmployeeStatusCommand; use PrestaShop\PrestaShop\Core\Domain\Employee\CommandHandler\ToggleEmployeeStatusHandlerInterface; /** * Class ToggleEmployeeStatusHandler encapsulates Employee status toggling using legacy Employee object model. */ final class ToggleEmployeeStatusHandler extends AbstractEmployeeHandler implements ToggleEmployeeStatusHandlerInterface { /** * {@inheritdoc} */ public function handle(ToggleEmployeeStatusCommand $command) { $employeeId = $command->getEmployeeId(); $employee = new Employee($employeeId->getValue()); $this->assertEmployeeWasFoundById($employeeId, $employee); $this->assertLoggedInEmployeeIsNotTheSameAsBeingUpdatedEmployee($employee); $this->assertEmployeeIsNotTheOnlyAdminInShop($employee); $employee->toggleStatus(); } }