Attribute Macro edgedb_query_derive::update_query

source ·
#[update_query]
Expand description

Create an update edgeDB query

Usage

    use edgedb_query_derive::{update_query};
    use edgedb_query::models::edge_query::ToEdgeQuery;

    #[update_query(module = "users", table = "User")]
    pub struct UpdateUser {
         pub name: String,

         #[filter(operator = "=", wrapper_fn = "str_lower")]
         #[field(column_name = "identity.first_name")]
         pub first_name: String,

         #[and_filter(operator = ">=")]
         pub age: i8,
     }

    async fn main() {
         let client = edgedb_tokio::create_client().await.unwrap();
         let update_query = UpdateUser {
            name: "Joe".to_string(),
            first_name: "Henri".to_string(),
            age: 18,
        };

        let query = update_query.to_edge_query();

        let _ = client
                .query_single_json(query.query.as_str(), &query.args.unwrap())
                .await
                .unwrap();
    }