users menu listing

This commit is contained in:
Mark Gregory
2026-08-26 08:15:05 +01:00
parent cd2b593fcf
commit 31ee06fa3a
2 changed files with 85 additions and 12 deletions
@@ -0,0 +1,47 @@
<?php
declare(strict_types=1);
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
if (
! Schema::hasTable('users')
|| ! Schema::hasColumn('users', 'helpdesk_admin')
|| ! Schema::hasColumn('users', 'helpdesk_agent')
) {
return;
}
// Do nothing when an administrator already exists.
if (DB::table('users')->where('helpdesk_admin', true)->exists()) {
return;
}
// Bootstrap the oldest account as the initial administrator.
// From this point onward administrators are managed through User Management.
$initialUserId = DB::table('users')->orderBy('id')->value('id');
if ($initialUserId === null) {
return;
}
DB::table('users')
->where('id', $initialUserId)
->update([
'helpdesk_admin' => true,
'helpdesk_agent' => true,
'updated_at' => now(),
]);
}
public function down(): void
{
// Intentionally non-destructive. Never silently remove an administrator.
}
};