pub mod comments;
pub use comments::*;
use crate::prelude2::*;
use crate::core::auth0::Requestor;
use crate::core::auth0::UserId;
use crate::services::feeds_service::models;
pub async fn feeds_index(request: HttpRequest) -> impl Responder {
let ctx = tera::Context::new();
request.render(200, "feeds/feeds_index.html", ctx)
}
pub async fn feeds_create(
query: web::Form<models::FeedsCreateFormData>,
request: HttpRequest,
context: web::Data<AppContext>,
user_id: web::ReqData<UserId>,
requestor: web::ReqData<Requestor>,
) -> impl Responder {
let id = crate::services::feeds_service::save_feeds(
context.mongo(),
query.0,
user_id.into_inner(),
requestor.user(),
)
.await?;
request.json(200, R::success(id, "发布成功".to_string()))
}
pub async fn feeds_thumb_up(
feed_id: actix_web::web::Bytes,
request: HttpRequest,
app_state: web::Data<AppContext>,
user_id: web::ReqData<UserId>,
) -> impl Responder {
let feed_id = crate::commons::bytes_to_string(feed_id.to_vec())?;
let result = crate::services::feeds_service::feeds_thumb_up(
app_state.mongo(),
&feed_id,
user_id.into_inner(),
)
.await?;
request.json(200, R::success(result, "已点赞".to_string()))
}