44 lines
1.0 KiB
PHP
44 lines
1.0 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Modules\Admin\Repositories;
|
||
|
|
||
|
use Modules\Admin\Models\Event;
|
||
|
|
||
|
class EventRepository implements EventInterface
|
||
|
{
|
||
|
public function findAll($filters = [], $limit = null, $offset = null)
|
||
|
{
|
||
|
return Event::when($filters, function ($query) use ($filters) {
|
||
|
if (isset($filters["start_date"])) {
|
||
|
$query->whereDate("start_date", ">=", $filters["start_date"]);
|
||
|
}
|
||
|
|
||
|
if (isset($filters["end_date"])) {
|
||
|
$query->whereDate("end_date", "<=", $filters["end_date"]);
|
||
|
}
|
||
|
|
||
|
})->latest()->get();
|
||
|
}
|
||
|
|
||
|
public function getEventById($eventId)
|
||
|
{
|
||
|
return Event::findOrFail($eventId);
|
||
|
}
|
||
|
|
||
|
public function delete($eventId)
|
||
|
{
|
||
|
Event::destroy($eventId);
|
||
|
}
|
||
|
|
||
|
public function create(array $eventDetails)
|
||
|
{
|
||
|
return Event::create($eventDetails);
|
||
|
}
|
||
|
|
||
|
public function update($eventId, array $newDetails)
|
||
|
{
|
||
|
return Event::where('event_id', $eventId)->update($newDetails);
|
||
|
}
|
||
|
|
||
|
}
|