use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum BackendKind {
Postgres,
Mysql,
Sqlite,
Mssql,
Clickhouse,
Redis,
Memcached,
Qdrant,
Weaviate,
Pinecone,
Minio,
S3,
AzureBlob,
Gcs,
Mongodb,
Elasticsearch,
Neo4j,
Cassandra,
}
impl BackendKind {
pub fn as_str(&self) -> &'static str {
match self {
Self::Postgres => "postgres",
Self::Mysql => "mysql",
Self::Sqlite => "sqlite",
Self::Mssql => "sqlserver",
Self::Clickhouse => "clickhouse",
Self::Redis => "redis",
Self::Memcached => "memcached",
Self::Qdrant => "qdrant",
Self::Weaviate => "weaviate",
Self::Pinecone => "pinecone",
Self::Minio => "minio",
Self::S3 => "s3",
Self::AzureBlob => "azureblob",
Self::Gcs => "gcs",
Self::Mongodb => "mongodb",
Self::Elasticsearch => "elasticsearch",
Self::Neo4j => "neo4j",
Self::Cassandra => "cassandra",
}
}
}