mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-31 19:27:51 -06:00
85 lines
1.9 KiB
PHP
85 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* SetupInterface.php
|
|
* 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);
|
|
|
|
namespace FireflyIII\Import\Setup;
|
|
|
|
use FireflyIII\Import\Role\Map;
|
|
use FireflyIII\Models\ImportJob;
|
|
use Illuminate\Http\Request;
|
|
use Symfony\Component\HttpFoundation\FileBag;
|
|
|
|
/**
|
|
* Interface SetupInterface
|
|
*
|
|
* @package FireflyIII\Import\Setup
|
|
*/
|
|
interface SetupInterface
|
|
{
|
|
|
|
/**
|
|
* 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);
|
|
} |