Initial commit of testapi
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use App\Models\User;
|
||||
use App\Models\ApiAdmins;
|
||||
|
||||
class RmApiAdmin extends Command
|
||||
{
|
||||
protected $signature = 'rmapiadmin';
|
||||
protected $description = 'List users with an ApiAdmins record and remove the relationship';
|
||||
|
||||
public function handle() {
|
||||
$users = User::has('apiAdmin')
|
||||
->orderBy('id')
|
||||
->get(['id', 'name', 'email']);
|
||||
|
||||
if ($users->isEmpty()) {
|
||||
$this->info('No users currently assigned as API Admin.');
|
||||
return 0;
|
||||
}
|
||||
|
||||
$choices = $users->map(fn($u) => "{$u->id}: {$u->name} ({$u->email})")->toArray();
|
||||
|
||||
$selected = $this->choice(
|
||||
'Select a user to remove from API Admins',
|
||||
$choices,
|
||||
0,
|
||||
null,
|
||||
false
|
||||
);
|
||||
|
||||
[$idString] = explode(':', $selected, 2);
|
||||
$userId = (int) trim($idString);
|
||||
|
||||
ApiAdmins::where('user_id', $userId)->delete();
|
||||
|
||||
$this->info("User ID {$userId} has been removed from API Admins.");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user