Skip to content

whiskyjs/bx-graphql-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лицензия

BX-GraphQL-API

Модуль, реализующий расширяемый API на GraphQL в БУС.

Требует PHP 7.1 или выше и Composer.

Является зависимостью bx-inspector.

Но зачем?

Помимо стандартных плюсов и минусов GraphQL по сравнению с, например, SOAP или JSON-RPC, модуль предоставляет фасады для методов библиотеки machaon/std, позволяющие элементарно реализовывать защищенный и типобезопасный двухсторонний обмен данными между различными площадками.

Например, это - локальный getList():

$rows = \Machaon\Std\IBlock\Element\Query::getList([
    "filter" => [
        "IBLOCK_ID" => 1,
        "ACTIVE" => "Y",
        "!PROPERTY_FLAG" => false,
    ],
    "page" => [
        "limit" => 10,
    ],
]);

А это - удалённый:

$rows = \WJS\API\Facade\Machaon\Std\IBlock\Element\Query::getList([
    "filter" => [
        "IBLOCK_ID" => 1,
        "ACTIVE" => "Y",
        "!PROPERTY_FLAG" => false,
    ],
    "page" => [
        "limit" => 10,
    ],
    "endpoint" => [
        "url" => "http://host",
        "login" => "username",
        "password" => 'pa$$w0rd',
    ],
]);

Схема GraphQL и набор фасадов будут расширяться по мере необходимости.

Установка

Находясь в bitrix/modules, вводим в терминале:

mkdir wjs.api && cd wjs.api && curl -L https://github.com/whiskyjs/bx-graphql-api/tarball/develop | tar xz && tmpdir=$(find . -maxdepth 1 -type d -name '[^.]?*' -printf %f -quit) && shopt -s dotglob && mv $tmpdir/* . && rmdir $tmpdir && composer install

Затем обычная установка через админку. Появится страница с опциями и GraphQL-запросом.

Лицензия

Apache 2.0.

About

GraphQL API в БУС

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published