Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"phpunit/phpunit": "^9.5",
"symfony/yaml": "^6.4|^7.4|^8.0",
"phpstan/phpstan": "^1.7",
"symplify/easy-coding-standard": "^11.3"
"symplify/easy-coding-standard": "^13.0"
},
"autoload": {
"psr-4": { "Yokai\\SecurityTokenBundle\\": "src/" }
Expand Down
94 changes: 68 additions & 26 deletions ecs.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,81 @@
declare(strict_types=1);

use PHP_CodeSniffer\Standards\Generic\Sniffs\PHP\ForbiddenFunctionsSniff;
use PhpCsFixer\Fixer\Basic\SingleLineEmptyBodyFixer;
use PhpCsFixer\Fixer\CastNotation\CastSpacesFixer;
use PhpCsFixer\Fixer\ClassNotation\ClassDefinitionFixer;
use PhpCsFixer\Fixer\ClassNotation\FinalClassFixer;
use PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer;
use PhpCsFixer\Fixer\FunctionNotation\FunctionDeclarationFixer;
use PhpCsFixer\Fixer\FunctionNotation\NativeFunctionInvocationFixer;
use PhpCsFixer\Fixer\LanguageConstruct\NullableTypeDeclarationFixer;
use PhpCsFixer\Fixer\StringNotation\ExplicitStringVariableFixer;
use PhpCsFixer\Fixer\Whitespace\BlankLineBeforeStatementFixer;
use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayListItemNewlineFixer;
use Symplify\CodingStandard\Fixer\ArrayNotation\ArrayOpenerAndCloserNewlineFixer;
use Symplify\CodingStandard\Fixer\ArrayNotation\StandaloneLineInMultilineArrayFixer;
use Symplify\CodingStandard\Fixer\LineLength\LineLengthFixer;
use Symplify\EasyCodingStandard\Config\ECSConfig;
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;

return function (ECSConfig $ecsConfig): void {
$ecsConfig->paths([
return ECSConfig::configure()
->withPaths([
__DIR__ . '/src',
__DIR__ . '/tests',
]);

$ecsConfig->sets([
SetList::ARRAY,
SetList::DOCBLOCK,
SetList::NAMESPACES,
SetList::COMMENTS,
SetList::STRICT,
SetList::PSR_12,
]);

$ecsConfig->skip([
/* Do not force array on multiple lines : ['foo' => $foo, 'bar' => $bar] */
ArrayOpenerAndCloserNewlineFixer::class,
ArrayListItemNewlineFixer::class,
StandaloneLineInMultilineArrayFixer::class,
]);

$ecsConfig->ruleWithConfiguration(ForbiddenFunctionsSniff::class, [
])
->withPhpCsFixerSets(
// https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/ruleSets/PER-CS2.0.rst
perCS20: true,
)
->withPreparedSets(
arrays: true,
comments: true,
docblocks: true,
namespaces: true,
phpunit: true,
strict: true,
)
->withRules([
FinalClassFixer::class,
])
->withConfiguredRule(BlankLineBeforeStatementFixer::class, [
'statements' => ['case', 'continue', 'declare', 'default', 'return', 'throw', 'try'],
])
->withConfiguredRule(CastSpacesFixer::class, [
'space' => 'none',
])
->withConfiguredRule(ForbiddenFunctionsSniff::class, [
'forbiddenFunctions' => ['dump' => null, 'dd' => null, 'var_dump' => null, 'die' => null],
]);
$ecsConfig->ruleWithConfiguration(FunctionDeclarationFixer::class, [
])
->withConfiguredRule(FunctionDeclarationFixer::class, [
'closure_fn_spacing' => 'none',
]);
};
])
->withConfiguredRule(LineLengthFixer::class, [
LineLengthFixer::INLINE_SHORT_LINES => false,
])
->withConfiguredRule(NativeFunctionInvocationFixer::class, [
'scope' => 'namespaced',
'include' => ['@all'],
])
->withConfiguredRule(NullableTypeDeclarationFixer::class, [
'syntax' => 'union',
])
->withConfiguredRule(YodaStyleFixer::class, [
'equal' => false,
'identical' => false,
'less_and_greater' => false,
])
->withConfiguredRule(ClassDefinitionFixer::class, [
'inline_constructor_arguments' => false,
'space_before_parenthesis' => false,
])
->withSkip([
ArrayListItemNewlineFixer::class,
ArrayOpenerAndCloserNewlineFixer::class,
ExplicitStringVariableFixer::class,
SingleLineEmptyBodyFixer::class,
StandaloneLineInMultilineArrayFixer::class,
FinalClassFixer::class => [
'src/Entity/',
],
])
;
4 changes: 2 additions & 2 deletions src/Archive/DeleteArchivist.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class DeleteArchivist implements ArchivistInterface
final class DeleteArchivist implements ArchivistInterface
{
/**
* @var EntityRepository
Expand Down Expand Up @@ -47,6 +47,6 @@ public function archive(string|null $purpose = null): int
/** @var int|string $result */
$result = $builder->getQuery()->execute();

return intval($result);
return \intval($result);
}
}
4 changes: 2 additions & 2 deletions src/Command/ArchiveTokenCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class ArchiveTokenCommand extends Command
final class ArchiveTokenCommand extends Command
{
/**
* @var ArchivistInterface
Expand Down Expand Up @@ -42,7 +42,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$count = $this->archivist->archive($purpose);

$output->writeln(
sprintf('<info>Successfully archived <comment>%d</comment> security token(s).</info>', $count)
\sprintf('<info>Successfully archived <comment>%d</comment> security token(s).</info>', $count),
);

return 0;
Expand Down
4 changes: 2 additions & 2 deletions src/Configuration/TokenConfiguration.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class TokenConfiguration
final class TokenConfiguration
{
/**
* @var string
Expand Down Expand Up @@ -47,7 +47,7 @@ public function __construct(
string $duration,
int $usages,
string $keep,
bool $unique
bool $unique,
) {
$this->purpose = $purpose;
$this->generator = $generator;
Expand Down
4 changes: 2 additions & 2 deletions src/Configuration/TokenConfigurationRegistry.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class TokenConfigurationRegistry
final class TokenConfigurationRegistry
{
/**
* @var array<TokenConfiguration>
Expand Down Expand Up @@ -38,7 +38,7 @@ public function get(string $purpose): TokenConfiguration
{
if (!isset($this->configurations[$purpose])) {
throw new BadMethodCallException(
sprintf('There is no configured security token on "%s" purpose.', $purpose)
\sprintf('There is no configured security token on "%s" purpose.', $purpose),
);
}

Expand Down
2 changes: 1 addition & 1 deletion src/DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class Configuration implements ConfigurationInterface
final class Configuration implements ConfigurationInterface
{
public function getConfigTreeBuilder(): TreeBuilder
{
Expand Down
14 changes: 7 additions & 7 deletions src/DependencyInjection/Factory/TokenConfigurationFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class TokenConfigurationFactory
final class TokenConfigurationFactory
{
public static function create(
string $purpose,
Expand All @@ -22,18 +22,18 @@ public static function create(
int $usages,
string $keep,
bool $unique,
ContainerBuilder $container
ContainerBuilder $container,
): void {
$id = sprintf('yokai_security_token.configuration.%s', $purpose);
$id = \sprintf('yokai_security_token.configuration.%s', $purpose);

if ($container->hasDefinition($id)) {
throw new BadMethodCallException(
sprintf(
\sprintf(
'Cannot register service for security token on "%s" purpose.' .
' A service with id "%s" is already registered.',
$purpose,
$id
)
$id,
),
);
}

Expand All @@ -46,7 +46,7 @@ public static function create(
$usages,
$keep,
$unique,
]
],
);

$definition->addTag('yokai_security_token.configuration');
Expand Down
8 changes: 4 additions & 4 deletions src/DependencyInjection/YokaiSecurityTokenExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
/**
* @author Yann Eugoné <[email protected]>
*/
class YokaiSecurityTokenExtension extends Extension
final class YokaiSecurityTokenExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container): void
{
Expand All @@ -43,7 +43,7 @@ private function registerTokens(array $config, ContainerBuilder $container): voi
$token['usages'],
$token['keep'],
$token['unique'],
$container
$container,
);
}
}
Expand All @@ -53,7 +53,7 @@ private function registerAliases(array $config, ContainerBuilder $container): vo
$isTest = $container->getParameter('kernel.environment') === 'test';

foreach ($config['services'] as $name => $service) {
$alias = $container->setAlias(sprintf('yokai_security_token.%s', $name), $service);
$alias = $container->setAlias(\sprintf('yokai_security_token.%s', $name), $service);
$alias->setPublic(true);
}
}
Expand All @@ -70,7 +70,7 @@ private function registerAutoconfigureAliases(ContainerBuilder $container): void
];

foreach ($interfaceMap as $service => $interface) {
$container->setAlias($interface, sprintf('yokai_security_token.%s', $service));
$container->setAlias($interface, \sprintf('yokai_security_token.%s', $service));
}
}
}
8 changes: 4 additions & 4 deletions src/Entity/Token.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public function __construct(
string $keepDuration,
int $allowedUsages = 1,
array $payload = [],
array $information = []
array $information = [],
) {
$this->userClass = $userClass;
$this->userId = $userId;
Expand All @@ -103,7 +103,7 @@ public function __construct(
$this->usages = new ArrayCollection();
}

public function getId(): ?int
public function getId(): int|null
{
return $this->id;
}
Expand Down Expand Up @@ -181,7 +181,7 @@ public function getAllowedUsages(): int

public function getCountUsages(): int
{
return count($this->usages);
return \count($this->usages);
}

/**
Expand All @@ -204,7 +204,7 @@ public function consume(array $information, DateTime|null $date = null): void
{
if ($this->isConsumed()) {
throw new LogicException(
sprintf('Token "%d" is already consumed.', $this->id)
\sprintf('Token "%d" is already consumed.', $this->id),
);
}

Expand Down
2 changes: 1 addition & 1 deletion src/Entity/TokenUsage.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public function __construct(Token $token, array $information, DateTime|null $cre
$this->createdAt = $createdAt ?: new DateTime();
}

public function getId(): ?int
public function getId(): int|null
{
return $this->id;
}
Expand Down
6 changes: 3 additions & 3 deletions src/Event/ConsumeTokenEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class ConsumeTokenEvent extends Event
final class ConsumeTokenEvent extends Event
{
/**
* @var Token
Expand All @@ -35,7 +35,7 @@ class ConsumeTokenEvent extends Event
* @param DateTime|null $at Date/time at which the token has been consumed
* @param array $information Some context information
*/
public function __construct(Token $token, ?DateTime $at, array $information)
public function __construct(Token $token, DateTime|null $at, array $information)
{
$this->token = $token;
$this->at = $at;
Expand All @@ -53,7 +53,7 @@ public function getToken(): Token
/**
* Date/time at which the token has been consumed
*/
public function getAt(): ?DateTime
public function getAt(): DateTime|null
{
return $this->at;
}
Expand Down
4 changes: 2 additions & 2 deletions src/Event/CreateTokenEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class CreateTokenEvent extends Event
final class CreateTokenEvent extends Event
{
/**
* @var string
Expand Down Expand Up @@ -85,6 +85,6 @@ public function setPayload(array $payload): void
*/
public function addPayload(array $payload): void
{
$this->payload = array_merge($this->payload, $payload);
$this->payload = \array_merge($this->payload, $payload);
}
}
2 changes: 1 addition & 1 deletion src/Event/TokenAlreadyConsumedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class TokenAlreadyConsumedEvent extends Event
final class TokenAlreadyConsumedEvent extends Event
{
/**
* @var string
Expand Down
2 changes: 1 addition & 1 deletion src/Event/TokenConsumedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class TokenConsumedEvent extends Event
final class TokenConsumedEvent extends Event
{
/**
* @var Token
Expand Down
2 changes: 1 addition & 1 deletion src/Event/TokenCreatedEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class TokenCreatedEvent extends Event
final class TokenCreatedEvent extends Event
{
/**
* @var Token
Expand Down
2 changes: 1 addition & 1 deletion src/Event/TokenExpiredEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*
* @author Yann Eugoné <[email protected]>
*/
class TokenExpiredEvent extends Event
final class TokenExpiredEvent extends Event
{
/**
* @var string
Expand Down
Loading
Loading