Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 20 Line Coverage (%) Cyclomatic Complexity App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier — Coverage: 100.0% | Lines: 37 | Complexity: 18 App\Identity\Infrastructure\Console\GrantAdminCommand — Coverage: 92.3% | Lines: 26 | Complexity: 8 App\Identity\Infrastructure\Controllers\Admin\UpdateUserController — Coverage: 95.7% | Lines: 23 | Complexity: 7 App\Identity\Infrastructure\Trip\MemberDirectoryAdapter — Coverage: 100.0% | Lines: 19 | Complexity: 8 App\Identity\Infrastructure\Controllers\UpdateUserController — Coverage: 100.0% | Lines: 18 | Complexity: 5 App\Identity\Infrastructure\Security\SecurityUser — Coverage: 100.0% | Lines: 18 | Complexity: 11 App\Identity\Infrastructure\Controllers\RegisterUserController — Coverage: 100.0% | Lines: 15 | Complexity: 4 App\Identity\Infrastructure\Security\GoogleAuthenticator — Coverage: 100.0% | Lines: 14 | Complexity: 9 App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy — Coverage: 100.0% | Lines: 14 | Complexity: 4 App\Identity\Infrastructure\Controllers\ChangePasswordController — Coverage: 100.0% | Lines: 13 | Complexity: 4 App\Identity\Infrastructure\Controllers\Admin\DeleteUserController — Coverage: 91.7% | Lines: 12 | Complexity: 5 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType — Coverage: 50.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Security\UserProvider — Coverage: 100.0% | Lines: 12 | Complexity: 8 App\Identity\Infrastructure\Controllers\SetMyAvatarController — Coverage: 100.0% | Lines: 11 | Complexity: 5 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository — Coverage: 100.0% | Lines: 11 | Complexity: 8 App\Identity\Infrastructure\Controllers\DeleteMyAvatarController — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Controllers\DeleteUserController — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Controllers\MeController — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Security\SymfonyPasswordHasher — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Identity\Infrastructure\Controllers\Admin\ListUsersController — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Security\UserChecker — Coverage: 100.0% | Lines: 3 | Complexity: 4 App\Identity\Infrastructure\Http\ResolvesAuthenticatedUser — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Identity\Infrastructure\Http\ValidatesUserId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Identity\Infrastructure\Controllers\GoogleSignInConfigController — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Class CRAP Coverage
App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier18100.0%
App\Identity\Infrastructure\Security\SecurityUser11100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType10.5050.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator9100.0%
App\Identity\Infrastructure\Console\GrantAdminCommand8.0392.3%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository8100.0%
App\Identity\Infrastructure\Security\UserProvider8100.0%
App\Identity\Infrastructure\Trip\MemberDirectoryAdapter8100.0%
App\Identity\Infrastructure\Controllers\Admin\UpdateUserController795.7%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType6100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType6100.0%
App\Identity\Infrastructure\Controllers\Admin\DeleteUserController5.0191.7%
App\Identity\Infrastructure\Controllers\SetMyAvatarController5100.0%
App\Identity\Infrastructure\Controllers\UpdateUserController5100.0%
App\Identity\Infrastructure\Controllers\ChangePasswordController4100.0%
App\Identity\Infrastructure\Controllers\RegisterUserController4100.0%
App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy4100.0%
App\Identity\Infrastructure\Security\UserChecker4100.0%
App\Identity\Infrastructure\Controllers\DeleteMyAvatarController3100.0%
App\Identity\Infrastructure\Controllers\DeleteUserController3100.0%
App\Identity\Infrastructure\Controllers\MeController3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository3100.0%
App\Identity\Infrastructure\Security\SymfonyPasswordHasher3100.0%
App\Identity\Infrastructure\Controllers\Admin\ListUsersController2100.0%
App\Identity\Infrastructure\Controllers\GoogleSignInConfigController2100.0%
App\Identity\Infrastructure\Http\ValidatesUserId2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType1100.0%
App\Identity\Infrastructure\Http\ResolvesAuthenticatedUser1100.0%
App\Identity\Infrastructure\Security\RefreshToken0100.0%

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 20 Line Coverage (%) Cyclomatic Complexity App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::verify — Coverage: 100.0% | Lines: 34 | Complexity: 15 App\Identity\Infrastructure\Console\GrantAdminCommand::execute — Coverage: 90.9% | Lines: 22 | Complexity: 6 App\Identity\Infrastructure\Controllers\Admin\UpdateUserController::update — Coverage: 95.5% | Lines: 22 | Complexity: 6 App\Identity\Infrastructure\Controllers\UpdateUserController::update — Coverage: 100.0% | Lines: 17 | Complexity: 4 App\Identity\Infrastructure\Controllers\RegisterUserController::register — Coverage: 100.0% | Lines: 14 | Complexity: 3 App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy::assert — Coverage: 100.0% | Lines: 13 | Complexity: 3 App\Identity\Infrastructure\Controllers\ChangePasswordController::changePassword — Coverage: 100.0% | Lines: 12 | Complexity: 3 App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::summariesOf — Coverage: 100.0% | Lines: 12 | Complexity: 3 App\Identity\Infrastructure\Controllers\Admin\DeleteUserController::delete — Coverage: 90.9% | Lines: 11 | Complexity: 4 App\Identity\Infrastructure\Controllers\SetMyAvatarController::set — Coverage: 100.0% | Lines: 10 | Complexity: 4 App\Identity\Infrastructure\Security\GoogleAuthenticator::authenticate — Coverage: 100.0% | Lines: 10 | Complexity: 4 App\Identity\Infrastructure\Security\SecurityUser::fromDomain — Coverage: 100.0% | Lines: 8 | Complexity: 1 App\Identity\Infrastructure\Security\UserProvider::loadUserByIdentifier — Coverage: 100.0% | Lines: 7 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToDatabaseValue — Coverage: 50.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::findIdByEmail — Coverage: 100.0% | Lines: 6 | Complexity: 4 App\Identity\Infrastructure\Controllers\DeleteMyAvatarController::delete — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Identity\Infrastructure\Controllers\DeleteUserController::delete — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Identity\Infrastructure\Controllers\MeController::me — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToPHPValue — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Console\GrantAdminCommand::configure — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Identity\Infrastructure\Controllers\Admin\ListUsersController::list — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Identity\Infrastructure\Security\SymfonyPasswordHasher::verify — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Identity\Infrastructure\Security\UserProvider::refreshUser — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Identity\Infrastructure\Http\ResolvesAuthenticatedUser::securityUser — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Identity\Infrastructure\Http\ValidatesUserId::parseUserId — Coverage: 100.0% | Lines: 3 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::ofProviderSubject — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::paginate — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::getSQLDeclaration — Coverage: 0.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::claim — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Identity\Infrastructure\Security\SecurityUser::getUserIdentifier — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Security\SymfonyPasswordHasher::hash — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Security\UserChecker::checkPreAuth — Coverage: 100.0% | Lines: 2 | Complexity: 3 App\Identity\Infrastructure\Console\GrantAdminCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\Admin\DeleteUserController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\Admin\ListUsersController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\Admin\UpdateUserController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\ChangePasswordController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\DeleteMyAvatarController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\DeleteUserController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\GoogleSignInConfigController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\GoogleSignInConfigController::config — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\MeController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\RegisterUserController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\SetMyAvatarController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Controllers\UpdateUserController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofEmail — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::existsByEmail — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::count — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\GoogleAuthenticator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\GoogleAuthenticator::supports — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Identity\Infrastructure\Security\GoogleAuthenticator::onAuthenticationSuccess — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\GoogleAuthenticator::onAuthenticationFailure — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::userId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::preferredCurrency — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::getPassword — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::isAdmin — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::isSuspended — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SecurityUser::getRoles — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Identity\Infrastructure\Security\SecurityUser::eraseCredentials — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SymfonyPasswordHasher::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\UserChecker::checkPostAuth — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\UserProvider::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Security\UserProvider::supportsClass — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::verify15100.0%
App\Identity\Infrastructure\Console\GrantAdminCommand::execute6.0390.9%
App\Identity\Infrastructure\Controllers\Admin\UpdateUserController::update695.5%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToDatabaseValue4.1250.0%
App\Identity\Infrastructure\Controllers\Admin\DeleteUserController::delete4.0190.9%
App\Identity\Infrastructure\Controllers\SetMyAvatarController::set4100.0%
App\Identity\Infrastructure\Controllers\UpdateUserController::update4100.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator::authenticate4100.0%
App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::findIdByEmail4100.0%
App\Identity\Infrastructure\Controllers\ChangePasswordController::changePassword3100.0%
App\Identity\Infrastructure\Controllers\RegisterUserController::register3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToDatabaseValue3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToDatabaseValue3100.0%
App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy::assert3100.0%
App\Identity\Infrastructure\Security\UserChecker::checkPreAuth3100.0%
App\Identity\Infrastructure\Security\UserProvider::loadUserByIdentifier3100.0%
App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::summariesOf3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToPHPValue2.0675.0%
App\Identity\Infrastructure\Controllers\DeleteMyAvatarController::delete2100.0%
App\Identity\Infrastructure\Controllers\DeleteUserController::delete2100.0%
App\Identity\Infrastructure\Controllers\MeController::me2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToPHPValue2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToPHPValue2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::getSQLDeclaration20.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator::supports2100.0%
App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::claim2100.0%
App\Identity\Infrastructure\Security\SecurityUser::getRoles2100.0%
App\Identity\Infrastructure\Security\UserProvider::refreshUser2100.0%
App\Identity\Infrastructure\Security\UserProvider::supportsClass2100.0%
App\Identity\Infrastructure\Http\ValidatesUserId::parseUserId2100.0%
App\Identity\Infrastructure\Console\GrantAdminCommand::__construct1100.0%
App\Identity\Infrastructure\Console\GrantAdminCommand::configure1100.0%
App\Identity\Infrastructure\Controllers\Admin\DeleteUserController::__construct1100.0%
App\Identity\Infrastructure\Controllers\Admin\ListUsersController::__construct1100.0%
App\Identity\Infrastructure\Controllers\Admin\ListUsersController::list1100.0%
App\Identity\Infrastructure\Controllers\Admin\UpdateUserController::__construct1100.0%
App\Identity\Infrastructure\Controllers\ChangePasswordController::__construct1100.0%
App\Identity\Infrastructure\Controllers\DeleteMyAvatarController::__construct1100.0%
App\Identity\Infrastructure\Controllers\DeleteUserController::__construct1100.0%
App\Identity\Infrastructure\Controllers\GoogleSignInConfigController::__construct1100.0%
App\Identity\Infrastructure\Controllers\GoogleSignInConfigController::config1100.0%
App\Identity\Infrastructure\Controllers\MeController::__construct1100.0%
App\Identity\Infrastructure\Controllers\RegisterUserController::__construct1100.0%
App\Identity\Infrastructure\Controllers\SetMyAvatarController::__construct1100.0%
App\Identity\Infrastructure\Controllers\UpdateUserController::__construct1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::__construct1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::save1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::ofProviderSubject1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::__construct1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::save1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::remove1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofId1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofEmail1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::existsByEmail1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::paginate1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::count1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::getSQLDeclaration1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::getSQLDeclaration1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType::className1100.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator::__construct1100.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator::onAuthenticationSuccess1100.0%
App\Identity\Infrastructure\Security\GoogleAuthenticator::onAuthenticationFailure1100.0%
App\Identity\Infrastructure\Security\GoogleTokenInfoVerifier::__construct1100.0%
App\Identity\Infrastructure\Security\SecurityUser::__construct1100.0%
App\Identity\Infrastructure\Security\SecurityUser::fromDomain1100.0%
App\Identity\Infrastructure\Security\SecurityUser::userId1100.0%
App\Identity\Infrastructure\Security\SecurityUser::preferredCurrency1100.0%
App\Identity\Infrastructure\Security\SecurityUser::getUserIdentifier1100.0%
App\Identity\Infrastructure\Security\SecurityUser::getPassword1100.0%
App\Identity\Infrastructure\Security\SecurityUser::isAdmin1100.0%
App\Identity\Infrastructure\Security\SecurityUser::isSuspended1100.0%
App\Identity\Infrastructure\Security\SecurityUser::eraseCredentials1100.0%
App\Identity\Infrastructure\Security\SymfonyPasswordHasher::__construct1100.0%
App\Identity\Infrastructure\Security\SymfonyPasswordHasher::hash1100.0%
App\Identity\Infrastructure\Security\SymfonyPasswordHasher::verify1100.0%
App\Identity\Infrastructure\Security\SymfonyValidatorPasswordPolicy::__construct1100.0%
App\Identity\Infrastructure\Security\UserChecker::checkPostAuth1100.0%
App\Identity\Infrastructure\Security\UserProvider::__construct1100.0%
App\Identity\Infrastructure\Trip\MemberDirectoryAdapter::__construct1100.0%
App\Identity\Infrastructure\Http\ResolvesAuthenticatedUser::securityUser1100.0%