MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / list

Function list

examples/salvo_example/api/src/lib.rs:43–69  ·  view source on GitHub ↗
(req: &mut Request, depot: &mut Depot)

Source from the content-addressed store, hash-verified

41
42#[handler]
43async fn list(req: &mut Request, depot: &mut Depot) -> Result<Text<String>> {
44 let state = depot
45 .obtain::<AppState>()
46 .ok_or_else(StatusError::internal_server_error)?;
47 let conn = &state.conn;
48
49 let page = req.query("page").unwrap_or(1);
50 let posts_per_page = req
51 .query("posts_per_page")
52 .unwrap_or(DEFAULT_POSTS_PER_PAGE);
53
54 let (posts, num_pages) = Query::find_posts_in_page(conn, page, posts_per_page)
55 .await
56 .map_err(|_| StatusError::internal_server_error())?;
57
58 let mut ctx = tera::Context::new();
59 ctx.insert("posts", &posts);
60 ctx.insert("page", &page);
61 ctx.insert("posts_per_page", &posts_per_page);
62 ctx.insert("num_pages", &num_pages);
63
64 let body = state
65 .templates
66 .render("index.html.tera", &ctx)
67 .map_err(|_| StatusError::internal_server_error())?;
68 Ok(Text::Html(body))
69}
70
71#[handler]
72async fn new(depot: &mut Depot) -> Result<Text<String>> {

Callers

nothing calls this directly

Calls 3

newFunction · 0.70
queryMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected