Browse Source

Update to anansi 0.14.0 (#7989)

* Update to anansi 0.14.0

* Fixed db test for anansi

---------

Co-authored-by: sarutora <example.com>
saru-tora 2 năm trước cách đây
mục cha
commit
062ab19c9e

+ 1 - 1
frameworks/Rust/anansi/Cargo.toml

@@ -12,7 +12,7 @@ edition = "2021"
 raw = []
 
 [dependencies]
-anansi = { git = "https://github.com/saru-tora/anansi", rev = "18fc179", features = ["postgres", "minimal", "redis"] }
+anansi = { git = "https://github.com/saru-tora/anansi", rev = "bcbd687", features = ["postgres", "minimal", "redis"] }
 async-trait = "0.1.57"
 rand = "0.8.4"
 serde = "1"

+ 2 - 2
frameworks/Rust/anansi/src/hello/world/raw.rs

@@ -51,7 +51,7 @@ fn base<R: Request>(_req: &mut R) -> Result<Response> {}
 #[viewer]
 impl<R: Request> WorldView<R> {
     async fn get_world(req: &R) -> Result<PgDbRow> {
-        prep!(req, "world", "SELECT * FROM world WHERE id = $1", &[&random_num()], fetch_one)
+        anansi::db::postgres::PgStatement::raw_one(0, &[&random_num()], req.raw().pool()).await
     }
     async fn get_worlds(req: &R) -> Result<Vec<World>> {
         let q = get_query(req.params());
@@ -83,7 +83,7 @@ impl<R: Request> WorldView<R> {
     #[view(Site::is_visitor)]
     pub async fn raw_fortunes(req: &mut R) -> Result<Response> {
         let title = "Fortunes";
-        let rows = prep!(req, "fortune", "SELECT * FROM fortune", &[], fetch_all)?;
+        let rows = anansi::db::postgres::PgStatement::raw_all(1, &[], req.raw().pool()).await?;
         let mut fortunes = vec![Fortune {
             id: 0,
             message: Cow::Borrowed("Additional fortune added at request time.")

+ 15 - 13
frameworks/Rust/anansi/src/main.rs

@@ -12,18 +12,20 @@ apps! {
 app_statics! {}
 
 min_main!(server, {
-    {
-        use anansi::cache::prelude::*;
-        use hello::records::World;
-        use anansi::records::Record;
-        let worlds = World::get_all().raw_query(&server.pool).await.expect("problem fetching worlds");
-        let mut items = vec![];
-        for world in worlds {
-            let id = world.pk().to_string();
-            let mut bytes = serde_json::to_vec(&world).expect("problem serializing world");
-            bytes.push(',' as u8);
-            items.push((id, bytes));
-        }
-        server.cache.set_many(&items).await.expect("problem caching world");
+    use anansi::cache::prelude::*;
+    use hello::records::World;
+    use anansi::records::Record;
+    if cfg!(feature = "raw") {
+        server.pool.2.write().unwrap().push(Arc::new(anansi::db::postgres::PgStatement::new("SELECT * FROM world WHERE id = $1", &server.pool).await.unwrap()));
+        server.pool.2.write().unwrap().push(Arc::new(anansi::db::postgres::PgStatement::new("SELECT * FROM fortune", &server.pool).await.unwrap()));
     }
+    let worlds = World::get_all().raw_query(&server.pool).await.expect("problem fetching worlds");
+    let mut items = vec![];
+    for world in worlds {
+        let id = world.pk().to_string();
+        let mut bytes = serde_json::to_vec(&world).expect("problem serializing world");
+        bytes.push(',' as u8);
+        items.push((id, bytes));
+    }
+    server.cache.set_many(&items).await.expect("problem caching world");
 });