feat: Add AdminRemoveUser command to remove users from the database
This commit is contained in:
		
							
								
								
									
										54
									
								
								app/Console/Commands/AdminRemoveUser.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								app/Console/Commands/AdminRemoveUser.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace App\Console\Commands;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Models\Server;
 | 
				
			||||||
 | 
					use App\Models\User;
 | 
				
			||||||
 | 
					use Illuminate\Console\Command;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class AdminRemoveUser extends Command
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * The name and signature of the console command.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @var string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    protected $signature = 'admin:remove-user {email}';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * The console command description.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @var string
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    protected $description = 'Remove User from database';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Execute the console command.
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function handle()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					            $email = $this->argument('email');
 | 
				
			||||||
 | 
					            $confirm = $this->confirm('Are you sure you want to remove user with email: ' . $email . '?');
 | 
				
			||||||
 | 
					            if (!$confirm) {
 | 
				
			||||||
 | 
					                $this->info('User removal cancelled.');
 | 
				
			||||||
 | 
					                return;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            $this->info("Removing user with email: $email");
 | 
				
			||||||
 | 
					            $user = User::whereEmail($email)->firstOrFail();
 | 
				
			||||||
 | 
					            $teams = $user->teams;
 | 
				
			||||||
 | 
					            foreach ($teams as $team) {
 | 
				
			||||||
 | 
					                if ($team->members->count() > 1) {
 | 
				
			||||||
 | 
					                    $this->error('User is a member of a team with more than one member. Please remove user from team first.');
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                $team->delete();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            $user->delete();
 | 
				
			||||||
 | 
					        } catch (\Exception $e) {
 | 
				
			||||||
 | 
					            $this->error('Failed to remove user.');
 | 
				
			||||||
 | 
					            $this->error($e->getMessage());
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
<?php
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace App\Console\Commands;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
use App\Models\Server;
 | 
					 | 
				
			||||||
use Illuminate\Console\Command;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Cloud extends Command
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * The name and signature of the console command.
 | 
					 | 
				
			||||||
     *
 | 
					 | 
				
			||||||
     * @var string
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    protected $signature = 'cloud:unused-servers';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * The console command description.
 | 
					 | 
				
			||||||
     *
 | 
					 | 
				
			||||||
     * @var string
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    protected $description = 'Get Unused Servers from Cloud';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * Execute the console command.
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    public function handle()
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        Server::all()->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended',true)->each(function($server){
 | 
					 | 
				
			||||||
            $this->info($server->name);
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -29,7 +29,6 @@ class RootResetPassword extends Command
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    public function handle()
 | 
					    public function handle()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        //
 | 
					 | 
				
			||||||
        $this->info('You are about to reset the root password.');
 | 
					        $this->info('You are about to reset the root password.');
 | 
				
			||||||
        $password = password('Give me a new password for root user: ');
 | 
					        $password = password('Give me a new password for root user: ');
 | 
				
			||||||
        $passwordAgain = password('Again');
 | 
					        $passwordAgain = password('Again');
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,6 @@ class All extends Component
 | 
				
			|||||||
        if ($this->resource->type() == 'service') {
 | 
					        if ($this->resource->type() == 'service') {
 | 
				
			||||||
            $this->containerNames = $this->resource->applications()->pluck('name');
 | 
					            $this->containerNames = $this->resource->applications()->pluck('name');
 | 
				
			||||||
            $this->containerNames = $this->containerNames->merge($this->resource->databases()->pluck('name'));
 | 
					            $this->containerNames = $this->containerNames->merge($this->resource->databases()->pluck('name'));
 | 
				
			||||||
            ray($this->containerNames);
 | 
					 | 
				
			||||||
        } elseif ($this->resource->type() == 'application') {
 | 
					        } elseif ($this->resource->type() == 'application') {
 | 
				
			||||||
            if ($this->resource->build_pack === 'dockercompose') {
 | 
					            if ($this->resource->build_pack === 'dockercompose') {
 | 
				
			||||||
                $parsed = $this->resource->parseCompose();
 | 
					                $parsed = $this->resource->parseCompose();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user