use utoipa::OpenApi; use export::space::bans::{ CreateBanCmd, SpaceBanPage, SpaceBanView, UpdateBanCmd, }; use export::space::channel_members::{ AddChannelMemberCmd, ChannelMemberPage, ChannelMemberRole, ChannelMemberView, UpdateChannelMemberCmd, }; use export::space::channels::{ChannelPage, ChannelView}; use export::space::invites::{ AcceptInviteCmd, CreateInviteCmd, SpaceInvitePage, SpaceInviteView, }; use export::space::members::{ AddMemberCmd, MessageNotifications, SpaceMemberPage, SpaceMemberStatus, SpaceMemberView, UpdateMemberCmd, }; use export::space::overwrites::{ RoleOverwriteView, SetRoleOverwriteCmd, SetUserOverwriteCmd, UserOverwriteView, }; use export::space::roles::{ AssignRoleCmd, CreateRoleCmd, RolePage, RoleView, UnassignRoleCmd, UpdateRoleCmd, }; use export::space::spaces::{ CreateSpaceCmd, SpaceAllowJoinLevel, SpacePage, SpaceView, UpdateSpaceCmd, }; #[derive(OpenApi)] #[openapi( info( title = "Space API", version = "1.0.0", description = "Space and channel management endpoints." ), tags( (name = "space", description = "Space, membership, roles, invites, bans, channels, channel members and overwrite endpoints.") ), paths( crate::handler::spaces::create::handler, crate::handler::spaces::get::handler, crate::handler::spaces::list::handler, crate::handler::spaces::update::handler, crate::handler::spaces::delete::handler, crate::handler::members::add::handler, crate::handler::members::get::handler, crate::handler::members::list::handler, crate::handler::members::remove::handler, crate::handler::members::update::handler, crate::handler::roles::create::handler, crate::handler::roles::get::handler, crate::handler::roles::list::handler, crate::handler::roles::update::handler, crate::handler::roles::delete::handler, crate::handler::roles::assign::handler, crate::handler::roles::unassign::handler, crate::handler::invites::create::handler, crate::handler::invites::list::handler, crate::handler::invites::revoke::handler, crate::handler::invites::accept::handler, crate::handler::bans::ban::handler, crate::handler::bans::get::handler, crate::handler::bans::list::handler, crate::handler::bans::update::handler, crate::handler::bans::unban::handler, crate::handler::channels::get::handler, crate::handler::channels::list::handler, crate::handler::channel_members::add::handler, crate::handler::channel_members::get::handler, crate::handler::channel_members::list::handler, crate::handler::channel_members::update::handler, crate::handler::channel_members::remove::handler, crate::handler::overwrites::set_role::handler, crate::handler::overwrites::remove_role::handler, crate::handler::overwrites::list_role::handler, crate::handler::overwrites::set_user::handler, crate::handler::overwrites::remove_user::handler, crate::handler::overwrites::list_user::handler, ), components(schemas( SpaceView, CreateSpaceCmd, UpdateSpaceCmd, SpacePage, SpaceAllowJoinLevel, SpaceMemberView, AddMemberCmd, UpdateMemberCmd, SpaceMemberPage, SpaceMemberStatus, MessageNotifications, RoleView, CreateRoleCmd, UpdateRoleCmd, RolePage, AssignRoleCmd, UnassignRoleCmd, SpaceInviteView, CreateInviteCmd, AcceptInviteCmd, SpaceInvitePage, SpaceBanView, CreateBanCmd, UpdateBanCmd, SpaceBanPage, ChannelView, ChannelPage, ChannelMemberView, AddChannelMemberCmd, UpdateChannelMemberCmd, ChannelMemberPage, ChannelMemberRole, RoleOverwriteView, SetRoleOverwriteCmd, UserOverwriteView, SetUserOverwriteCmd, )) )] pub struct SpaceApiDoc;