• Dev
  • Config() not working on plugin

Config() Function is not working here’s my code:

in Controller :

   $keys = Integration::where('name', '=', 'parasut')->first()->keys;
        $keys = (object)json_decode($keys);
        $clientID = $keys->client_id;
        $clientSecret = $keys->client_secret;
        $email = $keys->email;
        $password = $keys->password;
        $redirectUri = 'urn:ietf:wg:oauth:2.0:oob';
        config(['plugins.parasut.integration.parasut.PARASUT_USERNAME'=>$email]);
        config(['plugins.parasut.integration.parasut.PARASUT_PASSWORD'=>$password]);
        config(['plugins.parasut.integration.parasut.PARASUT_REDIRECT_URI'=>$redirectUri]);
        config(['plugins.parasut.integration.parasut.PARASUT_CLIENT_ID'=>$clientID]);
        config(['plugins.parasut.integration.parasut.PARASUT_CLIENT_SECRET'=>$clientSecret]);`

And Config File (Plugins/Parasut/Config/integration.php)

 return [
    "parasut" => [
        "PARASUT_USERNAME" => "",
        "PARASUT_PASSWORD" => "",
        "PARASUT_COMPANY_ID" => "",
        "PARASUT_CLIENT_ID" => "",
        "PARASUT_CLIENT_SECRET" => "",
        "PARASUT_REDIRECT_URI" => "",
    ]

] ;

Use :

 return [
    'username' => config('plugins.parasut.integration.parasut.PARASUT_USERNAME'),
    'password' => config('plugins.parasut.integration.parasut.PARASUT_PASSWORD'),
    'company_id' => config('plugins.parasut.integration.parasut.PARASUT_COMPANY_ID'),
    'client_id' => config('plugins.parasut.integration.parasut.PARASUT_CLIENT_ID'),
    'client_secret' => config('plugins.parasut.integration.parasut.PARASUT_CLIENT_SECRET'),
    'redirect_uri' => config('plugins.parasut.integration.parasut.PARASUT_REDIRECT_URI'),
    'api_url' => config('plugins.parasut.integration.parasut.PARASUT_API_URL', 'https://api.parasut.com/v4/'),
]; 

I cleared all cache data.
But I’m getting a null value

What am I doing wrong?

Botble

Here’s my provider. Still not working

<?php

namespace Botble\Parasut\Providers;

use Botble\Base\Supports\ServiceProvider;
use Botble\Base\Traits\LoadAndPublishDataTrait;
use Botble\Base\Facades\DashboardMenu;
use Botble\Parasut\Models\Parasut;

class ParasutServiceProvider extends ServiceProvider
{
    use LoadAndPublishDataTrait;

    public function boot(): void
    {
        if (!is_plugin_active('integration')) {
            return;
        }

        $this->setNamespace('plugins/parasut')
            ->loadHelpers()
            ->loadAndPublishConfigurations(['permissions','integration'])
            ->loadRoutes()
            ->loadAndPublishViews()
            ->publishAssets();

        $this->app->register(HookServiceProvider::class);
    }
}

I noticed that it just doesn’t work in the my src file(in the controller it’s work). There could be several different reasons for this. I will use a different way.