From d535c174d44653be36640b6f23ddb089b38e2cb3 Mon Sep 17 00:00:00 2001 From: Jordan Doyle Date: Wed, 22 Jun 2016 03:19:11 +0100 Subject: [PATCH] Add API method to get the current event --- app/Http/Controllers/Event/TimetableController.php | 28 ++++++++++++++++++++++++++++ app/Http/routes.php | 3 ++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Event/TimetableController.php b/app/Http/Controllers/Event/TimetableController.php index 3ee608e..48b265f 100644 --- a/app/Http/Controllers/Event/TimetableController.php +++ b/app/Http/Controllers/Event/TimetableController.php @@ -179,6 +179,34 @@ class TimetableController extends Controller } /** + * Get the current event. + * + * @return array + */ + public function getCurrentEvent() + { + $event = Event::where('week', Carbon::now()->weekOfYear) + ->where('year', Carbon::now()->year) + ->where('day', Carbon::now()->format('N')) + ->where('hour', Carbon::now()->hour) + ->where('approved', true) + ->first(); + + if ($event) { + return [ + 'id' => $event->user()->first()->userid, + 'name' => $event->user()->first()->getDisplayName()->toHtml(), + 'type' => $event->type->name, + 'booked' => true + ]; + } else { + return [ + 'booked' => false + ]; + } + } + + /** * Get the booked slots for this week in JSON format. * * @param bool $raw should we return the user's name in raw html diff --git a/app/Http/routes.php b/app/Http/routes.php index 8f9f0bd..d179310 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -117,6 +117,7 @@ Route::group(['middleware' => 'auth', 'as' => 'dashboard::'], function () { Route::group(['middleware' => 'api', 'as' => 'api::', 'prefix' => 'api'], function () { Route::get('dj-says', ['as' => 'dj-says', 'uses' => 'DJ\DJSaysController@getSays']); Route::get('timetable', ['as' => 'timetable', 'uses' => 'DJ\TimetableController@getJSONTimetable']); - Route::get('events', ['as' => 'events', 'uses' => 'Event\TimetableController@getJSONTimetable']); + Route::get('event/all', ['as' => 'events', 'uses' => 'Event\TimetableController@getJSONTimetable']); + Route::get('event/current', ['as' => 'event.current', 'uses' => 'Event\TimetableController@getCurrentEvent']); Route::post('request', ['as' => 'request', 'uses' => 'DJ\RequestController@request']); }); -- libgit2 1.7.2