diff --git a/.sqlx/query-81d2fcfaebb205bcff8222b3bda87cdce5d01559fb1f60ccdfdbf8b9d550082f.json b/.sqlx/query-81d2fcfaebb205bcff8222b3bda87cdce5d01559fb1f60ccdfdbf8b9d550082f.json new file mode 100644 index 0000000..dee45af --- /dev/null +++ b/.sqlx/query-81d2fcfaebb205bcff8222b3bda87cdce5d01559fb1f60ccdfdbf8b9d550082f.json @@ -0,0 +1,28 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT name, abbreviation FROM \"Book\" where id=$1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "name", + "type_info": "Varchar" + }, + { + "ordinal": 1, + "name": "abbreviation", + "type_info": "Varchar" + } + ], + "parameters": { + "Left": [ + "Int4" + ] + }, + "nullable": [ + false, + false + ] + }, + "hash": "81d2fcfaebb205bcff8222b3bda87cdce5d01559fb1f60ccdfdbf8b9d550082f" +} diff --git a/src/routes.rs b/src/routes.rs index 8d83a36..6f336e5 100644 --- a/src/routes.rs +++ b/src/routes.rs @@ -426,6 +426,30 @@ pub async fn get_next_page(current_page: web::Json, app_data: web::Data< abbreviation).fetch_one(&app_data.pool).await?.id; } + if current_page.chapter == 0 { + if book_id == 1 { + previous = None + } else { + let p = sqlx::query!( + r#" + SELECT name, abbreviation FROM "Book" where id=$1 + "#, + book_id-1).fetch_one(&app_data.pool).await?; + previous = Some(PageOut {book: p.name, abbreviation: p.abbreviation, chapter: 0}); + } + if book_id == 66 { + next = None + } else { + let n = sqlx::query!( + r#" + SELECT name, abbreviation FROM "Book" WHERE id=$1 + "#, + book_id+1).fetch_one(&app_data.pool).await?; + next = Some(PageOut{book: n.name, abbreviation: n.abbreviation, chapter: 0}); + } + return Ok(HttpResponse::Ok().json(json!({"previous": previous, "next": next}))) + } + if book_id == 1 && current_page.chapter == 1 { previous = None; } else {