Skip to content
Clone
fbdf85b
100 lines 4.1 KB Rust
use utoipa::OpenApi;
use crate::features::bans::types::{
CreateBanCmd, SpaceBanPage, SpaceBanView, UpdateBanCmd,
};
use crate::features::channel_members::types::{
AddChannelMemberCmd, ChannelMemberPage, ChannelMemberRole, ChannelMemberView,
UpdateChannelMemberCmd,
};
use crate::features::channels::types::{ChannelPage, ChannelView};
use crate::features::invites::types::{
AcceptInviteCmd, CreateInviteCmd, SpaceInvitePage, SpaceInviteView,
};
use crate::features::members::types::{
AddMemberCmd, MessageNotifications, SpaceMemberPage, SpaceMemberStatus, SpaceMemberView,
UpdateMemberCmd,
};
use crate::features::overwrites::types::{
RoleOverwriteView, SetRoleOverwriteCmd, SetUserOverwriteCmd, UserOverwriteView,
};
use crate::features::roles::types::{
AssignRoleCmd, CreateRoleCmd, RolePage, RoleView, UnassignRoleCmd, UpdateRoleCmd,
};
use crate::features::spaces::types::{
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(
// === spaces ===
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,
// === members ===
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,
// === roles ===
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,
// === invites ===
crate::handler::invites::create::handler,
crate::handler::invites::list::handler,
crate::handler::invites::revoke::handler,
crate::handler::invites::accept::handler,
// === bans ===
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,
// === channels ===
crate::handler::channels::get::handler,
crate::handler::channels::list::handler,
// === channel members ===
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,
// === overwrites ===
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;