Refactor to work with Json

This commit is contained in:
Matthew Shillam 2018-10-23 16:59:32 +01:00
parent a82b2aed99
commit 4ef8e9538b
1 changed files with 29 additions and 30 deletions

View File

@ -36,46 +36,45 @@ class BackupController extends Controller
*/
public function store($client_id, $schedule_name, Request $request)
{
$data = parse_duplicati_message($request['message']);
$current_time = Carbon::now()->toDateTimeString();
$begin_time = parse_duplicati_time($data['BeginTime']);
$end_time = parse_duplicati_time($data['EndTime']);
$response = json_decode( file_get_contents('php://input') );
$data = $response->Data;
$schedule = Schedule::updateOrCreate(
['client_id' => $client_id, 'name' => $schedule_name],
['last_backup_status' => $data['ParsedResult'], 'last_backup_time' => $current_time]
['last_backup_status' => $data->ParsedResult, 'last_backup_time' => $current_time]
);
// Create Backup DB entry
$backup = Backup::Create(array(
'schedule_id' => $schedule->id,
'schedule_name' => $schedule_name,
'status' => $data['ParsedResult'],
'deleted_files' => $data['DeletedFiles'],
'deleted_folders' => $data['DeletedFolders'],
'modified_files' => $data['ModifiedFiles'],
'examined_files' => $data['ExaminedFiles'],
'opened_files' => $data['OpenedFiles'],
'added_files' => $data['AddedFiles'],
'size_of_modified_files' => $data['SizeOfModifiedFiles'],
'size_of_added_files' => $data['SizeOfAddedFiles'],
'size_of_examined_files' => $data['SizeOfExaminedFiles'],
'size_of_opened_files' => $data['SizeOfOpenedFiles'],
'not_processed_files' => $data['NotProcessedFiles'],
'added_folders' => $data['AddedFolders'],
'too_large_files' => $data['TooLargeFiles'],
'files_with_error' => $data['FilesWithError'],
'modified_folders' => $data['ModifiedFolders'],
'modified_symlinks' => $data['ModifiedSymlinks'],
'added_symlinks' => $data['AddedSymlinks'],
'deleted_symlinks' => $data['DeletedSymlinks'],
'partial_backup' => $data['PartialBackup'],
'dryrun' => $data['Dryrun'],
'main_operation' => $data['MainOperation'],
'started_at' => $begin_time,
'finished_at' => $end_time,
'duration' => $data['Duration'],
'version' => $data['Version']
'status' => $data->ParsedResult,
'deleted_files' => $data->DeletedFiles,
'deleted_folders' => $data->DeletedFolders,
'modified_files' => $data->ModifiedFiles,
'examined_files' => $data->ExaminedFiles,
'opened_files' => $data->OpenedFiles,
'added_files' => $data->AddedFiles,
'size_of_modified_files' => $data->SizeOfModifiedFiles,
'size_of_added_files' => $data->SizeOfAddedFiles,
'size_of_examined_files' => $data->SizeOfExaminedFiles,
'size_of_opened_files' => $data->SizeOfOpenedFiles,
'not_processed_files' => $data->NotProcessedFiles,
'added_folders' => $data->AddedFolders,
'too_large_files' => $data->TooLargeFiles,
'files_with_error' => $data->FilesWithError,
'modified_folders' => $data->ModifiedFolders,
'modified_symlinks' => $data->ModifiedSymlinks,
'added_symlinks' => $data->AddedSymlinks,
'deleted_symlinks' => $data->DeletedSymlinks,
'partial_backup' => $data->PartialBackup,
'dryrun' => $data->Dryrun,
'main_operation' => $data->MainOperation,
'started_at' => date("Y-m-d\ G:i:s",strtotime($data->BeginTime)),
'finished_at' => date("Y-m-d\ G:i:s",strtotime($data->EndTime)),
'duration' => $data->Duration,
'version' => $data->Version
));
// notify client by email.