mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-04 07:22:34 +00:00
wip
This commit is contained in:
29
app/Cli/Commands/Projects/ProjectsListCommand.php
Normal file
29
app/Cli/Commands/Projects/ProjectsListCommand.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Cli\Commands\Projects;
|
||||
|
||||
use App\Cli\Commands\AbstractCommand;
|
||||
use App\Models\Project;
|
||||
|
||||
use function Laravel\Prompts\table;
|
||||
|
||||
class ProjectsListCommand extends AbstractCommand
|
||||
{
|
||||
protected $signature = 'projects:list';
|
||||
|
||||
protected $description = 'Show projects list';
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$projects = Project::all();
|
||||
|
||||
table(
|
||||
headers: ['ID', 'Name', 'Selected'],
|
||||
rows: $projects->map(fn (Project $project) => [
|
||||
$project->id,
|
||||
$project->name,
|
||||
$project->id === $this->user()->current_project_id ? 'Yes' : 'No',
|
||||
])->toArray(),
|
||||
);
|
||||
}
|
||||
}
|
35
app/Cli/Commands/Projects/ProjectsSelectCommand.php
Normal file
35
app/Cli/Commands/Projects/ProjectsSelectCommand.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Cli\Commands\Projects;
|
||||
|
||||
use App\Cli\Commands\AbstractCommand;
|
||||
use App\Models\Project;
|
||||
|
||||
use function Laravel\Prompts\error;
|
||||
use function Laravel\Prompts\info;
|
||||
|
||||
class ProjectsSelectCommand extends AbstractCommand
|
||||
{
|
||||
protected $signature = 'projects:select {project}';
|
||||
|
||||
protected $description = 'Select a project';
|
||||
|
||||
public function handle(): void
|
||||
{
|
||||
$project = Project::query()->find($this->argument('project'));
|
||||
|
||||
if (! $project) {
|
||||
error('The project does not exist');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->user()->update([
|
||||
'current_project_id' => $project->id,
|
||||
]);
|
||||
|
||||
info(__('The project [:project] has been selected' , [
|
||||
'project' => $project->name,
|
||||
]));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user