You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.9 KiB
84 lines
1.9 KiB
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requests\Backups\CreateRequest;
|
|
use App\Http\Requests\Backups\BackupUploadRequest;
|
|
use App\Http\Requests\Backups\DeleteRequest;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Entities\Backups\BackupsRepository;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
class BackupsController extends Controller {
|
|
|
|
private $repo;
|
|
|
|
public function __construct(BackupsRepository $repo)
|
|
{
|
|
$this->repo = $repo;
|
|
}
|
|
|
|
public function index(Request $req)
|
|
{
|
|
$backups = $this->repo->getAllFiles();
|
|
return view('backups.index',compact('backups'));
|
|
}
|
|
|
|
public function restore($fileName)
|
|
{
|
|
return view('backups.restore', compact('fileName'));
|
|
}
|
|
|
|
public function postRestore(Request $req, $fileName)
|
|
{
|
|
$result = $this->repo->restore($fileName);
|
|
|
|
if ($result)
|
|
flash()->success('Database berhasil dikembalikan dengan file ' . $fileName);
|
|
|
|
return redirect()->route('backups.index');
|
|
}
|
|
|
|
public function store(CreateRequest $req)
|
|
{
|
|
$fileName = $this->repo->create($req->except('_token'));
|
|
|
|
if ($fileName)
|
|
flash()->success('Backup berhasil dilakukan, nama File : ' . $fileName);
|
|
|
|
return redirect()->route('backups.index');
|
|
}
|
|
|
|
public function delete($fileName)
|
|
{
|
|
return view('backups.delete', compact('fileName'));
|
|
}
|
|
|
|
public function destroy(Request $req, $fileName)
|
|
{
|
|
$result = $this->repo->delete($fileName);
|
|
|
|
if ($result)
|
|
flash()->success('File ' . $fileName . ' berhasil dihapus.');
|
|
else
|
|
flash()->error('File ' . $fileName . ' gagal dihapus.');
|
|
|
|
return redirect()->route('backups.index');
|
|
}
|
|
|
|
public function upload(BackupUploadRequest $req)
|
|
{
|
|
$result = $this->repo->proccessBackupFileUpload($req);
|
|
if ($result)
|
|
flash()->success('Upload file berhasil.');
|
|
|
|
return redirect()->route('backups.index');
|
|
}
|
|
|
|
public function download($fileName)
|
|
{
|
|
return response()->download(storage_path('app') . '/backup/db/'.$fileName);
|
|
}
|
|
|
|
}
|