Looking to hire Laravel developers? Try LaraJobs

sdk-laravel maintained by fusio

Description
SDK to integrate Fusio into your Laravel application
Last update
2022/08/16 13:36 (dev-main)
License
Downloads
20
Tags

Comments
comments powered by Disqus

Fusio SDK Laravel

This library integrates the Fusio SDK into Laravel. That means you can control the complete Fusio backend API through your laravel application. There is also a Laravel sample application which shows how to use this SDK.

Configuration

In order to access the API you need to provide a base_uri, app_key and app_secret at the config. By default, we load this data from the config.

Usage

Backend

Create an action:


$config = new \Fusio\Sdk\Backend\Action_Config();
$config['response'] = \json_encode(['hello' => 'world']);

$action = new \Fusio\Sdk\Backend\Action_Create();
$action->setName('my-new-action');
$action->setClass('Fusio\Adapter\Util\Action\UtilStaticResponse');
$action->setConfig($config);

$response = FusioClient::backend()->getBackendAction()->backendActionActionCreate($action);

echo $response->getMessage() . "\n";

Create an app:


$app = new \Fusio\Sdk\Backend\App_Create();
$app->setStatus(1);
$app->setUserId(1);
$app->setName('my-new-action');
$app->setUrl('https://myapp.com');
$app->setScopes(['foo', 'bar']);

$response = FusioClient::backend()->getBackendApp()->backendActionAppCreate($app);

echo $response->getMessage() . "\n";

Create a route:


$get = new \Fusio\Sdk\Backend\Route_Method();
$get->setActive(true);
$get->setPublic(true);
$get->setDescription('My GET description');
$get->setOperationId('my_get_operation_id');
$get->setResponse('My_Response_Schema');
$get->setAction('My_Action');

$methods = new \Fusio\Sdk\Backend\Route_Methods();
$methods['GET'] = $get;

$version = new \Fusio\Sdk\Backend\Route_Version();
$version->setVersion(1);
$version->setStatus(1);
$version->setMethods($methods);

$route = new \Fusio\Sdk\Backend\Route_Create();
$route->setPath('/new/path');
$route->setController('Fusio\Impl\Controller\SchemaApiController');
$route->setConfig([$version]);

$response = FusioClient::backend()->getBackendRoutes()->backendActionRouteCreate($route);

echo $response->getMessage() . "\n";

Get routes:


$entries = FusioClient::backend()->getBackendRoutes()->backendActionRouteGetAll(null)->getEntry();

foreach ($entries as $entry) {
    echo $entry->getPath() . "\n";
}

Consumer

Change password:


$changePassword = new \Fusio\Sdk\Consumer\Account_ChangePassword();
$changePassword->setOldPassword('test1234');
$changePassword->setNewPassword('test1234!');
$changePassword->setVerifyPassword('test1234!');

$response = FusioClient::consumer()->getConsumerAccountChangePassword()->consumerActionUserChangePassword($changePassword);

echo $response->getMessage() . "\n";