Cache, authentication and request handlers for nalognl_megaplan
and nalognl_new_deal
WordPress plugins. These 2 plugins have common functionality, and in order to not repeat the same code in both plugins this package was created. It contains Megaplan authentication functionality, base 64 encoding and caching.
Load configurations in your boot file by calling load()
method. These parameters are required for package to work.
Also your WordPress plugin must have directories storage
and storage/cache
.
\Nalognl\MegaplanModule\Config::new()->load([
'plugin_path' => '/var/www/html/wp-content/plugins/nalognl_megaplan',
'cache_dir_path' => '/var/www/uploads/global-storage/cache',
'megaplan_host' => getenv('NNND_HOST'),
'megaplan_login' => getenv('NNND_LOGIN'),
'megaplan_password' => getenv('NNND_PASSWORD'),
'megaplan_hash_password' => getenv('NNND_MD5_HASH_PASSWORD'),
'megaplan_api1_auth_uri' => getenv('NNND_AUTH_URI'),
'megaplan_api3_auth_uri' => getenv('NNND_API3_AUTH_URI'),
]);
You need to have RequestMegaplan1.php and RequestMegaplan3.php for both APIs. They must extend Nalognl\MegaplanModule\Http\RequestMegaplan\RequestMegaplan
class, it gives you throwIfError()
and getEnvOrThrow()
methods, and most importantly request property with methods: post()
and get()
. Most of your methods in classes that extend RequestMegaplan will look something like that:
public function getOffers(array $data): array
{
$uri = $this->getEnvOrThrow('NNND_OFFERS_LIST_URI');
$res = $this->request->post($uri, $data);
$this->throwIfError($res, 'API1: При попытке взять товары с мегаплана');
return $res->data->offers;
}
To install the package you need to have Composer PHP package manager installed on your machine. Then you need to run the command below in the plugin directory.
composer require nalognl/megaplan-module