fix(ObjectStore): Use common S3 trait so config and connection trait members are in sync

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
pull/44252/head
Ferdinand Thiessen 3 months ago
parent a7dfec070a
commit 69c5e8ebde
No known key found for this signature in database
GPG Key ID: 45FAE7268762B400

@ -1419,6 +1419,7 @@ return array(
'OC\\Files\\ObjectStore\\ObjectStoreScanner' => $baseDir . '/lib/private/Files/ObjectStore/ObjectStoreScanner.php',
'OC\\Files\\ObjectStore\\ObjectStoreStorage' => $baseDir . '/lib/private/Files/ObjectStore/ObjectStoreStorage.php',
'OC\\Files\\ObjectStore\\S3' => $baseDir . '/lib/private/Files/ObjectStore/S3.php',
'OC\\Files\\ObjectStore\\S3ConfigTrait' => $baseDir . '/lib/private/Files/ObjectStore/S3ConfigTrait.php',
'OC\\Files\\ObjectStore\\S3ConnectionTrait' => $baseDir . '/lib/private/Files/ObjectStore/S3ConnectionTrait.php',
'OC\\Files\\ObjectStore\\S3ObjectTrait' => $baseDir . '/lib/private/Files/ObjectStore/S3ObjectTrait.php',
'OC\\Files\\ObjectStore\\S3Signature' => $baseDir . '/lib/private/Files/ObjectStore/S3Signature.php',

@ -1452,6 +1452,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
'OC\\Files\\ObjectStore\\ObjectStoreScanner' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/ObjectStoreScanner.php',
'OC\\Files\\ObjectStore\\ObjectStoreStorage' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/ObjectStoreStorage.php',
'OC\\Files\\ObjectStore\\S3' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/S3.php',
'OC\\Files\\ObjectStore\\S3ConfigTrait' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/S3ConfigTrait.php',
'OC\\Files\\ObjectStore\\S3ConnectionTrait' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/S3ConnectionTrait.php',
'OC\\Files\\ObjectStore\\S3ObjectTrait' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/S3ObjectTrait.php',
'OC\\Files\\ObjectStore\\S3Signature' => __DIR__ . '/../../..' . '/lib/private/Files/ObjectStore/S3Signature.php',

@ -0,0 +1,50 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2024 Ferdinand Thiessen <opensource@fthiessen.de>
*
* @author Ferdinand Thiessen <opensource@fthiessen.de>
*
* @license GNU AGPL-3.0-or-later
*
* 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 <http://www.gnu.org/licenses/>.
*
*/
namespace OC\Files\ObjectStore;
/**
* Shared configuration between ConnectionTrait and ObjectTrait to ensure both to be in sync
*/
trait S3ConfigTrait {
protected array $params;
protected string $bucket;
protected int $timeout;
protected string $proxy;
protected string $storageClass;
protected int $uploadPartSize;
private int $putSizeLimit;
private int $copySizeLimit;
private bool $useMultipartCopy = true;
}

@ -44,39 +44,13 @@ use OCP\ICertificateManager;
use Psr\Log\LoggerInterface;
trait S3ConnectionTrait {
/** @var array */
protected $params;
use S3ConfigTrait;
/** @var S3Client */
protected $connection;
protected string $id;
/** @var string */
protected $id;
protected ?S3Client $connection;
/** @var string */
protected $bucket;
/** @var int */
protected $timeout;
/** @var string */
protected $proxy;
/** @var string */
protected $storageClass;
/** @var int */
protected $uploadPartSize;
/** @var int */
private $putSizeLimit;
/** @var int */
private $copySizeLimit;
private bool $useMultipartCopy = true;
protected $test;
protected bool $test;
protected function parseParams($params) {
if (empty($params['bucket'])) {

@ -36,6 +36,8 @@ use OC\Files\Stream\SeekableHttpStream;
use Psr\Http\Message\StreamInterface;
trait S3ObjectTrait {
use S3ConfigTrait;
/**
* Returns the connection
*

Loading…
Cancel
Save