use api::rest::NoData; use models::users::user::ProfileVisibility; use models::users::user_push_subscriptions::PushSubscriptionPlatform; use models::users::user_reports::ReportStatus; use models::users::user_suspensions::SuspensionType; use utoipa::OpenApi; use crate::handlers; use crate::services::avatar::{AvatarDto, AvatarFormat}; use crate::services::notifications::{ RecentMentionDto, SaveMessageCmd, SavedMessageDto, UserReportDto, }; use crate::services::profile::{ ListLimitQuery, MemeDto, MySpaceDto, ProfileDetailDto, SpaceDto, UpsertMemeCmd, }; use crate::services::push_subscriptions::{PushSubscriptionDto, UpsertPushCmd}; use crate::services::suspensions::{IncludeRevokedQuery, SuspensionDto}; #[derive(OpenApi)] #[openapi( info(title = "gitdata user api", version = "1.0"), paths( handlers::ssh_key::ssh_key_list, handlers::ssh_key::ssh_key_add, handlers::ssh_key::ssh_key_delete, handlers::get_avatar::get_avatar, handlers::get_user_avatar::get_user_avatar, handlers::upload_avatar::upload_avatar, handlers::delete_avatar::delete_avatar, handlers::my_spaces::my_spaces, handlers::list_memes::list_memes, handlers::create_meme::create_meme, handlers::update_meme::update_meme, handlers::delete_meme::delete_meme, handlers::get_profile_detail::get_profile_detail, handlers::list_push_subscriptions::list_push_subscriptions, handlers::upsert_push_subscription::upsert_push_subscription, handlers::delete_push_subscription::delete_push_subscription, handlers::recent_mentions::recent_mentions, handlers::my_reports::my_reports, handlers::list_saved_messages::list_saved_messages, handlers::save_message::save_message, handlers::unsave_message::unsave_message, handlers::my_suspensions::my_suspensions, handlers::push_config::push_config, ), components(schemas( api::pagination::PageQuery, imaging::layout::ImageVariant, NoData, AvatarFormat, AvatarDto, SpaceDto, MySpaceDto, MemeDto, UpsertMemeCmd, ListLimitQuery, ProfileDetailDto, PushSubscriptionDto, UpsertPushCmd, RecentMentionDto, UserReportDto, SavedMessageDto, SaveMessageCmd, SuspensionDto, IncludeRevokedQuery, crate::handlers::push_config::PushConfigDto, ProfileVisibility, PushSubscriptionPlatform, ReportStatus, SuspensionType, )) )] pub struct UserApiDoc;