Skip to content
Clone
f8bd2c7
100 lines 4.1 KB Rust
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(
// === 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;