2b38e02
use utoipa::OpenApi;
use export::space::bans::{CreateBanCmd, SpaceBanPage, SpaceBanView, UpdateBanCmd};
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::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,
RoleOverwriteView, SetRoleOverwriteCmd, UserOverwriteView, SetUserOverwriteCmd,
))
)]
pub struct SpaceApiDoc;