Initial code for preparing bunq import #714

This commit is contained in:
James Cole
2017-08-11 05:21:00 +02:00
parent 657d5e0d74
commit 90c8420a4c
7 changed files with 184 additions and 2 deletions

View File

@@ -0,0 +1,71 @@
<?php
/**
* BunqPrerequisites.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Import\Prerequisites;
use FireflyIII\User;
use Preferences;
/**
* Class BunqPrerequisites
*
* @package FireflyIII\Support\Import\Prerequisites
*/
class BunqPrerequisites implements PrerequisitesInterface
{
/** @var User */
private $user;
/**
* Returns view name that allows user to fill in prerequisites.
*
* @return string
*/
public function getView(): string
{
return 'import.bunq.prerequisites';
}
/**
* Returns any values required for the prerequisites-view.
*
* @return array
*/
public function getViewParameters(): array
{
return [];
}
/**
* Returns if this import method has any special prerequisites such as config
* variables or other things.
*
* @return bool
*/
public function hasPrerequisites(): bool
{
$apiKey = Preferences::getForUser($this->user, 'bunq_api_key', false);
return ($apiKey->data === false);
}
/**
* Set the user for this Prerequisites-routine. Class is expected to implement and save this.
*
* @param User $user
*/
public function setUser(User $user): void
{
$this->user = $user;
return;
}
}

View File

@@ -0,0 +1,47 @@
<?php
/**
* PrerequisitesInterface.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Support\Import\Prerequisites;
use FireflyIII\User;
interface PrerequisitesInterface
{
/**
* Set the user for this Prerequisites-routine. Class is expected to implement and save this.
*
* @param User $user
*/
public function setUser(User $user): void;
/**
* Returns view name that allows user to fill in prerequisites.
*
* @return string
*/
public function getView(): string;
/**
* Returns any values required for the prerequisites-view.
*
* @return array
*/
public function getViewParameters(): array;
/**
* Returns if this import method has any special prerequisites such as config
* variables or other things.
*
* @return bool
*/
public function hasPrerequisites(): bool;
}