]> git.mxchange.org Git - friendica.git/commitdiff
Move KeyValuePairStorage to strategies
authorPhilipp <admin@philipp.info>
Sun, 23 Jul 2023 01:15:59 +0000 (03:15 +0200)
committerPhilipp <admin@philipp.info>
Wed, 26 Jul 2023 17:18:09 +0000 (19:18 +0200)
src/Core/KeyValueStorage/Factory/KeyValueStorage.php [new file with mode: 0644]
src/Core/Lock/Type/AbstractLock.php
static/dependencies.config.php
static/strategies.config.php

diff --git a/src/Core/KeyValueStorage/Factory/KeyValueStorage.php b/src/Core/KeyValueStorage/Factory/KeyValueStorage.php
new file mode 100644 (file)
index 0000000..1bce84f
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace Friendica\Core\KeyValueStorage\Factory;
+
+use Friendica\Core\Hooks\Capabilities\ICanCreateInstances;
+use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
+
+class KeyValueStorage
+{
+       public function create(ICanCreateInstances $instanceCreator): IManageKeyValuePairs
+       {
+               /** @var IManageKeyValuePairs */
+               return $instanceCreator->create(IManageKeyValuePairs::class, '');
+       }
+}
index 3c47c0171a95fd774ff7df168409a7225e590d64..25eb47fe91c1e4cb80a3ff96dc4d47b75c2795bd 100644 (file)
@@ -36,7 +36,7 @@ abstract class AbstractLock implements ICanLock
        /**
         * Check if we've locally acquired a lock
         *
-        * @param string key The Name of the lock
+        * @param string $key The Name of the lock
         *
         * @return bool      Returns true if the lock is set
         */
index c3f30ad8d3076ce33906b6fad98c75b9de756fba..9c1ead90530cfd75c5fa92bf0e2ed0d8e5820cc3 100644 (file)
@@ -291,7 +291,10 @@ return [
                ],
        ],
        \Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs::class => [
-               'instanceOf' => \Friendica\Core\KeyValueStorage\Type\DBKeyValueStorage::class,
+               'instanceOf' => \Friendica\Core\KeyValueStorage\Factory\KeyValueStorage::class,
+               'call' => [
+                       ['create', [], Dice::CHAIN_CALL],
+               ],
        ],
        Network\HTTPClient\Capability\ICanSendHttpRequests::class => [
                'instanceOf' => Network\HTTPClient\Factory\HttpClient::class,
index 5d84a7e47fc125313e868eb4a4924aef5179281a..35afe2e5128fafaa8241a8faf4f0805d7b43991c 100644 (file)
@@ -21,6 +21,7 @@
 
 use Friendica\Core\Cache;
 use Friendica\Core\Logger\Type;
+use Friendica\Core\KeyValueStorage;
 use Psr\Log;
 
 return [
@@ -35,5 +36,8 @@ return [
                Cache\Type\MemcacheCache::class  => ['memcache'],
                Cache\Type\MemcachedCache::class => ['memcached'],
                Cache\Type\RedisCache::class     => ['redis'],
-       ]
+       ],
+       KeyValueStorage\Capabilities\IManageKeyValuePairs::class => [
+               KeyValueStorage\Type\DBKeyValueStorage::class => ['database', ''],
+       ],
 ];