Files
slim-blog/src/Media/MediaRepositoryInterface.php
2026-03-16 16:58:54 +01:00

34 lines
800 B
PHP

<?php
declare(strict_types=1);
namespace App\Media;
interface MediaRepositoryInterface
{
/** @return Media[] */
public function findAll(): array;
/** @return Media[] */
public function findPage(int $limit, int $offset): array;
public function countAll(): int;
/** @return Media[] */
public function findByUserId(int $userId): array;
/** @return Media[] */
public function findByUserPage(int $userId, int $limit, int $offset): array;
public function countByUserId(int $userId): int;
public function findById(int $id): ?Media;
public function findByHash(string $hash): ?Media;
public function findByHashForUser(string $hash, int $userId): ?Media;
public function create(Media $media): int;
public function delete(int $id): int;
}