From ce21b2825e4bcb69bdc3904dc9a6c3abf737503a Mon Sep 17 00:00:00 2001 From: hole-thu Date: Wed, 23 Mar 2022 22:55:55 +0800 Subject: [PATCH] not mark search keywords in backend --- src/api/attention.rs | 2 +- src/api/comment.rs | 9 ++------- src/api/post.rs | 19 ++++++------------- src/api/search.rs | 2 +- 4 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/api/attention.rs b/src/api/attention.rs index 4c648f5..7e2a1c0 100644 --- a/src/api/attention.rs +++ b/src/api/attention.rs @@ -53,7 +53,7 @@ pub async fn attention_post( pub async fn get_attention(user: CurrentUser, db: Db, rconn: RdsConn) -> API { let ids = Attention::init(&user.namehash, &rconn).all().await?; let ps = Post::get_multi(&db, ids).await?; - let ps_data = ps2outputs(&ps, &user, &db, &rconn, &vec![]).await; + let ps_data = ps2outputs(&ps, &user, &db, &rconn).await; Ok(json!({ "code": 0, diff --git a/src/api/comment.rs b/src/api/comment.rs index b803ec5..810f202 100644 --- a/src/api/comment.rs +++ b/src/api/comment.rs @@ -38,7 +38,6 @@ pub fn c2output<'r>( p: &'r Post, cs: &Vec, user: &CurrentUser, - kws: &Vec<&str>, ) -> Vec { let mut hash2id = HashMap::<&String, i32>::from([(&p.author_hash, 0)]); cs.iter() @@ -55,13 +54,9 @@ pub fn c2output<'r>( // TODO: block None } else { - let mut text = c.content.to_string(); - for kw in kws { - text = text.replace(kw, &format!(" **{}**", kw)); - } Some(CommentOutput { cid: c.id, - text: format!("{}{}", if c.is_tmp { "[tmp]\n" } else { "" }, text), + text: format!("{}{}", if c.is_tmp { "[tmp]\n" } else { "" }, c.content), author_title: c.author_title.to_string(), can_del: c.check_permission(user, "wd").is_ok(), name_id: name_id, @@ -82,7 +77,7 @@ pub async fn get_comment(pid: i32, user: CurrentUser, db: Db, rconn: RdsConn) -> } let pid = p.id; let cs = Comment::gets_by_post_id(&db, pid).await?; - let data = c2output(&p, &cs, &user, &vec![]); + let data = c2output(&p, &cs, &user); Ok(json!({ "code": 0, diff --git a/src/api/post.rs b/src/api/post.rs index 1ca14fc..d2eb2a5 100644 --- a/src/api/post.rs +++ b/src/api/post.rs @@ -54,16 +54,10 @@ async fn p2output( user: &CurrentUser, db: &Db, rconn: &RdsConn, - kws: &Vec<&str>, ) -> PostOutput { - let mut text = p.content.to_string(); - for kw in kws { - text = text.replace(kw, &format!(" **{}**", kw)); - } - PostOutput { pid: p.id, - text: format!("{}{}", if p.is_tmp { "[tmp]\n" } else { "" }, text), + text: format!("{}{}", if p.is_tmp { "[tmp]\n" } else { "" }, p.content), cw: if p.cw.len() > 0 { Some(p.cw.to_string()) } else { @@ -91,7 +85,7 @@ async fn p2output( // 单个洞还有查询评论的接口,这里挂了不用报错 let pid = p.id; if let Some(cs) = Comment::gets_by_post_id(db, pid).await.ok() { - Some(c2output(p, &cs, user, kws)) + Some(c2output(p, &cs, user)) } else { None } @@ -113,11 +107,10 @@ pub async fn ps2outputs( user: &CurrentUser, db: &Db, rconn: &RdsConn, - kws: &Vec<&str>, ) -> Vec { future::join_all( ps.iter() - .map(|p| async { p2output(p, &user, &db, &rconn, &kws.clone()).await }), + .map(|p| async { p2output(p, &user, &db, &rconn).await }), ) .await } @@ -128,7 +121,7 @@ pub async fn get_one(pid: i32, user: CurrentUser, db: Db, rconn: RdsConn) -> Jso let p = Post::get_with_cache(&db, &rconn, pid).await?; p.check_permission(&user, "ro")?; Ok(json!({ - "data": p2output(&p, &user,&db, &rconn, &vec![]).await, + "data": p2output(&p, &user,&db, &rconn).await, "code": 0, })) } @@ -145,7 +138,7 @@ pub async fn get_list( let page_size = 25; let start = (page - 1) * page_size; let ps = Post::gets_by_page(&db, order_mode, start.into(), page_size.into()).await?; - let ps_data = ps2outputs(&ps, &user, &db, &rconn, &vec![]).await; + let ps_data = ps2outputs(&ps, &user, &db, &rconn).await; Ok(json!({ "data": ps_data, "count": ps_data.len(), @@ -193,7 +186,7 @@ pub async fn edit_cw(cwi: Form, user: CurrentUser, db: Db) -> JsonAPI { #[get("/getmulti?")] pub async fn get_multi(pids: Vec, user: CurrentUser, db: Db, rconn: RdsConn) -> JsonAPI { let ps = Post::get_multi(&db, pids).await?; - let ps_data = ps2outputs(&ps, &user, &db, &rconn, &vec![]).await; + let ps_data = ps2outputs(&ps, &user, &db, &rconn).await; Ok(json!({ "code": 0, diff --git a/src/api/search.rs b/src/api/search.rs index 29e59c6..009da81 100644 --- a/src/api/search.rs +++ b/src/api/search.rs @@ -31,7 +31,7 @@ pub async fn search( .await? }; let mark_kws = if search_mode == 1 {kws} else {vec![]}; - let ps_data = ps2outputs(&ps, &user, &db, &rconn, &mark_kws).await; + let ps_data = ps2outputs(&ps, &user, &db, &rconn).await; Ok(json!({ "data": ps_data, "count": ps_data.len(),