From d7e113be4a56fa5aac3680fb5363168f545e5bce Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 16 Feb 2015 23:48:05 +0100 Subject: Added PHP API framework --- backyard/php-api/trunk/app/Commands/Command.php | 7 +++ .../php-api/trunk/app/Console/Commands/Inspire.php | 34 +++++++++++++++ backyard/php-api/trunk/app/Console/Kernel.php | 29 +++++++++++++ backyard/php-api/trunk/app/Events/Event.php | 7 +++ backyard/php-api/trunk/app/Exceptions/Handler.php | 42 ++++++++++++++++++ .../php-api/trunk/app/Handlers/Commands/.gitkeep | 0 .../php-api/trunk/app/Handlers/Events/.gitkeep | 0 .../app/Http/Controllers/Auth/AuthController.php | 38 ++++++++++++++++ .../Http/Controllers/Auth/PasswordController.php | 38 ++++++++++++++++ .../trunk/app/Http/Controllers/Controller.php | 11 +++++ .../trunk/app/Http/Controllers/HomeController.php | 36 ++++++++++++++++ .../app/Http/Controllers/WelcomeController.php | 36 ++++++++++++++++ backyard/php-api/trunk/app/Http/Kernel.php | 32 ++++++++++++++ .../trunk/app/Http/Middleware/Authenticate.php | 50 ++++++++++++++++++++++ .../Http/Middleware/RedirectIfAuthenticated.php | 44 +++++++++++++++++++ .../trunk/app/Http/Middleware/VerifyCsrfToken.php | 20 +++++++++ .../php-api/trunk/app/Http/Requests/Request.php | 9 ++++ backyard/php-api/trunk/app/Http/routes.php | 21 +++++++++ .../trunk/app/Providers/AppServiceProvider.php | 34 +++++++++++++++ .../trunk/app/Providers/BusServiceProvider.php | 34 +++++++++++++++ .../trunk/app/Providers/ConfigServiceProvider.php | 23 ++++++++++ .../trunk/app/Providers/EventServiceProvider.php | 32 ++++++++++++++ .../trunk/app/Providers/RouteServiceProvider.php | 44 +++++++++++++++++++ backyard/php-api/trunk/app/Services/Registrar.php | 39 +++++++++++++++++ backyard/php-api/trunk/app/User.php | 34 +++++++++++++++ 25 files changed, 694 insertions(+) create mode 100644 backyard/php-api/trunk/app/Commands/Command.php create mode 100644 backyard/php-api/trunk/app/Console/Commands/Inspire.php create mode 100644 backyard/php-api/trunk/app/Console/Kernel.php create mode 100644 backyard/php-api/trunk/app/Events/Event.php create mode 100644 backyard/php-api/trunk/app/Exceptions/Handler.php create mode 100644 backyard/php-api/trunk/app/Handlers/Commands/.gitkeep create mode 100644 backyard/php-api/trunk/app/Handlers/Events/.gitkeep create mode 100644 backyard/php-api/trunk/app/Http/Controllers/Auth/AuthController.php create mode 100644 backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php create mode 100644 backyard/php-api/trunk/app/Http/Controllers/Controller.php create mode 100644 backyard/php-api/trunk/app/Http/Controllers/HomeController.php create mode 100644 backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php create mode 100644 backyard/php-api/trunk/app/Http/Kernel.php create mode 100644 backyard/php-api/trunk/app/Http/Middleware/Authenticate.php create mode 100644 backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php create mode 100644 backyard/php-api/trunk/app/Http/Requests/Request.php create mode 100644 backyard/php-api/trunk/app/Http/routes.php create mode 100644 backyard/php-api/trunk/app/Providers/AppServiceProvider.php create mode 100644 backyard/php-api/trunk/app/Providers/BusServiceProvider.php create mode 100644 backyard/php-api/trunk/app/Providers/ConfigServiceProvider.php create mode 100644 backyard/php-api/trunk/app/Providers/EventServiceProvider.php create mode 100644 backyard/php-api/trunk/app/Providers/RouteServiceProvider.php create mode 100644 backyard/php-api/trunk/app/Services/Registrar.php create mode 100644 backyard/php-api/trunk/app/User.php (limited to 'backyard/php-api/trunk/app') diff --git a/backyard/php-api/trunk/app/Commands/Command.php b/backyard/php-api/trunk/app/Commands/Command.php new file mode 100644 index 0000000..018bc21 --- /dev/null +++ b/backyard/php-api/trunk/app/Commands/Command.php @@ -0,0 +1,7 @@ +comment(PHP_EOL.Inspiring::quote().PHP_EOL); + } + +} diff --git a/backyard/php-api/trunk/app/Console/Kernel.php b/backyard/php-api/trunk/app/Console/Kernel.php new file mode 100644 index 0000000..0c088c8 --- /dev/null +++ b/backyard/php-api/trunk/app/Console/Kernel.php @@ -0,0 +1,29 @@ +command('inspire') + ->hourly(); + } + +} diff --git a/backyard/php-api/trunk/app/Events/Event.php b/backyard/php-api/trunk/app/Events/Event.php new file mode 100644 index 0000000..d59f769 --- /dev/null +++ b/backyard/php-api/trunk/app/Events/Event.php @@ -0,0 +1,7 @@ +auth = $auth; + $this->registrar = $registrar; + + $this->middleware('guest', ['except' => 'getLogout']); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php b/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..3106193 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,38 @@ +auth = $auth; + $this->passwords = $passwords; + + $this->middleware('guest'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/Controller.php b/backyard/php-api/trunk/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..27b3f45 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/Controller.php @@ -0,0 +1,11 @@ +middleware('auth'); + } + + /** + * Show the application dashboard to the user. + * + * @return Response + */ + public function index() + { + return view('home'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php b/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php new file mode 100644 index 0000000..8a5ac6d --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Controllers/WelcomeController.php @@ -0,0 +1,36 @@ +middleware('guest'); + } + + /** + * Show the application welcome screen to the user. + * + * @return Response + */ + public function index() + { + return view('welcome'); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Kernel.php b/backyard/php-api/trunk/app/Http/Kernel.php new file mode 100644 index 0000000..0a2addc --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Kernel.php @@ -0,0 +1,32 @@ + 'App\Http\Middleware\Authenticate', + 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', + 'guest' => 'App\Http\Middleware\RedirectIfAuthenticated', + ]; + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php b/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..72a7613 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/Authenticate.php @@ -0,0 +1,50 @@ +auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->guest()) + { + if ($request->ajax()) + { + return response('Unauthorized.', 401); + } + else + { + return redirect()->guest('auth/login'); + } + } + + return $next($request); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php b/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..dd5a867 --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,44 @@ +auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if ($this->auth->check()) + { + return new RedirectResponse(url('/home')); + } + + return $next($request); + } + +} diff --git a/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php b/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..750a39b --- /dev/null +++ b/backyard/php-api/trunk/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,20 @@ + 'Auth\AuthController', + 'password' => 'Auth\PasswordController', +]); diff --git a/backyard/php-api/trunk/app/Providers/AppServiceProvider.php b/backyard/php-api/trunk/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..ff9d6f6 --- /dev/null +++ b/backyard/php-api/trunk/app/Providers/AppServiceProvider.php @@ -0,0 +1,34 @@ +app->bind( + 'Illuminate\Contracts\Auth\Registrar', + 'App\Services\Registrar' + ); + } + +} diff --git a/backyard/php-api/trunk/app/Providers/BusServiceProvider.php b/backyard/php-api/trunk/app/Providers/BusServiceProvider.php new file mode 100644 index 0000000..f0d9be6 --- /dev/null +++ b/backyard/php-api/trunk/app/Providers/BusServiceProvider.php @@ -0,0 +1,34 @@ +mapUsing(function($command) + { + return Dispatcher::simpleMapping( + $command, 'App\Commands', 'App\Handlers\Commands' + ); + }); + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } + +} diff --git a/backyard/php-api/trunk/app/Providers/ConfigServiceProvider.php b/backyard/php-api/trunk/app/Providers/ConfigServiceProvider.php new file mode 100644 index 0000000..06e5799 --- /dev/null +++ b/backyard/php-api/trunk/app/Providers/ConfigServiceProvider.php @@ -0,0 +1,23 @@ + [ + 'EventListener', + ], + ]; + + /** + * Register any other events for your application. + * + * @param \Illuminate\Contracts\Events\Dispatcher $events + * @return void + */ + public function boot(DispatcherContract $events) + { + parent::boot($events); + + // + } + +} diff --git a/backyard/php-api/trunk/app/Providers/RouteServiceProvider.php b/backyard/php-api/trunk/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..afa34c8 --- /dev/null +++ b/backyard/php-api/trunk/app/Providers/RouteServiceProvider.php @@ -0,0 +1,44 @@ +group(['namespace' => $this->namespace], function($router) + { + require app_path('Http/routes.php'); + }); + } + +} diff --git a/backyard/php-api/trunk/app/Services/Registrar.php b/backyard/php-api/trunk/app/Services/Registrar.php new file mode 100644 index 0000000..1035468 --- /dev/null +++ b/backyard/php-api/trunk/app/Services/Registrar.php @@ -0,0 +1,39 @@ + 'required|max:255', + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|confirmed|min:6', + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return User + */ + public function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ]); + } + +} diff --git a/backyard/php-api/trunk/app/User.php b/backyard/php-api/trunk/app/User.php new file mode 100644 index 0000000..2dae847 --- /dev/null +++ b/backyard/php-api/trunk/app/User.php @@ -0,0 +1,34 @@ +