I was starting to look into using Diesel for querying a database. I have a table that looks something like the struct below (this is just a toy project to help me understand how Diesel works).
#[derive(Queryable, Insertable)]
#[table_name="posts"]
struct Post {
id: String,
title: String,
body: String,
published: bool
}
Doing queries that are fully determined at compile time is easy enough, for example
posts.select(id, title).order(title.desc());
What is not clear to me is how to build a query depending on some runtime parameters, without having to fall back to SQL. For example JSONAPI allows for dynamically selecting fields and sorting them based on query parameters. How would I do this in Diesel?