. */ namespace FireflyIII\Console\Commands; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Services\Internal\File\EncryptService; use Illuminate\Console\Command; /** * Class EncryptFile. */ class EncryptFile extends Command { /** * The console command description. * * @var string */ protected $description = 'Encrypts a file and places it in the storage/upload directory.'; /** * The name and signature of the console command. * * @var string */ protected $signature = 'firefly:encrypt-file {file} {key}'; /** * Execute the console command. * * @throws \Illuminate\Contracts\Encryption\EncryptException */ public function handle(): int { $code = 0; $file = (string)$this->argument('file'); $key = (string)$this->argument('key'); /** @var EncryptService $service */ $service = app(EncryptService::class); try { $service->encrypt($file, $key); } catch (FireflyException $e) { $this->error($e->getMessage()); $code = 1; } return $code; } }