Skip to content

Commit 0cd32af

Browse files
committed
Fix admin suspend/unsuspend logic
1 parent 4d39da9 commit 0cd32af

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

app/Http/Controllers/Api/AdminController.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ public function profileShow(Request $request, $id)
235235
$res['is_admin'] = (bool) $user->is_admin;
236236
$res['email'] = $user->email;
237237
$res['email_verified'] = (bool) $user->email_verified_at;
238+
$res['delete_after'] = $user->delete_after;
238239
}
239240
$res['comments_count'] = Comment::whereProfileId($profile->id)->count();
240241
$res['comment_replies_count'] = CommentReply::whereProfileId($profile->id)->count();
@@ -301,6 +302,9 @@ public function profileSuspend(Request $request, $id)
301302
$profile->update(['status' => 6]);
302303

303304
if ($profile->local) {
305+
DB::table('oauth_access_tokens')->where('user_id', $profile->user_id)->delete();
306+
DB::table('oauth_auth_codes')->where('user_id', $profile->user_id)->delete();
307+
DB::table('sessions')->where('user_id', $profile->user_id)->delete();
304308
$profile->user->update(['status' => 6]);
305309
}
306310

app/Http/Resources/AdminProfileResource.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ public function toArray(Request $request): array
3030
$avatarUrl = AvatarService::remote($this->id);
3131
}
3232

33+
$deleteAfter = null;
34+
35+
if ($this->local && $this->status === 8) {
36+
$deleteAfter = $this->user->delete_after;
37+
}
38+
3339
return [
3440
'id' => (string) $this->id,
3541
'name' => $this->name ?? 'user'.$this->id,
@@ -53,6 +59,7 @@ public function toArray(Request $request): array
5359
'can_like' => $this->can_like,
5460
'can_comment' => $this->can_comment,
5561
'can_follow' => $this->can_follow,
62+
'delete_after' => $deleteAfter,
5663
'created_at' => $this->created_at->format('c'),
5764
];
5865
}

routes/api.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,8 @@
251251
Route::get('/profiles/{id}', [AdminController::class, 'profileShow'])->middleware('auth:web,api');
252252
Route::post('/profiles/{id}/permissions', [AdminController::class, 'profilePermissionUpdate'])->middleware('auth:web,api');
253253
Route::post('/profiles/{id}/admin_note', [AdminController::class, 'profileAdminNoteUpdate'])->middleware('auth:web,api');
254+
Route::post('/profiles/{id}/suspend', [AdminController::class, 'profileSuspend'])->middleware('auth:web,api');
255+
Route::post('/profiles/{id}/unsuspend', [AdminController::class, 'profileUnsuspend'])->middleware('auth:web,api');
254256
Route::get('/settings', [AdminSettingsController::class, 'index'])->middleware('auth:web,api');
255257
Route::put('/settings', [AdminSettingsController::class, 'update'])->middleware('auth:web,api');
256258
Route::post('/settings/update-logo', [AdminSettingsController::class, 'updateLogo'])->middleware('auth:web,api');

0 commit comments

Comments
 (0)