Always respond with timezone in timestamp
This commit is contained in:
parent
2dbd02b8eb
commit
d552205369
@ -6,73 +6,90 @@ namespace OCA\GPodderSync\Db\EpisodeAction;
|
||||
use DateTime;
|
||||
use OCA\GPodderSync\Core\EpisodeAction\EpisodeAction;
|
||||
|
||||
class EpisodeActionRepository {
|
||||
class EpisodeActionRepository
|
||||
{
|
||||
private EpisodeActionMapper $episodeActionMapper;
|
||||
|
||||
private EpisodeActionMapper $episodeActionMapper;
|
||||
public function __construct(EpisodeActionMapper $episodeActionMapper)
|
||||
{
|
||||
$this->episodeActionMapper = $episodeActionMapper;
|
||||
}
|
||||
|
||||
public function __construct(EpisodeActionMapper $episodeActionMapper) {
|
||||
$this->episodeActionMapper = $episodeActionMapper;
|
||||
}
|
||||
/**
|
||||
* @param int $sinceEpoch
|
||||
* @param string $userId
|
||||
*
|
||||
* @return EpisodeAction[]
|
||||
*/
|
||||
public function findAll(int $sinceEpoch, string $userId): array
|
||||
{
|
||||
$episodeActions = [];
|
||||
foreach (
|
||||
$this->episodeActionMapper->findAll($sinceEpoch, $userId)
|
||||
as $entity
|
||||
) {
|
||||
$episodeActions[] = $this->mapEntityToEpisodeAction($entity);
|
||||
}
|
||||
return $episodeActions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $sinceEpoch
|
||||
* @param string $userId
|
||||
*
|
||||
* @return EpisodeAction[]
|
||||
*/
|
||||
public function findAll(int $sinceEpoch, string $userId) : array {
|
||||
$episodeActions = [];
|
||||
foreach ($this->episodeActionMapper->findAll($sinceEpoch, $userId) as $entity) {
|
||||
$episodeActions[] = $this->mapEntityToEpisodeAction($entity);
|
||||
}
|
||||
return $episodeActions;
|
||||
}
|
||||
|
||||
public function findByEpisodeUrl(string $episodeUrl, string $userId): ?EpisodeAction {
|
||||
$episodeActionEntity = $this->episodeActionMapper->findByEpisodeUrl($episodeUrl, $userId);
|
||||
public function findByEpisodeUrl(
|
||||
string $episodeUrl,
|
||||
string $userId
|
||||
): ?EpisodeAction {
|
||||
$episodeActionEntity = $this->episodeActionMapper->findByEpisodeUrl(
|
||||
$episodeUrl,
|
||||
$userId
|
||||
);
|
||||
|
||||
if ($episodeActionEntity === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->mapEntityToEpisodeAction(
|
||||
$episodeActionEntity
|
||||
);
|
||||
return $this->mapEntityToEpisodeAction($episodeActionEntity);
|
||||
}
|
||||
|
||||
public function findByGuid(string $guid, string $userId): ?EpisodeAction {
|
||||
$episodeActionEntity = $this->episodeActionMapper->findByGuid($guid, $userId);
|
||||
public function findByGuid(string $guid, string $userId): ?EpisodeAction
|
||||
{
|
||||
$episodeActionEntity = $this->episodeActionMapper->findByGuid(
|
||||
$guid,
|
||||
$userId
|
||||
);
|
||||
|
||||
if ($episodeActionEntity === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->mapEntityToEpisodeAction(
|
||||
$episodeActionEntity
|
||||
);
|
||||
return $this->mapEntityToEpisodeAction($episodeActionEntity);
|
||||
}
|
||||
|
||||
public function deleteEpisodeActionByEpisodeUrl(string $episodeUrl, string $userId) : void {
|
||||
$episodeAction = $this->episodeActionMapper->findByEpisodeUrl($episodeUrl, $userId);
|
||||
public function deleteEpisodeActionByEpisodeUrl(
|
||||
string $episodeUrl,
|
||||
string $userId
|
||||
): void {
|
||||
$episodeAction = $this->episodeActionMapper->findByEpisodeUrl(
|
||||
$episodeUrl,
|
||||
$userId
|
||||
);
|
||||
$this->episodeActionMapper->delete($episodeAction);
|
||||
}
|
||||
|
||||
private function mapEntityToEpisodeAction(EpisodeActionEntity $episodeActionEntity): EpisodeAction
|
||||
{
|
||||
return new EpisodeAction(
|
||||
$episodeActionEntity->getPodcast(),
|
||||
$episodeActionEntity->getEpisode(),
|
||||
$episodeActionEntity->getAction(),
|
||||
DateTime::createFromFormat(
|
||||
"U",
|
||||
(string)$episodeActionEntity->getTimestampEpoch())
|
||||
->format("Y-m-d\TH:i:s"),
|
||||
$episodeActionEntity->getStarted(),
|
||||
$episodeActionEntity->getPosition(),
|
||||
$episodeActionEntity->getTotal(),
|
||||
$episodeActionEntity->getGuid(),
|
||||
$episodeActionEntity->getId(),
|
||||
);
|
||||
}
|
||||
|
||||
private function mapEntityToEpisodeAction(
|
||||
EpisodeActionEntity $episodeActionEntity
|
||||
): EpisodeAction {
|
||||
return new EpisodeAction(
|
||||
$episodeActionEntity->getPodcast(),
|
||||
$episodeActionEntity->getEpisode(),
|
||||
$episodeActionEntity->getAction(),
|
||||
DateTime::createFromFormat(
|
||||
"U",
|
||||
(string) $episodeActionEntity->getTimestampEpoch()
|
||||
)->format("c"),
|
||||
$episodeActionEntity->getStarted(),
|
||||
$episodeActionEntity->getPosition(),
|
||||
$episodeActionEntity->getTotal(),
|
||||
$episodeActionEntity->getGuid(),
|
||||
$episodeActionEntity->getId()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user