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
8 changes: 6 additions & 2 deletions src/Resources/ResourceIdentifier.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@
namespace MyParcelCom\JsonApi\Resources;

use JsonSerializable;
use MyParcelCom\JsonApi\Traits\EnumTrait;
use UnitEnum;

class ResourceIdentifier implements JsonSerializable
{
use EnumTrait;

public function __construct(
private string $id,
private string $type,
private UnitEnum|string $type,
private ?string $parentId = null,
) {
}
Expand All @@ -22,7 +26,7 @@ public function getId(): string

public function getType(): string
{
return $this->type;
return $this->getEnumValue($this->type);
}

public function getParentId(): ?string
Expand Down
4 changes: 2 additions & 2 deletions src/Transformers/AbstractTransformer.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ protected function getTimestamp(?DateTime $dateTime): ?int

protected function transformRelationshipForIdentifier(
string $id,
string $type,
UnitEnum|string $type,
string $class,
string $parentId = null,
): array {
Expand All @@ -107,7 +107,7 @@ protected function transformRelationshipForIdentifier(
return $relationship;
}

protected function transformRelationshipForIdentifiers(array $ids, string $type, array $links = null): array
protected function transformRelationshipForIdentifiers(array $ids, UnitEnum|string $type, array $links = []): array
{
return array_filter([
'data' => array_map(fn ($id) => (new ResourceIdentifier($id, $type))->jsonSerialize(), $ids),
Expand Down
5 changes: 3 additions & 2 deletions tests/Stubs/TransformerStub.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
use Illuminate\Contracts\Routing\UrlGenerator;
use MyParcelCom\JsonApi\Resources\ResourceIdentifier;
use MyParcelCom\JsonApi\Transformers\AbstractTransformer;
use UnitEnum;

class TransformerStub extends AbstractTransformer
{
Expand Down Expand Up @@ -84,14 +85,14 @@ public function getTimestamp(?DateTime $dateTime): ?int

public function transformRelationshipForIdentifier(
string $id,
string $type,
UnitEnum|string $type,
string $class,
string $parentId = null,
): array {
return parent::transformRelationshipForIdentifier($id, $type, $class, $parentId);
}

public function transformRelationshipForIdentifiers(array $ids, string $type, array $links = null): array
public function transformRelationshipForIdentifiers(array $ids, UnitEnum|string $type, array $links = []): array
{
return parent::transformRelationshipForIdentifiers($ids, $type, $links);
}
Expand Down