aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCamil Staps2015-04-26 17:58:30 +0200
committerCamil Staps2015-04-26 17:58:30 +0200
commit641343e38df2efbd2a23f425f8a49b9795b21ded (patch)
tree8edcecaea061261e48861625f12926675783fb81 /src
parentuser.create endpoint (diff)
user routes
Diffstat (limited to 'src')
-rw-r--r--src/CamilStaps/BotleaguesApi/BotleaguesApiServiceProvider.php16
-rw-r--r--src/controllers/UserController.php34
-rw-r--r--src/routes.php6
3 files changed, 32 insertions, 24 deletions
diff --git a/src/CamilStaps/BotleaguesApi/BotleaguesApiServiceProvider.php b/src/CamilStaps/BotleaguesApi/BotleaguesApiServiceProvider.php
index f38429f..012b5cf 100644
--- a/src/CamilStaps/BotleaguesApi/BotleaguesApiServiceProvider.php
+++ b/src/CamilStaps/BotleaguesApi/BotleaguesApiServiceProvider.php
@@ -4,9 +4,6 @@ namespace CamilStaps\BotleaguesApi;
use \Illuminate\Database\Eloquent\ModelNotFoundException;
use \Illuminate\Support\ServiceProvider;
use \Illuminate\Support\Facades\App;
-use \Illuminate\Support\Facades\Hash;
-use \Illuminate\Support\Facades\Config;
-use \Illuminate\Support\Facades\Auth;
use \Dingo\Api\Facade\API;
use Response;
@@ -34,13 +31,12 @@ class BotleaguesApiServiceProvider extends ServiceProvider {
API::error(function(ModelNotFoundException $e) {
return Response::make(['error' => 'Resource not found'], 404);
});
-
-// var_dump(Auth::logout());
-// var_dump(Auth::check());
-// var_dump(Auth::attempt(array('email' => 'camilstaps', 'password' => 'secret')));
-
-// var_dump(Config::get('auth'));
-// var_dump(Config::get('botleagues-api'));
+ API::error(function(\Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException $e) {
+ return Response::make(['error' => $e->getMessage() == null ? 'Access denied' : $e->getMessage()], 404);
+ });
+ API::error(function(\Exception $e) {
+ return Response::make(['error' => $e->getMessage()], 500);
+ });
}
/**
diff --git a/src/controllers/UserController.php b/src/controllers/UserController.php
index 33e945d..02400e9 100644
--- a/src/controllers/UserController.php
+++ b/src/controllers/UserController.php
@@ -1,6 +1,7 @@
<?php
namespace CamilStaps\BotleaguesApi;
+use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;
@@ -21,21 +22,30 @@ class UserController extends BaseController {
return $this->user->findOrFail($id);
}
- public function edit($id) {
- return $this->response->noContent();
+ public function update($id) {
+ if ($id != Auth::user()->id) {
+ throw new \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException();
+ }
+
+ $s = $this->user->find($id);
+
+ if (!empty(Input::get('password')))
+ $s->password = Hash::make(Input::get('password'));
+
+ if ($s->save()) {
+ return $this->show($id);
+ } else {
+ throw new Dingo\Api\Exception\UpdateResourceFailedException;
+ }
}
public function store() {
- try {
- $this->user->email = Input::get('email');
- $this->user->password = Hash::make(Input::get('password'));
-
- if ($this->user->save()) {
- return $this->response->created();
- } else {
- throw new Dingo\Api\Exception\StoreResourceFailedException;
- }
- } catch (Exception $e) {
+ $this->user->email = Input::get('email');
+ $this->user->password = Hash::make(Input::get('password'));
+
+ if ($this->user->save()) {
+ return $this->response->created();
+ } else {
throw new Dingo\Api\Exception\StoreResourceFailedException;
}
}
diff --git a/src/routes.php b/src/routes.php
index cd04415..707bf06 100644
--- a/src/routes.php
+++ b/src/routes.php
@@ -1,7 +1,9 @@
<?php
Route::group(array('https'), function() {
Route::api(['version' => 'v1', 'protected' => true, 'providers' => 'basic'], function () {
- Route::resource('bot', 'CamilStaps\BotleaguesApi\BotController');
- Route::resource('user', 'CamilStaps\BotleaguesApi\UserController');
+ Route::resource('bot', 'CamilStaps\BotleaguesApi\BotController',
+ array('except' => ['create','edit']));
+ Route::resource('user', 'CamilStaps\BotleaguesApi\UserController',
+ array('except' => ['create','edit']));
});
}); \ No newline at end of file