firefly-iii/app/Import/Setup/SetupInterface.php

85 lines
1.9 KiB
PHP
Raw Normal View History

2016-08-05 23:21:25 -05:00
<?php
/**
2016-08-05 23:21:46 -05:00
* SetupInterface.php
2016-08-05 23:21:25 -05:00
* Copyright (C) 2016 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
declare(strict_types = 1);
2016-08-05 23:21:46 -05:00
namespace FireflyIII\Import\Setup;
2016-08-05 23:21:25 -05:00
use FireflyIII\Import\Role\Map;
use FireflyIII\Models\ImportJob;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\FileBag;
/**
2016-08-05 23:21:46 -05:00
* Interface SetupInterface
2016-08-05 23:21:25 -05:00
*
2016-08-05 23:21:46 -05:00
* @package FireflyIII\Import\Setup
2016-08-05 23:21:25 -05:00
*/
2016-08-05 23:21:46 -05:00
interface SetupInterface
2016-08-05 23:21:25 -05:00
{
/**
* After uploading, and after setJob(), prepare anything that is
* necessary for the configure() line.
*
* @return bool
*/
public function configure(): bool;
/**
* Returns any data necessary to do the configuration.
*
* @return array
*/
public function getConfigurationData(): array;
/**
* This method returns the data required for the view that will let the user add settings to the import job.
*
* @return array
*/
public function getDataForSettings(): array;
/**
* Store the settings filled in by the user, if applicable.
*
* @param Request $request
*
*/
public function storeSettings(Request $request);
/**
* This method returns the name of the view that will be shown to the user to further configure
* the import job.
*
* @return string
*/
public function getViewForSettings(): string;
/**
* This method returns whether or not the user must configure this import
* job further.
*
* @return bool
*/
public function requireUserSettings(): bool;
/**
* @param array $data
*
* @return bool
*/
public function saveImportConfiguration(array $data, FileBag $files): bool;
/**
* @param ImportJob $job
*
*/
public function setJob(ImportJob $job);
}