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
5 changes: 1 addition & 4 deletions src/Dacapo/Application/UseCase/DacapoCommandUseCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,13 @@

final class DacapoCommandUseCase
{
private MigrationGenerator $generator;

/**
* DacapoCommandUseCase constructor.
* @param MigrationGenerator $generator
*/
public function __construct(
MigrationGenerator $generator
private MigrationGenerator $generator,
) {
$this->generator = $generator;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,10 @@

final class DacapoCommandUseCaseInput
{
/**
* @var array<string, mixed>
*/
public array $schemaBodies;

/**
* @param array<string, mixed> $schemaBodies
*/
public function __construct(array $schemaBodies)
public function __construct(public array $schemaBodies)
{
$this->schemaBodies = $schemaBodies;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,10 @@

final class DacapoCommandUseCaseOutput
{
/**
* @var array<int, array<string, string>>
*/
public array $migrationBodies;

/**
* @param array<int, array<string, string>> $migrationBodies
*/
public function __construct(array $migrationBodies)
public function __construct(public array $migrationBodies)
{
$this->migrationBodies = $migrationBodies;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@
final class SchemaToConstraintForeignKeyMigrationConverter
{
private const MIGRATION_COLUMN_INDENT = ' ';
private MigrationUpdateStub $migrationUpdateStub;

/**
* @param MigrationUpdateStub $migrationUpdateStub
*/
public function __construct(MigrationUpdateStub $migrationUpdateStub)
public function __construct(private MigrationUpdateStub $migrationUpdateStub)
{
$this->migrationUpdateStub = $migrationUpdateStub;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@
final class SchemaToCreateIndexMigrationConverter
{
private const MIGRATION_COLUMN_INDENT = ' ';
private MigrationUpdateStub $migrationUpdateStub;

/**
* @param MigrationUpdateStub $migrationUpdateStub
*/
public function __construct(MigrationUpdateStub $migrationUpdateStub)
public function __construct(private MigrationUpdateStub $migrationUpdateStub)
{
$this->migrationUpdateStub = $migrationUpdateStub;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,10 @@ final class SchemaToCreateTableMigrationConverter
{
private const MIGRATION_COLUMN_INDENT = ' ';

private DatabaseBuilder $databaseBuilder;
private MigrationCreateStub $migrationCreateStub;

public function __construct(
DatabaseBuilder $databaseBuilder,
MigrationCreateStub $migrationCreateStub
private DatabaseBuilder $databaseBuilder,
private MigrationCreateStub $migrationCreateStub,
) {
$this->databaseBuilder = $databaseBuilder;
$this->migrationCreateStub = $migrationCreateStub;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,17 @@

final class MigrationGenerator
{
private SchemaToCreateTableMigrationConverter $schemaToCreateTableMigrationConverter;
private SchemaToCreateIndexMigrationConverter $schemaToCreateIndexMigrationConverter;
private SchemaToConstraintForeignKeyMigrationConverter $schemaToConstraintForeignKeyMigrationConverter;

/**
* MigrationGenerator constructor.
* @param SchemaToCreateTableMigrationConverter $schemaToCreateTableMigrationConverter
* @param SchemaToCreateIndexMigrationConverter $schemaToCreateIndexMigrationConverter
* @param SchemaToConstraintForeignKeyMigrationConverter $schemaToConstraintForeignKeyMigrationConverter
*/
public function __construct(
SchemaToCreateTableMigrationConverter $schemaToCreateTableMigrationConverter,
SchemaToCreateIndexMigrationConverter $schemaToCreateIndexMigrationConverter,
SchemaToConstraintForeignKeyMigrationConverter $schemaToConstraintForeignKeyMigrationConverter
private SchemaToCreateTableMigrationConverter $schemaToCreateTableMigrationConverter,
private SchemaToCreateIndexMigrationConverter $schemaToCreateIndexMigrationConverter,
private SchemaToConstraintForeignKeyMigrationConverter $schemaToConstraintForeignKeyMigrationConverter,
) {
$this->schemaToCreateTableMigrationConverter = $schemaToCreateTableMigrationConverter;
$this->schemaToCreateIndexMigrationConverter = $schemaToCreateIndexMigrationConverter;
$this->schemaToConstraintForeignKeyMigrationConverter = $schemaToConstraintForeignKeyMigrationConverter;
}

/**
Expand Down
11 changes: 4 additions & 7 deletions src/Dacapo/Domain/MigrationFile/MigrationFile.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,15 @@

final class MigrationFile
{
private string $name;
private string $contents;

/**
* MigrationFile constructor.
* @param string $name
* @param string $contents
*/
public function __construct(string $name, string $contents)
{
$this->name = $name;
$this->contents = $contents;
public function __construct(
private string $name,
private string $contents,
) {
}

/**
Expand Down
29 changes: 10 additions & 19 deletions src/Dacapo/Domain/Schema/Column/Column.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,6 @@

final class Column
{
private ColumnName $name;
private ColumnType $type;
private ColumnTypeArgs $typeArgs;
private ColumnModifierList $modifierList;

/**
* Column constructor.
* @param ColumnName $name
Expand All @@ -32,24 +27,22 @@ final class Column
* @param ColumnModifierList $modifierList
*/
public function __construct(
ColumnName $name,
ColumnType $type,
ColumnTypeArgs $typeArgs,
ColumnModifierList $modifierList
private ColumnName $name,
private ColumnType $type,
private ColumnTypeArgs $typeArgs,
private ColumnModifierList $modifierList,
) {
$this->name = $name;
$this->type = $type;
$this->typeArgs = $typeArgs;
$this->modifierList = $modifierList;
}

/**
* @param ColumnName $columnName
* @param string|bool|array<string, mixed>|null $attributes
* @param array<string, mixed>|bool|string|null $attributes
* @return static
*/
public static function factory(ColumnName $columnName, $attributes): self
{
public static function factory(
ColumnName $columnName,
array|bool|string|null $attributes,
): self {
if (is_string($attributes)) {
$columnType = ColumnTypeFactory::factory($attributes);

Expand All @@ -69,9 +62,7 @@ public static function factory(ColumnName $columnName, $attributes): self
new ColumnModifierList([])
);
} elseif (is_array($attributes)) {
if (isset($attributes['type']) === false) {
throw new InvalidArgumentException(sprintf('columns.%s.type field is required', $columnName->getName()));
}
$attributes['type'] ?? throw new InvalidArgumentException(sprintf('columns.%s.type field is required', $columnName->getName()));

$columnType = ColumnTypeFactory::factory($attributes['type']);

Expand Down
8 changes: 1 addition & 7 deletions src/Dacapo/Domain/Schema/Column/ColumnList.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,11 @@
*/
final class ColumnList implements IteratorAggregate
{
/**
* @var array<int, Column>
*/
private array $attributes;

/**
* @param array<int, Column> $attributes
*/
public function __construct(array $attributes)
public function __construct(private array $attributes)
{
$this->attributes = $attributes;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,11 @@

abstract class ColumnModifier
{
private ?ColumnModifierArgs $columnModifierArgs;

/**
* @param ?ColumnModifierArgs $columnModifierArgs
*/
public function __construct(?ColumnModifierArgs $columnModifierArgs)
public function __construct(private ?ColumnModifierArgs $columnModifierArgs)
{
$this->columnModifierArgs = $columnModifierArgs;
}

abstract public function getName(): string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@

final class BooleanColumnModifierArgs implements ColumnModifierArgs
{
private bool $value;

/**
* @param bool $value
*/
public function __construct(bool $value)
public function __construct(private bool $value)
{
$this->value = $value;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@

final class IntColumnModifierArgs implements ColumnModifierArgs
{
private int $value;

/**
* @param int $value
*/
public function __construct(int $value)
public function __construct(private int $value)
{
$this->value = $value;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@

final class MixedColumnModifierArgs implements ColumnModifierArgs
{
private mixed $value;

/**
* @param mixed $value
*/
public function __construct(mixed $value)
public function __construct(private mixed $value)
{
$this->value = $value;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,11 @@

final class StringColumnModifierArgs implements ColumnModifierArgs
{
private string $value;

/**
* @param string $value
*/
public function __construct(string $value)
public function __construct(private string $value)
{
$this->value = $value;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,18 @@ final class ColumnModifierFactory
* @param string|bool|int|null $value
* @return ColumnModifier
*/
public static function factory(string $name, $value): ColumnModifier
public static function factory(string $name, string|bool|int|null $value): ColumnModifier
{
if ($class = self::MAPPING_CLASS[$name] ?? null) {
if (is_string($value)) {
return new $class(new StringColumnModifierArgs($value));
} elseif (is_bool($value)) {
return new $class(new BooleanColumnModifierArgs($value));
} elseif (is_int($value)) {
return new $class(new IntColumnModifierArgs($value));
}
$class = self::MAPPING_CLASS[$name] ?? throw new InvalidArgumentException(sprintf('%s column modifier does not exist', $name));

return new $class(null);
if (is_string($value)) {
return new $class(new StringColumnModifierArgs($value));
} elseif (is_bool($value)) {
return new $class(new BooleanColumnModifierArgs($value));
} elseif (is_int($value)) {
return new $class(new IntColumnModifierArgs($value));
}

throw new InvalidArgumentException(sprintf('%s column modifier does not exist', $name));
return new $class(null);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,11 @@
*/
final class ColumnModifierList implements IteratorAggregate
{
/**
* @var array<int, ColumnModifier>
*/
private array $attributes;

/**
* @param array<int, ColumnModifier> $attributes
*/
public function __construct(array $attributes)
public function __construct(private array $attributes)
{
$this->attributes = $attributes;
}

/**
Expand Down
5 changes: 1 addition & 4 deletions src/Dacapo/Domain/Schema/Column/ColumnName.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,12 @@

final class ColumnName
{
private ?string $name;

/**
* ColumnName constructor.
* @param string|null $name
*/
public function __construct(?string $name)
public function __construct(private ?string $name)
{
$this->name = $name;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,8 @@ final class ColumnTypeFactory
*/
public static function factory(string $name): ColumnType
{
if ($class = self::MAPPING_CLASS[$name] ?? null) {
return new $class();
}
$class = self::MAPPING_CLASS[$name] ?? throw new InvalidArgumentException(sprintf('%s column type does not exist', $name));

throw new InvalidArgumentException(sprintf('%s column type does not exist', $name));
return new $class();
}
}
Loading