shlinkio /
shlink
| 1 | <?php |
||
| 2 | |||
| 3 | declare(strict_types=1); |
||
| 4 | |||
| 5 | use Laminas\ServiceManager\AbstractFactory\ConfigAbstractFactory; |
||
| 6 | use Shlinkio\Shlink\Common\Cache\RedisFactory; |
||
| 7 | use Shlinkio\Shlink\Common\Lock\RetryLockStoreDelegatorFactory; |
||
| 8 | use Shlinkio\Shlink\Common\Logger\LoggerAwareDelegatorFactory; |
||
| 9 | use Symfony\Component\Lock; |
||
| 10 | |||
| 11 | use const Shlinkio\Shlink\Core\LOCAL_LOCK_FACTORY; |
||
|
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
| 12 | |||
| 13 | return [ |
||
| 14 | |||
| 15 | 'locks' => [ |
||
| 16 | 'locks_dir' => __DIR__ . '/../../data/locks', |
||
| 17 | ], |
||
| 18 | |||
| 19 | 'dependencies' => [ |
||
| 20 | 'factories' => [ |
||
| 21 | Lock\Store\FlockStore::class => ConfigAbstractFactory::class, |
||
| 22 | Lock\Store\RedisStore::class => ConfigAbstractFactory::class, |
||
| 23 | Lock\LockFactory::class => ConfigAbstractFactory::class, |
||
| 24 | LOCAL_LOCK_FACTORY => ConfigAbstractFactory::class, |
||
| 25 | ], |
||
| 26 | 'aliases' => [ |
||
| 27 | // With this config, a user could alias 'lock_store' => 'redis_lock_store' to override the default |
||
| 28 | 'lock_store' => 'local_lock_store', |
||
| 29 | |||
| 30 | 'redis_lock_store' => Lock\Store\RedisStore::class, |
||
| 31 | 'local_lock_store' => Lock\Store\FlockStore::class, |
||
| 32 | ], |
||
| 33 | 'delegators' => [ |
||
| 34 | Lock\Store\RedisStore::class => [ |
||
| 35 | RetryLockStoreDelegatorFactory::class, |
||
| 36 | ], |
||
| 37 | Lock\LockFactory::class => [ |
||
| 38 | LoggerAwareDelegatorFactory::class, |
||
| 39 | ], |
||
| 40 | ], |
||
| 41 | ], |
||
| 42 | |||
| 43 | ConfigAbstractFactory::class => [ |
||
| 44 | Lock\Store\FlockStore::class => ['config.locks.locks_dir'], |
||
| 45 | Lock\Store\RedisStore::class => [RedisFactory::SERVICE_NAME], |
||
| 46 | Lock\LockFactory::class => ['lock_store'], |
||
| 47 | LOCAL_LOCK_FACTORY => ['local_lock_store'], |
||
| 48 | ], |
||
| 49 | |||
| 50 | ]; |
||
| 51 |