From 6c4af6e0150229835e7f65abffdf468d8f5e9f2b Mon Sep 17 00:00:00 2001 From: Dave Date: Thu, 14 Apr 2016 18:44:53 +0100 Subject: [PATCH] More work on API --- ...seController.php => ApiBaseController.php} | 2 +- .../API/AttendeesApiController.php | 2 +- .../Controllers/API/EventsApiController.php | 39 +++++++++++++++++++ app/Http/Middleware/Authenticate.php | 2 +- app/Http/api_routes.php | 23 +++++------ app/Models/Event.php | 2 +- 6 files changed, 52 insertions(+), 18 deletions(-) rename app/Http/Controllers/API/{BaseController.php => ApiBaseController.php} (85%) create mode 100644 app/Http/Controllers/API/EventsApiController.php diff --git a/app/Http/Controllers/API/BaseController.php b/app/Http/Controllers/API/ApiBaseController.php similarity index 85% rename from app/Http/Controllers/API/BaseController.php rename to app/Http/Controllers/API/ApiBaseController.php index aa428397..5dc8948a 100644 --- a/app/Http/Controllers/API/BaseController.php +++ b/app/Http/Controllers/API/ApiBaseController.php @@ -6,7 +6,7 @@ namespace app\Http\Controllers\API; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; -class BaseController extends Controller +class ApiBaseController extends Controller { protected $account_id; diff --git a/app/Http/Controllers/API/AttendeesApiController.php b/app/Http/Controllers/API/AttendeesApiController.php index 14f259f0..add3a023 100644 --- a/app/Http/Controllers/API/AttendeesApiController.php +++ b/app/Http/Controllers/API/AttendeesApiController.php @@ -5,7 +5,7 @@ namespace app\Http\Controllers\API; use App\Models\Attendee; use Illuminate\Http\Request; -class AttendeesApiController extends BaseController +class AttendeesApiController extends ApiBaseController { /** diff --git a/app/Http/Controllers/API/EventsApiController.php b/app/Http/Controllers/API/EventsApiController.php new file mode 100644 index 00000000..6cd71977 --- /dev/null +++ b/app/Http/Controllers/API/EventsApiController.php @@ -0,0 +1,39 @@ +account_id)->get(); + } + + /** + * @param Request $request + * @param $attendee_id + * @return mixed + */ + public function show(Request $request, $attendee_id) + { + if($attendee_id) { + return Event::scope($this->account_id)->find($attendee_id); + } + + return response('Event Not Found', 404); + } + + public function store(Request $request) {} + public function update(Request $request) {} + public function destroy(Request $request) {} + + +} \ No newline at end of file diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index 6a670f71..a777bf63 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -18,7 +18,7 @@ class Authenticate public function handle($request, Closure $next, $guard = null) { if (Auth::guard($guard)->guest()) { - if ($request->ajax() || $request->wantsJson()) { + if ($request->is('api/*') || $request->ajax() || $request->wantsJson()) { return response('Unauthorized.', 401); } else { return redirect()->guest('login'); diff --git a/app/Http/api_routes.php b/app/Http/api_routes.php index 1da4a999..6cd56648 100644 --- a/app/Http/api_routes.php +++ b/app/Http/api_routes.php @@ -2,14 +2,6 @@ Route::group(['prefix' => 'api', 'middleware' => 'auth:api'], function () { - - Route::get('/', function () { - return response()->json([ - 'Hello' => Auth::guard('api')->user()->full_name . '!' - ]); - }); - - /* * --------------- * Organisers @@ -22,6 +14,7 @@ Route::group(['prefix' => 'api', 'middleware' => 'auth:api'], function () { * Events * --------------- */ + Route::resource('events', 'API\EventsApiController'); /* @@ -38,12 +31,6 @@ Route::group(['prefix' => 'api', 'middleware' => 'auth:api'], function () { * --------------- */ - /* - * --------------- - * Orders - * --------------- - */ - /* * --------------- * Users @@ -57,4 +44,12 @@ Route::group(['prefix' => 'api', 'middleware' => 'auth:api'], function () { */ + + Route::get('/', function () { + return response()->json([ + 'Hello' => Auth::guard('api')->user()->full_name . '!' + ]); + }); + + }); \ No newline at end of file diff --git a/app/Models/Event.php b/app/Models/Event.php index af8360d0..183aed35 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -10,7 +10,7 @@ use URL; class Event extends MyBaseModel { use SoftDeletes; - + /** * The validation rules. *