<?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); } }