MCPcopy Create free account
hub / github.com/acking-you/static_flow / query_requests

Function query_requests

crates/store/src/article_request_store.rs:711–802  ·  view source on GitHub ↗
(
    table: &Table,
    filter: Option<&str>,
    limit: Option<usize>,
    offset: Option<usize>,
)

Source from the content-addressed store, hash-verified

709}
710
711async fn query_requests(
712 table: &Table,
713 filter: Option<&str>,
714 limit: Option<usize>,
715 offset: Option<usize>,
716) -> Result<Vec<ArticleRequestRecord>> {
717 let mut query = table.query();
718 if let Some(f) = filter {
719 query = query.only_if(f);
720 }
721 if let Some(o) = offset {
722 query = query.offset(o);
723 }
724 if let Some(l) = limit {
725 query = query.limit(l.max(1));
726 }
727 let cols = &[
728 "request_id",
729 "article_url",
730 "title_hint",
731 "request_message",
732 "nickname",
733 "requester_email",
734 "frontend_page_url",
735 "status",
736 "fingerprint",
737 "client_ip",
738 "ip_region",
739 "admin_note",
740 "failure_reason",
741 "ingested_article_id",
742 "attempt_count",
743 "created_at",
744 "updated_at",
745 "ai_reply",
746 "parent_request_id",
747 ];
748 let batches = query
749 .select(Select::columns(cols))
750 .execute()
751 .await?
752 .try_collect::<Vec<_>>()
753 .await?;
754
755 let mut rows = Vec::new();
756 for batch in batches {
757 let c_request_id = string_col(&batch, "request_id")?;
758 let c_article_url = string_col(&batch, "article_url")?;
759 let c_title_hint = string_col(&batch, "title_hint")?;
760 let c_request_message = string_col(&batch, "request_message")?;
761 let c_nickname = string_col(&batch, "nickname")?;
762 let c_requester_email = string_col(&batch, "requester_email")?;
763 let c_frontend_page_url = string_col(&batch, "frontend_page_url")?;
764 let c_status = string_col(&batch, "status")?;
765 let c_fingerprint = string_col(&batch, "fingerprint")?;
766 let c_client_ip = string_col(&batch, "client_ip")?;
767 let c_ip_region = string_col(&batch, "ip_region")?;
768 let c_admin_note = string_col(&batch, "admin_note")?;

Callers 3

get_requestMethod · 0.85
list_requests_pageMethod · 0.85

Calls 8

queryMethod · 0.80
executeMethod · 0.80
selectMethod · 0.80
pushMethod · 0.80
string_colFunction · 0.70
int32_colFunction · 0.70
ts_colFunction · 0.70
nullable_strFunction · 0.70

Tested by

no test coverage detected