Files
My-KOPKB/be/Modules/Activity/Repositories/Contracts/ActivityRepositoryInterface.php
T

38 lines
981 B
PHP

<?php
namespace Modules\Activity\Repositories\Contracts;
use Illuminate\Database\Eloquent\Collection;
use Modules\Activity\Entities\Activity;
interface ActivityRepositoryInterface
{
public function getAllPaginated(int $perPage = 10, string $search = '');
public function getAllWithRelationsPaginated(
int $perPage = 10,
string $search = '',
string $sortBy = 'title',
string $sortOrder = 'asc'
);
public function getIndexPaginated(
int $perPage = 10,
string $search = '',
string $sortBy = 'start_datetime',
string $sortOrder = 'desc'
);
public function getAllWithRelations(string $search = ''): Collection;
public function create(array $data): Activity;
public function findById(string $id): ?Activity;
public function findByIdWithRelations(string $id): ?Activity;
public function delete(string $id): bool;
public function all(string $search = ''): Collection;
}