option('revoke')) { $token = PersonalAccessToken::find($id); if ($token === null) { $this->error("Token {$id} not found."); return self::FAILURE; } $token->delete(); $this->info("Token {$id} revoked."); return self::SUCCESS; } $query = PersonalAccessToken::query() ->orderByDesc('created_at'); if ($email = $this->option('user')) { $user = User::where('email', $email)->first(); $query->where('tokenable_id', $user?->id ?? 0); } $tokens = $query->get(['id', 'name', 'tokenable_id', 'created_at', 'expires_at']); if ($tokens->isEmpty()) { $this->info('No tokens.'); return self::SUCCESS; } $this->table( ['id', 'user', 'name', 'created', 'expires'], $tokens->map(fn ($t) => [ $t->id, User::find($t->tokenable_id)?->email ?? $t->tokenable_id, $t->name, $t->created_at?->format('Y-m-d'), $t->expires_at?->format('Y-m-d') ?? 'never', ])->all() ); return self::SUCCESS; } }