2023-04-12 14:40:59 +00:00
|
|
|
use lemmy_db_schema::{newtypes::CommunityId, source::local_site::LocalSite, ListingType};
|
2023-06-06 16:27:22 +00:00
|
|
|
use lemmy_utils::error::LemmyError;
|
2022-11-28 14:29:33 +00:00
|
|
|
|
2023-07-03 09:01:41 +00:00
|
|
|
pub mod list_comments;
|
|
|
|
pub mod list_posts;
|
|
|
|
pub mod read_community;
|
|
|
|
pub mod read_person;
|
|
|
|
pub mod resolve_object;
|
|
|
|
pub mod search;
|
2023-10-11 14:47:22 +00:00
|
|
|
pub mod user_settings_backup;
|
2023-04-12 14:40:59 +00:00
|
|
|
|
|
|
|
/// Returns default listing type, depending if the query is for frontpage or community.
|
|
|
|
fn listing_type_with_default(
|
|
|
|
type_: Option<ListingType>,
|
|
|
|
local_site: &LocalSite,
|
|
|
|
community_id: Option<CommunityId>,
|
|
|
|
) -> Result<ListingType, LemmyError> {
|
|
|
|
// On frontpage use listing type from param or admin configured default
|
|
|
|
let listing_type = if community_id.is_none() {
|
2023-04-17 19:19:51 +00:00
|
|
|
type_.unwrap_or(local_site.default_post_listing_type)
|
2023-04-12 14:40:59 +00:00
|
|
|
} else {
|
|
|
|
// inside of community show everything
|
|
|
|
ListingType::All
|
|
|
|
};
|
|
|
|
Ok(listing_type)
|
|
|
|
}
|