Skip to content
This repository was archived by the owner on Feb 18, 2023. It is now read-only.

Commit 19d901c

Browse files
committed
- Update logged in user's password #8
- CS fixes.
1 parent 9169cb5 commit 19d901c

File tree

17 files changed

+77
-24
lines changed

17 files changed

+77
-24
lines changed

app/Console/Kernel.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ class Kernel extends ConsoleKernel
2525
*/
2626
protected function schedule(Schedule $schedule)
2727
{
28-
2928
}
3029

3130
/**

app/Entities/Role.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,4 @@ class Role extends \Spatie\Permission\Models\Role
1818
* @var array
1919
*/
2020
protected $fillable = ['name', 'uuid'];
21-
2221
}

app/Entities/User.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ class User extends Authenticatable
4444
*/
4545
public static function create(array $attributes = [])
4646
{
47-
48-
if(array_key_exists('password', $attributes)) {
47+
if (array_key_exists('password', $attributes)) {
4948
$attributes['password'] = bcrypt($attributes['password']);
5049
}
5150

app/Exceptions/Handler.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ public function render($request, Exception $exception)
6464
*/
6565
protected function unauthenticated($request, AuthenticationException $exception)
6666
{
67-
6867
if ($request->expectsJson()) {
6968
return response()->json(['message' => 'Unauthenticated.'], 401);
7069
}

app/Http/Controllers/Api/Users/PermissionsController.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,4 @@ public function index(Request $request)
4242
{
4343
return $this->response->paginator($this->model->paginate($request->get('limit', config('app.pagination_limit'))), new PermissionTransformer());
4444
}
45-
4645
}

app/Http/Controllers/Api/Users/ProfileController.php

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44

55
use Illuminate\Http\Request;
66
use Dingo\Api\Routing\Helpers;
7-
use App\Http\Controllers\Controller;
87
use Illuminate\Support\Facades\Auth;
8+
use App\Http\Controllers\Controller;
9+
use Illuminate\Contracts\Hashing\Hasher;
10+
use Dingo\Api\Exception\ResourceException;
911
use App\Transformers\Users\UserTransformer;
1012

1113
/**
@@ -36,7 +38,7 @@ public function update(Request $request)
3638
'name' => 'required',
3739
'email' => 'required|email|unique:users,email,'.$user->id,
3840
];
39-
if($request->method() == "PATCH") {
41+
if ($request->method() == "PATCH") {
4042
$rules = [
4143
'name' => 'sometimes|required',
4244
'email' => 'sometimes|required|email|unique:users,email,'.$user->id,
@@ -48,4 +50,25 @@ public function update(Request $request)
4850
return $this->response->item($user->fresh(), new UserTransformer());
4951
}
5052

53+
/**
54+
* @param Request $request
55+
* @return \Dingo\Api\Http\Response
56+
*/
57+
public function updatePassword(Request $request)
58+
{
59+
$user = Auth::user();
60+
$this->validate($request, [
61+
'current_password' => 'required',
62+
'password' => 'required|min:8|confirmed'
63+
]);
64+
// verify the old password given is valid
65+
if (!app(Hasher::class)->check($request->get('current_password'), $user->password)) {
66+
throw new ResourceException('Validation Issue', [
67+
'old_password' => 'The current password is incorrect'
68+
]);
69+
}
70+
$user->password = bcrypt($request->get('password'));
71+
$user->save();
72+
return $this->response->item($user->fresh(), new UserTransformer());
73+
}
5174
}

app/Http/Controllers/Api/Users/RolesController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function store(Request $request)
7070
'name' => 'required'
7171
]);
7272
$role = $this->model->create($request->all());
73-
if($request->has('permissions')) {
73+
if ($request->has('permissions')) {
7474
$role->syncPermissions($request['permissions']);
7575
}
7676
return $this->response->created(url('api/roles/'.$role->uuid));
@@ -89,7 +89,7 @@ public function update(Request $request, $uuid)
8989
'name' => 'required'
9090
]);
9191
$role->update($request->except('_token'));
92-
if($request->has('permissions')) {
92+
if ($request->has('permissions')) {
9393
$role->syncPermissions($request['permissions']);
9494
}
9595
return $this->response->item($role->fresh(), new RoleTransformer());

app/Http/Controllers/Api/Users/UsersController.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public function store(Request $request)
7474
'password' => 'required|min:8|confirmed'
7575
]);
7676
$user = $this->model->create($request->all());
77-
if($request->has('roles')) {
77+
if ($request->has('roles')) {
7878
$user->syncRoles($request['roles']);
7979
}
8080
return $this->response->created(url('api/users/'.$user->uuid));
@@ -93,7 +93,7 @@ public function update(Request $request, $uuid)
9393
'name' => 'required',
9494
'email' => 'required|email|unique:users,email,'.$user->id,
9595
];
96-
if($request->method() == "PATCH") {
96+
if ($request->method() == "PATCH") {
9797
$rules = [
9898
'name' => 'sometimes|required',
9999
'email' => 'sometimes|required|email|unique:users,email,'.$user->id,
@@ -102,7 +102,7 @@ public function update(Request $request, $uuid)
102102
$this->validate($request, $rules);
103103
// Except password as we don't want to let the users change a password from this endpoint
104104
$user->update($request->except('_token', 'password'));
105-
if($request->has('roles')) {
105+
if ($request->has('roles')) {
106106
$user->syncRoles($request['roles']);
107107
}
108108
return $this->response->item($user->fresh(), new UserTransformer());

app/Providers/AppServiceProvider.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,5 @@ public function boot()
2323
*/
2424
public function register()
2525
{
26-
2726
}
2827
}

app/Services/Installation/InstallAppHandler.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public function createAdminUser(array $attributes = [])
108108
'email' => 'required|email|unique:users,email',
109109
'password' => 'required|min:8|confirmed'
110110
]);
111-
if($validator->fails()) {
111+
if ($validator->fails()) {
112112
throw new ValidationException($validator);
113113
}
114114
$this->adminUser = User::create([

0 commit comments

Comments
 (0)