!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/laravel-crm/vendor/prettus/l5-repository/src/Prettus/Repository/Generators/Commands/   drwxrwxrwx
Free 13.16 GB of 57.97 GB (22.7%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     RepositoryCommand.php (4.8 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Prettus\Repository\Generators\Commands;

use 
Illuminate\Console\Command;
use 
Illuminate\Support\Collection;
use 
Illuminate\Support\Str;
use 
Prettus\Repository\Generators\FileAlreadyExistsException;
use 
Prettus\Repository\Generators\MigrationGenerator;
use 
Prettus\Repository\Generators\ModelGenerator;
use 
Prettus\Repository\Generators\RepositoryEloquentGenerator;
use 
Prettus\Repository\Generators\RepositoryInterfaceGenerator;
use 
Symfony\Component\Console\Input\InputArgument;
use 
Symfony\Component\Console\Input\InputOption;

/**
 * Class RepositoryCommand
 * @package Prettus\Repository\Generators\Commands
 * @author Anderson Andrade <contato@andersonandra.de>
 */
class RepositoryCommand extends Command
{

    
/**
     * The name of command.
     *
     * @var string
     */
    
protected $name 'make:repository';

    
/**
     * The description of command.
     *
     * @var string
     */
    
protected $description 'Create a new repository.';

    
/**
     * The type of class being generated.
     *
     * @var string
     */
    
protected $type 'Repository';

    
/**
     * @var Collection
     */
    
protected $generators null;


    
/**
     * Execute the command.
     *
     * @see fire()
     * @return void
     */
    
public function handle(){
        
$this->laravel->call([$this'fire'], func_get_args());
    }

    
/**
     * Execute the command.
     *
     * @return void
     */
    
public function fire()
    {
        
$this->generators = new Collection();

        
$migrationGenerator = new MigrationGenerator([
            
'name'   => 'create_' Str::snake(Str::plural($this->argument('name'))) . '_table',
            
'fields' => $this->option('fillable'),
            
'force'  => $this->option('force'),
        ]);

        if (!
$this->option('skip-migration')) {
            
$this->generators->push($migrationGenerator);
        }

        
$modelGenerator = new ModelGenerator([
            
'name'     => $this->argument('name'),
            
'fillable' => $this->option('fillable'),
            
'force'    => $this->option('force')
        ]);

        if (!
$this->option('skip-model')) {
            
$this->generators->push($modelGenerator);
        }

        
$this->generators->push(new RepositoryInterfaceGenerator([
            
'name'  => $this->argument('name'),
            
'force' => $this->option('force'),
        ]));

        foreach (
$this->generators as $generator) {
            
$generator->run();
        }

        
$model $modelGenerator->getRootNamespace() . '\\' $modelGenerator->getName();
        
$model str_replace([
            
"\\",
            
'/'
        
], '\\'$model);

        try {
            (new 
RepositoryEloquentGenerator([
                
'name'      => $this->argument('name'),
                
'rules'     => $this->option('rules'),
                
'validator' => $this->option('validator'),
                
'force'     => $this->option('force'),
                
'model'     => $model
            
]))->run();
            
$this->info("Repository created successfully.");
        } catch (
FileAlreadyExistsException $e) {
            
$this->error($this->type ' already exists!');

            return 
false;
        }
    }


    
/**
     * The array of command arguments.
     *
     * @return array
     */
    
public function getArguments()
    {
        return [
            [
                
'name',
                
InputArgument::REQUIRED,
                
'The name of class being generated.',
                
null
            
],
        ];
    }


    
/**
     * The array of command options.
     *
     * @return array
     */
    
public function getOptions()
    {
        return [
            [
                
'fillable',
                
null,
                
InputOption::VALUE_OPTIONAL,
                
'The fillable attributes.',
                
null
            
],
            [
                
'rules',
                
null,
                
InputOption::VALUE_OPTIONAL,
                
'The rules of validation attributes.',
                
null
            
],
            [
                
'validator',
                
null,
                
InputOption::VALUE_OPTIONAL,
                
'Adds validator reference to the repository.',
                
null
            
],
            [
                
'force',
                
'f',
                
InputOption::VALUE_NONE,
                
'Force the creation if file already exists.',
                
null
            
],
            [
                
'skip-migration',
                
null,
                
InputOption::VALUE_NONE,
                
'Skip the creation of a migration file.',
                
null,
            ],
            [
                
'skip-model',
                
null,
                
InputOption::VALUE_NONE,
                
'Skip the creation of a model.',
                
null,
            ],
        ];
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0049 ]--