34 lines
800 B
PHP
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;
|
|
}
|