chore: update everything to work with utoipa
This commit is contained in:
@@ -12,7 +12,7 @@ use validator::Validate;
|
||||
/// # Ban User
|
||||
///
|
||||
/// Ban a user by their id.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[put("/<server>/bans/<target>", data = "<data>")]
|
||||
pub async fn ban(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -12,7 +12,7 @@ use rocket::State;
|
||||
/// # Fetch Bans
|
||||
///
|
||||
/// Fetch all bans on a server.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[get("/<target>/bans")]
|
||||
pub async fn list(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket_empty::EmptyResponse;
|
||||
/// # Unban user
|
||||
///
|
||||
/// Remove a user's ban.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[delete("/<server>/bans/<target>")]
|
||||
pub async fn unban(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -11,7 +11,7 @@ use validator::Validate;
|
||||
/// # Create Channel
|
||||
///
|
||||
/// Create a new Text or Voice channel.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[post("/<server>/channels", data = "<data>")]
|
||||
pub async fn create_server_channel(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Server Emoji
|
||||
///
|
||||
/// Fetch all emoji on a server.
|
||||
#[openapi(tag = "Server Customisation")]
|
||||
#[utoipa::path(tag = "Server Customisation")]
|
||||
#[get("/<target>/emojis")]
|
||||
pub async fn list_emoji(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Invites
|
||||
///
|
||||
/// Fetch all server invites.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[get("/<target>/invites")]
|
||||
pub async fn invites(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -14,7 +14,7 @@ use validator::Validate;
|
||||
/// # Edit Member
|
||||
///
|
||||
/// Edit a member by their id.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[patch("/<server>/members/<member>", data = "<data>")]
|
||||
pub async fn edit(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// # Query Parameters
|
||||
#[derive(Deserialize, JsonSchema, FromForm)]
|
||||
#[derive(Deserialize, ToSchema, FromForm)]
|
||||
pub struct OptionsQueryMembers {
|
||||
/// String to search for
|
||||
query: String,
|
||||
@@ -20,7 +20,7 @@ pub struct OptionsQueryMembers {
|
||||
}
|
||||
|
||||
/// # Query members by name
|
||||
#[derive(Serialize, JsonSchema)]
|
||||
#[derive(Serialize, ToSchema)]
|
||||
pub struct MemberQueryResponse {
|
||||
/// List of members
|
||||
members: Vec<v0::Member>,
|
||||
@@ -31,7 +31,7 @@ pub struct MemberQueryResponse {
|
||||
/// # Query members by name
|
||||
///
|
||||
/// Query members by a given name, this API is not stable and will be removed in the future.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[get("/<target>/members_experimental_query?<options..>")]
|
||||
pub async fn member_experimental_query(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Member
|
||||
///
|
||||
/// Retrieve a member.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[get("/<target>/members/<member>?<roles>")]
|
||||
pub async fn fetch(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Members
|
||||
///
|
||||
/// Fetch all server members.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[get("/<target>/members?<options..>")]
|
||||
pub async fn fetch_all(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket_empty::EmptyResponse;
|
||||
/// # Kick Member
|
||||
///
|
||||
/// Removes a member from the server.
|
||||
#[openapi(tag = "Server Members")]
|
||||
#[utoipa::path(tag = "Server Members")]
|
||||
#[delete("/<target>/members/<member>")]
|
||||
pub async fn kick(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi;
|
||||
use rocket::Route;
|
||||
|
||||
mod ban_create;
|
||||
@@ -25,8 +24,38 @@ mod server_delete;
|
||||
mod server_edit;
|
||||
mod server_fetch;
|
||||
|
||||
pub fn routes() -> (Vec<Route>, OpenApi) {
|
||||
openapi_get_routes_spec![
|
||||
#[derive(OpenApi)]
|
||||
#[openapi(
|
||||
paths(
|
||||
server_create::create_server,
|
||||
server_delete::delete,
|
||||
server_fetch::fetch,
|
||||
server_edit::edit,
|
||||
server_ack::ack,
|
||||
channel_create::create_server_channel,
|
||||
member_fetch_all::fetch_all,
|
||||
member_remove::kick,
|
||||
member_fetch::fetch,
|
||||
member_edit::edit,
|
||||
member_experimental_query::member_experimental_query,
|
||||
ban_create::ban,
|
||||
ban_remove::unban,
|
||||
ban_list::list,
|
||||
invites_fetch::invites,
|
||||
roles_create::create,
|
||||
roles_edit::edit,
|
||||
roles_fetch::fetch,
|
||||
roles_delete::delete,
|
||||
permissions_set::set_role_permission,
|
||||
permissions_set_default::set_default_server_permissions,
|
||||
emoji_list::list_emoji,
|
||||
roles_edit_positions::edit_role_ranks
|
||||
)
|
||||
)]
|
||||
pub struct ApiDoc;
|
||||
|
||||
pub fn routes() -> Vec<Route> {
|
||||
routes![
|
||||
server_create::create_server,
|
||||
server_delete::delete,
|
||||
server_fetch::fetch,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Set Role Permission
|
||||
///
|
||||
/// Sets permissions for the specified role in the server.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[put("/<target>/permissions/<role_id>", data = "<data>", rank = 2)]
|
||||
pub async fn set_role_permission(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -12,7 +12,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Set Default Permission
|
||||
///
|
||||
/// Sets permissions for the default role in this server.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[put("/<target>/permissions/default", data = "<data>", rank = 1)]
|
||||
pub async fn set_default_server_permissions(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -12,7 +12,7 @@ use validator::Validate;
|
||||
/// # Create Role
|
||||
///
|
||||
/// Creates a new server role.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[post("/<target>/roles", data = "<data>")]
|
||||
pub async fn create(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket_empty::EmptyResponse;
|
||||
/// # Delete Role
|
||||
///
|
||||
/// Delete a server role by its id.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[delete("/<target>/roles/<role_id>")]
|
||||
pub async fn delete(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -11,7 +11,7 @@ use validator::Validate;
|
||||
/// # Edit Role
|
||||
///
|
||||
/// Edit a role by its id.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[patch("/<target>/roles/<role_id>", data = "<data>", rank = 1)]
|
||||
pub async fn edit(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Edits server roles ranks
|
||||
///
|
||||
/// Edit's server role's ranks.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[patch("/<target>/roles/ranks", data = "<data>")]
|
||||
pub async fn edit_role_ranks(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Role
|
||||
///
|
||||
/// Fetch a role by its id.
|
||||
#[openapi(tag = "Server Permissions")]
|
||||
#[utoipa::path(tag = "Server Permissions")]
|
||||
#[get("/<target>/roles/<role_id>")]
|
||||
pub async fn fetch(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket_empty::EmptyResponse;
|
||||
/// # Mark Server As Read
|
||||
///
|
||||
/// Mark all channels in a server as read.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[put("/<target>/ack")]
|
||||
pub async fn ack(db: &State<Database>, user: User, target: Reference<'_>) -> Result<EmptyResponse> {
|
||||
if user.bot.is_some() {
|
||||
|
||||
@@ -9,7 +9,7 @@ use validator::Validate;
|
||||
/// # Create Server
|
||||
///
|
||||
/// Create a new server.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[post("/create", data = "<data>")]
|
||||
pub async fn create_server(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -8,7 +8,7 @@ use rocket_empty::EmptyResponse;
|
||||
/// # Delete / Leave Server
|
||||
///
|
||||
/// Deletes a server if owner otherwise leaves.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[delete("/<target>?<options..>")]
|
||||
pub async fn delete(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -13,7 +13,7 @@ use validator::Validate;
|
||||
/// # Edit Server
|
||||
///
|
||||
/// Edit a server by its id.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[patch("/<target>", data = "<data>")]
|
||||
pub async fn edit(
|
||||
db: &State<Database>,
|
||||
|
||||
@@ -10,7 +10,7 @@ use rocket::{serde::json::Json, State};
|
||||
/// # Fetch Server
|
||||
///
|
||||
/// Fetch a server by its id.
|
||||
#[openapi(tag = "Server Information")]
|
||||
#[utoipa::path(tag = "Server Information")]
|
||||
#[get("/<target>?<options..>")]
|
||||
pub async fn fetch(
|
||||
db: &State<Database>,
|
||||
|
||||
Reference in New Issue
Block a user