shadoll/ivy

Library for Marketplaces

v1.0.0 2020-02-29 11:53 UTC

This package is auto-updated.

Last update: 2024-10-29 05:47:16 UTC


README

Latest Stable Version pipeline status coverage report License

Library for MarketPlaces

Сервис соединяющий маркетплейсы

2020-02-29

Install

composer require shadoll/ivy

us

В продуктах laravel/lumen можно подключить сервис провайдер Ivy\Lara\Providers\ServiceProvider в конфиг configs/app.php laravel или bootstrap/app.php lumen. Создать Свой Middleware наследуясь от Ivy\Lara\Middleware\BaseAuthBurdock и подключить на ваш роутинг или jobs где вам необходимо.

Перед использованием Сервиса Ivy необходимо зареестрировать адаптеры с которыми будете работать Это можно сделать в вашем Middleware


$service = new IvyService();
// регистрация адаптеров
$service->initAdapters([
    \Ivy\Adapters\Crocus\OrdersAdapter::class,
    \Ivy\Adapters\Riccia\OrdersAdapter::class,
], 'orders');
// добавить адаптер
$service->pushAdapter('any\Adapter\Class', 'orders');
// удалить адаптер
$service->removeAdapter(\Ivy\Adapters\Riccia\OrdersAdapter::class);

// Получить необходимый адаптер для данных с маркетплейсов 
// Возвращает Коллекцию адаптеров Обьект интерфейса
// Для orders
$clientRiccia = new \Riccia\Client([
   "username" => "login",
   "password" => "pass...",
]);
/**
 * @var \Illuminate\Support\Collection<\Ivy\Contracts\BeOrdersAdapter> $adapters
 **/
$adapters = $service->orders($clientRiccia->orders->get()); // вторым параметром можно передать клиент (опционально)
$adapters = $service->orders($clientRiccia->orders->get(), $clientRiccia);