Closed h4kuna closed 8 years ago
Také bych ocenil. Mohu i implementovat, ale potřebuji nakopnout, jakým způsobem to realizovat.
V neposlední řadě
větev multi-accounts
Prozatím jsem to provizorně vyřešil přímo v kódu, ale přijde mi to moc ukecané:
$queue = new Fio\Request\Queue($this->getHelper('container')->getContainer()->parameters['tempDir'].'/fio');
$statementFactory = new Fio\Response\Read\JsonStatementFactory();
foreach ($accounts as $account)
{
$context = new Fio\Utils\Context($account->api_token, $queue);
$fioRead = new Fio\FioRead($context, $statementFactory);
}
Přijde mi celý ten koncept nastavování pomocí extension zbytečně složitý. Raději bych to viděl jako service a o zbytek ať se postará autoloading. Nebo mít jako extension třeba jen nějaký context, ale bez závislosti na konkrétním tokenu. Účty mám v db, tak je tam potřebuju nějak dostat z modelu, např. takto:
services:
fioReader: h4kuna\Fio\FioRead( @bankAccountRepository::getFioAccounts() )
Pokud bych to chtěl nastavovat v configu, tak mi aliasy asi k ničemu nebudou, ale to je čistě subjektivní.
Trochu je mi také záhadou proč se "stahovač" jmenuje Queue, to mi přijde zavádějící. Nazval bych to raději např. CurlHttpClient
a tu závislost na Kdyby\Curl
bych raději viděl jako nepovinnou, používám spíš Guzzle.
Rozumím že pro stahování ti jsou aliasy k ničemu, protože chceš stáhnout všechny, ale když mám definovanou nějakou sadu účtů tak, když to použiju pro platbu tak musím zvolit jakým účtem budu platit.
Mě by se líbilo kdyby se účty uložili do třídy kde budou v kolekci, tím ty můžeš takovou kolekci předat z modelu. A pokud to nebude definovaný tak se vyrobí nějaká defaultní.
Ok Queue má zjišťovat zda je možné poslat request na čtení nebo platbu, ale ok může se přejmenovat, ale tím tedy bude potřeba definovat nějaké rozhraní aby to nebylo závislé na Kdyby ani Guzzle.
Každý účet má unikátní token a může mít víc tokenů, nikoliv jeden token nemůže být k více účtům, nebo se pletu?
IHttpClient
a v defaultu mít přímo v balíku jen HttpClient
používající file_get_contents
. Ten CurlHttpClient
bych pak vyčlenil do samostatného balíku fio-httpclient-curl
nebo fio-httpclient-guzzle
, ať se každý rozhodne sám, co tam chce, ale funguje to i bez toho.Také mě napadlo zda tu DI extension nevyčlenit do samostatného balíku fio-nette
se závislostí na základní balík. Bylo by fajn, kdyby to šlo používat i samostatně.
Jinak bych tu debatu možná přesunul někam online, jabber damien@jabber.cz nebo skype tomas.jacik
Možnost přidat token jinak než přes config.