};
use lemmy_db_views::{
post_view::PostQuery,
- structs::{PostView, SiteView},
+ structs::{LocalUserView, PostView, SiteView},
};
use lemmy_db_views_actor::{
comment_reply_view::CommentReplyQuery,
person_mention_view::PersonMentionQuery,
structs::{CommentReplyView, PersonMentionView},
};
-use lemmy_utils::{claims::Claims, error::LemmyError, utils::markdown::markdown_to_html};
+use lemmy_utils::{
+ cache_header::cache_1hour,
+ claims::Claims,
+ error::LemmyError,
+ utils::markdown::markdown_to_html,
+};
use once_cell::sync::Lazy;
use rss::{
extension::dublincore::DublinCoreExtensionBuilder,
}
pub fn config(cfg: &mut web::ServiceConfig) {
- cfg
- .route("/feeds/{type}/{name}.xml", web::get().to(get_feed))
- .route("/feeds/all.xml", web::get().to(get_all_feed))
- .route("/feeds/local.xml", web::get().to(get_local_feed));
+ cfg.service(
+ web::scope("/feeds")
+ .route("/{type}/{name}.xml", web::get().to(get_feed))
+ .route("/all.xml", web::get().to(get_all_feed).wrap(cache_1hour()))
+ .route(
+ "/local.xml",
+ web::get().to(get_local_feed).wrap(cache_1hour()),
+ ),
+ );
}
static RSS_NAMESPACE: Lazy<BTreeMap<String, String>> = Lazy::new(|| {
) -> Result<ChannelBuilder, LemmyError> {
let site_view = SiteView::read_local(pool).await?;
let local_user_id = LocalUserId(Claims::decode(jwt, jwt_secret)?.claims.sub);
- let local_user = LocalUser::read(pool, local_user_id).await?;
+ let local_user = LocalUserView::read(pool, local_user_id).await?;
let posts = PostQuery {
listing_type: (Some(ListingType::Subscribed)),
let replies = CommentReplyQuery {
recipient_id: (Some(person_id)),
my_person_id: (Some(person_id)),
- show_bot_accounts: (Some(show_bot_accounts)),
+ show_bot_accounts: (show_bot_accounts),
sort: (Some(sort)),
limit: (Some(RSS_FETCH_LIMIT)),
..Default::default()
let mentions = PersonMentionQuery {
recipient_id: (Some(person_id)),
my_person_id: (Some(person_id)),
- show_bot_accounts: (Some(show_bot_accounts)),
+ show_bot_accounts: (show_bot_accounts),
sort: (Some(sort)),
limit: (Some(RSS_FETCH_LIMIT)),
..Default::default()