Compare commits
2 Commits
75e4f5f808
...
551d5043c1
Author | SHA1 | Date | |
---|---|---|---|
551d5043c1 | |||
e59b1ea2d1 |
@ -4,10 +4,12 @@ namespace Slovocast\Domain\Entity;
|
|||||||
|
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Slovocast\Domain\Entity as EntityTrait;
|
use Slovocast\Domain\Entity as EntityTrait;
|
||||||
|
use Slovocast\Domain\Record as RecordTrait;
|
||||||
|
|
||||||
class Episode
|
class Episode
|
||||||
{
|
{
|
||||||
use EntityTrait;
|
use EntityTrait;
|
||||||
|
use RecordTrait;
|
||||||
|
|
||||||
private string $duration;
|
private string $duration;
|
||||||
|
|
||||||
|
42
app/src/Domain/Factory/EpisodeFactory.php
Normal file
42
app/src/Domain/Factory/EpisodeFactory.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Slovocast\Domain\Factory;
|
||||||
|
|
||||||
|
use Slovocast\Domain\Entity\Episode;
|
||||||
|
use Slovocast\Domain\FactoryInterface;
|
||||||
|
|
||||||
|
class EpisodeFactory implements FactoryInterface
|
||||||
|
{
|
||||||
|
public static function fromArray(array $props): Episode
|
||||||
|
{
|
||||||
|
$episode = new Episode(
|
||||||
|
$props['title'],
|
||||||
|
$props['link'],
|
||||||
|
(int) $props['length'],
|
||||||
|
$props['description'],
|
||||||
|
$props['serialNumber'],
|
||||||
|
(bool) $props['explicit'],
|
||||||
|
$props['publishedDate'],
|
||||||
|
$props['episodeType']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($props['id']) {
|
||||||
|
$episode->setId($props['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($props['created_at']) {
|
||||||
|
$episode->setCreatedAt($props['createdAt']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($props['updated_id']) {
|
||||||
|
$episode->setUpdatedAt($props['updatedAt']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $episode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function toArray(Episode $episode): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
37
app/src/Domain/Factory/FileFactory.php
Normal file
37
app/src/Domain/Factory/FileFactory.php
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Slovocast\Domain\Factory;
|
||||||
|
|
||||||
|
use Slovocast\Domain\Entity\Episode\File;
|
||||||
|
use Slovocast\Domain\FactoryInterface;
|
||||||
|
|
||||||
|
class FileFactory implements FactoryInterface
|
||||||
|
{
|
||||||
|
public static function fromArray(array $props): File
|
||||||
|
{
|
||||||
|
$file = new File(
|
||||||
|
$props['url'],
|
||||||
|
(int) $props['length'],
|
||||||
|
$props['type']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($props['id']) {
|
||||||
|
$file->setId($props['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($props['createAt']) {
|
||||||
|
$file->setCreatedAt($props['createdAt']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($props['updatedAt']) {
|
||||||
|
$file->setUpdatedAt($props['updatedAt']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $file;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function toArray(File $file): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user