#[file_query]Expand description
Create an edgeDB query based on a source file
ยงUsage
queries.edgeql
insert users::User {
name := <str>$user_name,
age := <int16>$age,
friend := (
select users::User {
name,
age,
}
filter .name = <str>$friend_name
)
} use edgedb_query_derive::{file_query};
use edgedb_query::BasicResult;
use edgedb_query::models::edge_query::ToEdgeQuery;
#[file_query(src="queries.edgeql")]
pub struct AddUser {
#[param("user_name")]
pub name: String,
pub age: i8,
#[param("friend_name")]
pub friend: String,
}
async fn main() {
let client = edgedb_tokio::create_client().await.unwrap();
let add_user = AddUser {
name: "Joe".to_string(),
age: 18,
friend: "Henri".to_string(),
};
let query = add_user.to_edge_query();
let result = client
.query_single::<BasicResult, _>(query.query.as_str(), &query.args.unwrap())
.await
.unwrap();
}