Files
sprinkle-worker/src/ServicesProvider/ServicesProvider.php
Craig Williams 119e932154 Added pages to view the list of potential jobs
TODO: add ability to run a job & view queued jobs
2023-05-31 16:23:18 +01:00

71 lines
2.0 KiB
PHP

<?php
/*
* AVSDev UF Worker (https://avsdev.uk)
*
* @link https://git.avsdev.uk/avsdev/sprinkle-worker
* @license https://git.avsdev.uk/avsdev/sprinkle-worker/blob/master/LICENSE.md (LGPL-3.0 License)
*/
namespace UserFrosting\Sprinkle\Worker\ServicesProvider;
use Illuminate\Container\Container;
use Psr\Container\ContainerInterface;
use Twig\Extra\Intl\IntlExtension;
use UserFrosting\Sprinkle\Worker\Worker\Worker;
use UserFrosting\Sprinkle\Core\ServicesProvider\BaseServicesProvider;
use UserFrosting\Sprinkle\Worker\Jobs\JobInspector;
/**
* Worker services provider.
*
* Registers core services for the Worker sprinkle.
*
* @author Craig Williams (https://avsdev.uk)
*/
class ServicesProvider
{
/**
* Register Worker's services.
*
* @param ContainerInterface $container A DI container implementing ArrayAccess and psr-container.
*/
public function register(ContainerInterface $container)
{
/*
* Extend the 'classMapper' service to register sprunje and model classes.
*
* @return \UserFrosting\Sprinkle\Core\Util\ClassMapper
*/
$container->extend('classMapper', function ($classMapper, $c) {
$classMapper->setClassMapping('queued_job', 'UserFrosting\Sprinkle\Worker\Database\Models\QueuedJob');
return $classMapper;
});
/*
* Return an instance of the job inspector
*
* @return \UserFrosting\Sprinkle\Worker\Jobs\JobInspector
*/
$container['jobInspector'] = function ($c) {
return new JobInspector($c);
};
/*
* Extends the 'view' service with the HasRole extension for Twig.
*
* @return \Slim\Views\Twig
*/
$container->extend('view', function ($view, $c) {
$twig = $view->getEnvironment();
if (!$twig->hasExtension('Twig\Extra\Intl\IntlExtension')) {
$twig->addExtension(new IntlExtension());
}
return $view;
});
}
}