70af57c6e1
All the template are now compiled at compile-time with the `ructe` crate. I preferred to use it instead of askama because it allows more complex Rust expressions, where askama only supports a small subset of expressions and doesn't allow them everywhere (for instance, `{{ macro!() | filter }}` would result in a parsing error). The diff is quite huge, but there is normally no changes in functionality. Fixes #161 and unblocks #110 and #273
17 lines
405 B
Rust
17 lines
405 B
Rust
use canapi::Provider;
|
|
use rocket_contrib::json::Json;
|
|
use serde_json;
|
|
|
|
use plume_api::apps::AppEndpoint;
|
|
use plume_models::{
|
|
Connection,
|
|
db_conn::DbConn,
|
|
apps::App,
|
|
};
|
|
|
|
#[post("/apps", data = "<data>")]
|
|
pub fn create(conn: DbConn, data: Json<AppEndpoint>) -> Json<serde_json::Value> {
|
|
let post = <App as Provider<Connection>>::create(&*conn, (*data).clone()).ok();
|
|
Json(json!(post))
|
|
}
|