refactor: remove standalone compat bridge modules (#3740)

This commit is contained in:
Zhengchao An
2026-06-22 17:35:58 +08:00
committed by GitHub
parent b63b076275
commit 539c68778d
26 changed files with 524 additions and 593 deletions
+1 -1
View File
@@ -14,8 +14,8 @@
//! Swift account operations and validation
use super::storage_compat::{get_swift_bucket_metadata, resolve_swift_object_store_handle, set_swift_bucket_metadata};
use super::{SwiftError, SwiftResult};
use super::{get_swift_bucket_metadata, resolve_swift_object_store_handle, set_swift_bucket_metadata};
use rustfs_credentials::Credentials;
use rustfs_storage_api::{BucketOperations, MakeBucketOptions};
use s3s::dto::{Tag, Tagging};
+1 -1
View File
@@ -17,9 +17,9 @@
//! This module implements Swift container CRUD operations and container-bucket translation.
use super::account::validate_account_access;
use super::storage_compat::{get_swift_bucket_metadata, resolve_swift_object_store_handle, set_swift_bucket_metadata};
use super::types::Container;
use super::{SwiftError, SwiftResult};
use super::{get_swift_bucket_metadata, resolve_swift_object_store_handle, set_swift_bucket_metadata};
use rustfs_credentials::Credentials;
use rustfs_storage_api::{
BucketInfo, BucketOperations, BucketOptions, DeleteBucketOptions, ListOperations as _, MakeBucketOptions,
+26 -1
View File
@@ -33,6 +33,12 @@
//! and stores credentials in task-local storage, which Swift handlers access
//! to enforce tenant isolation.
use std::sync::Arc;
use rustfs_ecstore::api::{
bucket as ecstore_bucket, error as ecstore_error, global as ecstore_global, storage as ecstore_storage,
};
pub mod account;
pub mod acl;
pub mod bulk;
@@ -51,7 +57,6 @@ pub mod ratelimit;
pub mod router;
pub mod slo;
pub mod staticweb;
pub mod storage_compat;
pub mod symlink;
pub mod sync;
pub mod tempurl;
@@ -63,3 +68,23 @@ pub use router::{SwiftRoute, SwiftRouter};
// Note: Container, Object, and SwiftMetadata types used by Swift implementation
#[allow(unused_imports)]
pub use types::{Container, Object, SwiftMetadata};
type SwiftBucketMetadata = ecstore_bucket::metadata::BucketMetadata;
type SwiftStorageResult<T> = ecstore_error::Result<T>;
type SwiftStore = ecstore_storage::ECStore;
pub type SwiftGetObjectReader = <SwiftStore as rustfs_storage_api::ObjectIO>::GetObjectReader;
pub type SwiftObjectInfo = <SwiftStore as rustfs_storage_api::ObjectOperations>::ObjectInfo;
pub type SwiftObjectOptions = <SwiftStore as rustfs_storage_api::ObjectOperations>::ObjectOptions;
pub type SwiftPutObjReader = <SwiftStore as rustfs_storage_api::ObjectIO>::PutObjectReader;
fn resolve_swift_object_store_handle() -> Option<Arc<SwiftStore>> {
ecstore_global::resolve_object_store_handle()
}
async fn get_swift_bucket_metadata(bucket: &str) -> SwiftStorageResult<Arc<SwiftBucketMetadata>> {
ecstore_bucket::metadata_sys::get(bucket).await
}
async fn set_swift_bucket_metadata(bucket: String, metadata: SwiftBucketMetadata) -> SwiftStorageResult<()> {
ecstore_bucket::metadata_sys::set_bucket_metadata(bucket, metadata).await
}
+2 -3
View File
@@ -51,8 +51,7 @@
use super::account::validate_account_access;
use super::container::ContainerMapper;
use super::storage_compat::resolve_swift_object_store_handle;
use super::{SwiftError, SwiftResult};
use super::{SwiftError, SwiftResult, resolve_swift_object_store_handle};
use axum::http::HeaderMap;
use rustfs_credentials::Credentials;
use rustfs_rio::HashReader;
@@ -61,7 +60,7 @@ use std::collections::HashMap;
use tracing::debug;
use tracing::error;
pub use super::storage_compat::{SwiftGetObjectReader, SwiftObjectInfo, SwiftObjectOptions, SwiftPutObjReader};
pub use super::{SwiftGetObjectReader, SwiftObjectInfo, SwiftObjectOptions, SwiftPutObjReader};
const LOG_COMPONENT_PROTOCOLS: &str = "protocols";
const LOG_SUBSYSTEM_SWIFT_OBJECT: &str = "swift_object";
@@ -1,40 +0,0 @@
// Copyright 2024 RustFS Team
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use std::sync::Arc;
use rustfs_ecstore::api::bucket as ecstore_bucket;
use rustfs_ecstore::api::error as ecstore_error;
use rustfs_ecstore::api::global as ecstore_global;
use rustfs_ecstore::api::storage as ecstore_storage;
pub(super) type SwiftBucketMetadata = ecstore_bucket::metadata::BucketMetadata;
pub(super) type SwiftStorageResult<T> = ecstore_error::Result<T>;
pub(super) type SwiftStore = ecstore_storage::ECStore;
pub type SwiftGetObjectReader = <SwiftStore as rustfs_storage_api::ObjectIO>::GetObjectReader;
pub type SwiftObjectInfo = <SwiftStore as rustfs_storage_api::ObjectOperations>::ObjectInfo;
pub type SwiftObjectOptions = <SwiftStore as rustfs_storage_api::ObjectOperations>::ObjectOptions;
pub type SwiftPutObjReader = <SwiftStore as rustfs_storage_api::ObjectIO>::PutObjectReader;
pub fn resolve_swift_object_store_handle() -> Option<Arc<SwiftStore>> {
ecstore_global::resolve_object_store_handle()
}
pub async fn get_swift_bucket_metadata(bucket: &str) -> SwiftStorageResult<Arc<SwiftBucketMetadata>> {
ecstore_bucket::metadata_sys::get(bucket).await
}
pub async fn set_swift_bucket_metadata(bucket: String, metadata: SwiftBucketMetadata) -> SwiftStorageResult<()> {
ecstore_bucket::metadata_sys::set_bucket_metadata(bucket, metadata).await
}
+1 -1
View File
@@ -54,7 +54,7 @@
use super::account::validate_account_access;
use super::container::ContainerMapper;
use super::object::{ObjectKeyMapper, SwiftObjectOptions as ObjectOptions, head_object};
use super::storage_compat::resolve_swift_object_store_handle;
use super::resolve_swift_object_store_handle;
use super::{SwiftError, SwiftResult};
use rustfs_credentials::Credentials;
use rustfs_storage_api::{ListOperations as _, ObjectOperations as _};