11 lines
844 B
PHP
11 lines
844 B
PHP
<?php
|
|
namespace App\Console\Commands;
|
|
use App\Models\LicenseProduct;
|
|
use App\Services\Licensing\LicenseIssuer;
|
|
use Illuminate\Console\Command;
|
|
class RsyncStudioLicenseIssue extends Command
|
|
{
|
|
protected $signature='rsync-studio:license:issue {product} {--name=} {--email=}'; protected $description='Issue a manual Rsync Studio licence key';
|
|
public function handle(LicenseIssuer $issuer): int { $p=LicenseProduct::where('code',$this->argument('product'))->firstOrFail(); [$l,$key]=$issuer->issue($p,$this->option('name')?:null,$this->option('email')?:null); if(!$key){$this->warn('Licence already existed; plaintext key is intentionally not recoverable.');return self::FAILURE;} $this->line('Licence ID: '.$l->id);$this->line('Licence key: '.$key);$this->warn('This is the only time the plaintext key is shown.');return self::SUCCESS; }
|
|
}
|