refactor: update surrealdb client usage to support 'any' engine type

This commit is contained in:
MythEclipse
2025-06-29 23:23:18 +07:00
parent b88ecd1361
commit 02be09506a
7 changed files with 31 additions and 22 deletions
+4 -3
View File
@@ -1,8 +1,9 @@
use surrealdb::{engine::remote::ws::Client, method::Query};
use surrealdb::method::Query;
use surrealdb::engine::any;
pub fn bind_filter_value(
query: Query<'_, Client>,
query: Query<'_, any::Any>,
val: String,
) -> Query<'_, Client> {
) -> Query<'_, any::Any> {
query.bind(("filter", val)) // langsung string aja, udah cukup
}
+7 -6
View File
@@ -1,13 +1,14 @@
use crate::AppState;
use surrealdb::{
Surreal,
engine::{local::Mem, remote::ws::Ws},
opt::auth::Root,
};
use imphnen_libs::enviroment::load_env;
use surrealdb::engine::any;
use surrealdb::{Surreal, engine::local::Mem, opt::auth::Root};
use super::Env;
pub async fn create_mock_app_state() -> AppState {
load_env();
let env = Env::new();
let db_mem = Surreal::new::<Mem>(()).await.unwrap();
let db_ws = Surreal::new::<Ws>("localhost:8000").await.unwrap();
let db_ws = any::connect(&env.surrealdb_url).await.unwrap();
db_mem.use_ns("test").use_db("test").await.unwrap();
db_ws
.signin(Root {
+2 -2
View File
@@ -1,7 +1,7 @@
use imphnen_libs::MetaRequestDto;
use surrealdb::engine::remote::ws::Client;
use surrealdb::method::Query;
use surrealdb::sql::Thing;
use surrealdb::engine::any;
pub struct ListQueryBuilder {
resource: String,
@@ -241,7 +241,7 @@ impl DetailQueryBuilder {
)
}
pub fn apply_bindings<'q>(&self, query: Query<'q, Client>) -> Query<'q, Client> {
pub fn apply_bindings<'q>(&self, query: Query<'q, any::Any>) -> Query<'q, any::Any> {
if let (Some(_), Some(value)) = (&self.where_field, &self.where_value) {
query.bind(("value", value.clone()))
} else {
+4 -3
View File
@@ -1,10 +1,11 @@
use crate::{CountResult, MetaRequestDto, MetaResponseDto, ResponseListSuccessDto};
use anyhow::Result;
use serde::{Serialize, de::DeserializeOwned};
use surrealdb::{Surreal, engine::remote::ws::Client};
use surrealdb::Surreal;
use surrealdb::engine::any;
pub struct QueryListBuilder<'a> {
db: &'a Surreal<Client>,
db: &'a Surreal<any::Any>,
table: &'a str,
meta: &'a MetaRequestDto,
conditions: Vec<String>,
@@ -15,7 +16,7 @@ pub struct QueryListBuilder<'a> {
impl<'a> QueryListBuilder<'a> {
pub fn new(
db: &'a Surreal<Client>,
db: &'a Surreal<any::Any>,
table: &'a str,
meta: &'a MetaRequestDto,
) -> Self {