use crate::config::models::file_storage::VectorDbConfig;
use crate::utils::error::gateway_error::{GatewayError, Result};
use super::types::{SearchResult, VectorPoint};
#[derive(Debug, Clone)]
pub struct WeaviateStore {
_url: String,
_api_key: Option<String>,
_collection: String,
_client: reqwest::Client,
}
impl WeaviateStore {
pub async fn new(_config: &VectorDbConfig) -> Result<Self> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn store(
&self,
_id: &str,
_vector: &[f32],
_metadata: Option<serde_json::Value>,
) -> Result<()> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn search(
&self,
_query_vector: &[f32],
_limit: usize,
_threshold: Option<f32>,
) -> Result<Vec<SearchResult>> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn delete(&self, _id: &str) -> Result<()> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn get(&self, _id: &str) -> Result<Option<VectorPoint>> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn health_check(&self) -> Result<()> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn close(&self) -> Result<()> {
Ok(())
}
pub async fn batch_store(&self, _points: &[VectorPoint]) -> Result<()> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
pub async fn count(&self) -> Result<u64> {
Err(GatewayError::Storage(
"Weaviate not implemented yet".to_string(),
))
}
}