| | <?php |
| |
|
| | namespace Kanboard\ServiceProvider; |
| |
|
| | use Kanboard\Core\Cache\FileCache; |
| | use Kanboard\Core\Cache\MemoryCache; |
| | use Kanboard\Decorator\ColumnMoveRestrictionCacheDecorator; |
| | use Kanboard\Decorator\ColumnRestrictionCacheDecorator; |
| | use Kanboard\Decorator\MetadataCacheDecorator; |
| | use Kanboard\Decorator\ProjectRoleRestrictionCacheDecorator; |
| | use Kanboard\Decorator\UserCacheDecorator; |
| | use Pimple\Container; |
| | use Pimple\ServiceProviderInterface; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class CacheProvider implements ServiceProviderInterface |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function register(Container $container) |
| | { |
| | $container['memoryCache'] = function() { |
| | return new MemoryCache(); |
| | }; |
| |
|
| | if (CACHE_DRIVER === 'file') { |
| | $container['cacheDriver'] = function() { |
| | return new FileCache(); |
| | }; |
| | } else { |
| | $container['cacheDriver'] = $container['memoryCache']; |
| | } |
| |
|
| | $container['userCacheDecorator'] = function($c) { |
| | return new UserCacheDecorator( |
| | $c['memoryCache'], |
| | $c['userModel'] |
| | ); |
| | }; |
| |
|
| | $container['userMetadataCacheDecorator'] = function($c) { |
| | return new MetadataCacheDecorator( |
| | $c['cacheDriver'], |
| | $c['userMetadataModel'], |
| | 'user.metadata.', |
| | $c['userSession']->getId() |
| | ); |
| | }; |
| |
|
| | $container['columnMoveRestrictionCacheDecorator'] = function($c) { |
| | return new ColumnMoveRestrictionCacheDecorator( |
| | $c['memoryCache'], |
| | $c['columnMoveRestrictionModel'] |
| | ); |
| | }; |
| |
|
| | $container['columnRestrictionCacheDecorator'] = function($c) { |
| | return new ColumnRestrictionCacheDecorator( |
| | $c['memoryCache'], |
| | $c['columnRestrictionModel'] |
| | ); |
| | }; |
| |
|
| | $container['projectRoleRestrictionCacheDecorator'] = function($c) { |
| | return new ProjectRoleRestrictionCacheDecorator( |
| | $c['memoryCache'], |
| | $c['projectRoleRestrictionModel'] |
| | ); |
| | }; |
| |
|
| | return $container; |
| | } |
| | } |
| |
|