38 lines
981 B
PHP
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;
|
|
}
|