mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 05:26:59 +00:00
fix: manually specify params
This commit is contained in:
@@ -3,14 +3,6 @@ use std::str::FromStr;
|
||||
use revolt_result::Result;
|
||||
#[cfg(feature = "rocket-impl")]
|
||||
use rocket::request::FromParam;
|
||||
#[cfg(feature = "utoipa")]
|
||||
use utoipa::{
|
||||
openapi::{
|
||||
path::{Parameter, ParameterBuilder, ParameterIn},
|
||||
Required,
|
||||
},
|
||||
IntoParams,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
Bot, Channel, Database, Emoji, Invite, Member, Message, Server, ServerBan, User, Webhook,
|
||||
@@ -115,15 +107,3 @@ impl<'r> FromParam<'r> for Reference<'r> {
|
||||
Ok(Reference::from_unchecked(param))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "utoipa")]
|
||||
impl IntoParams for Reference<'_> {
|
||||
fn into_params(parameter_in_provider: impl Fn() -> Option<ParameterIn>) -> Vec<Parameter> {
|
||||
vec![ParameterBuilder::new()
|
||||
.name("id")
|
||||
.required(Required::True)
|
||||
.description(Some("An ID".to_string()))
|
||||
.parameter_in(parameter_in_provider().unwrap_or_default())
|
||||
.build()]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
use utoipa::{Modify, openapi::{OpenApi, security::{ApiKey, ApiKeyValue, SecurityScheme}}};
|
||||
use utoipa::{
|
||||
openapi::{
|
||||
schema::SchemaType,
|
||||
security::{ApiKey, ApiKeyValue, SecurityScheme},
|
||||
ObjectBuilder, OpenApi, RefOr, Schema, Type,
|
||||
},
|
||||
Modify, PartialSchema, ToSchema,
|
||||
};
|
||||
|
||||
use crate::util::reference::Reference;
|
||||
|
||||
pub struct TokenSecurity;
|
||||
|
||||
@@ -18,4 +27,23 @@ impl Modify for TokenSecurity {
|
||||
SecurityScheme::ApiKey(ApiKey::Header(ApiKeyValue::new("X-Bot-Ticket".to_string()))),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ToSchema for Reference<'_> {
|
||||
fn name() -> std::borrow::Cow<'static, str> {
|
||||
std::borrow::Cow::Borrowed("Reference")
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialSchema for Reference<'_> {
|
||||
fn schema() -> RefOr<Schema> {
|
||||
RefOr::T(
|
||||
ObjectBuilder::new()
|
||||
.description(Some("An id referencing a stoat model."))
|
||||
.schema_type(SchemaType::Type(Type::String))
|
||||
.examples(["01FD58YK5W7QRV5H3D64KTQYX3"])
|
||||
.build()
|
||||
.into(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("message" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204)
|
||||
)
|
||||
|
||||
@@ -15,7 +15,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Channel Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsChannelDelete),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
v0::OptionsChannelDelete,
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Channel Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Channel Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Groups",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("group_id" = Reference, Path),
|
||||
("member_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Groups",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("member" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -16,6 +16,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Channel Invites",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Invite),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Groups",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Vec<v0::User>),
|
||||
),
|
||||
|
||||
@@ -20,6 +20,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Interactions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -16,6 +16,10 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Message),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Message),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,7 +14,10 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsQueryMessages),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
v0::OptionsQueryMessages,
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::BulkMessageResponse),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,11 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Interactions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
("emoji" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::BulkMessageResponse),
|
||||
),
|
||||
|
||||
@@ -19,6 +19,9 @@ use validator::Validate;
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(IdempotencyKey),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Message),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -16,7 +16,12 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Interactions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsUnreact),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("msg" = Reference, Path),
|
||||
("emoji" = Reference, Path),
|
||||
v0::OptionsUnreact,
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Channel Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("role_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Channel Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -19,6 +19,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Voice",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::DataJoinCall),
|
||||
),
|
||||
|
||||
@@ -17,6 +17,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Voice",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("target_user." = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -17,6 +17,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Webhook),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Vec<Webhook>),
|
||||
),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use revolt_config::config;
|
||||
use revolt_database::{util::permissions::DatabasePermissionQuery, Database, Emoji, File, User};
|
||||
use revolt_database::{Database, Emoji, File, User, util::{permissions::DatabasePermissionQuery, reference::Reference}};
|
||||
use revolt_models::v0;
|
||||
use revolt_permissions::{calculate_server_permissions, ChannelPermission};
|
||||
use revolt_result::{create_error, Result};
|
||||
@@ -13,6 +13,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Emojis",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Emoji),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Emojis",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("emoji_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -10,6 +10,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Emojis",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("emoji_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Emoji),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Invites",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -9,6 +9,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Invites",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::InviteResponse),
|
||||
),
|
||||
|
||||
@@ -9,6 +9,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Invites",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::InviteJoinResponse),
|
||||
),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use revolt_config::Settings;
|
||||
use revolt_database::util::utoipa::TokenSecurity;
|
||||
use revolt_database::util::{utoipa::TokenSecurity, reference::Reference};
|
||||
use revolt_result::ErrorAddon;
|
||||
pub use rocket::http::Status;
|
||||
pub use rocket::response::Redirect;
|
||||
@@ -235,6 +235,11 @@ pub fn mount(config: Settings, mut rocket: Rocket<Build>) -> Rocket<Build> {
|
||||
),
|
||||
|
||||
),
|
||||
components(
|
||||
schemas(
|
||||
Reference,
|
||||
)
|
||||
),
|
||||
modifiers(
|
||||
&Extensions,
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("server" = Reference, Path),
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::ServerBan),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::BanListResult),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("server" = Reference, Path),
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("server" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Customisation",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Vec<v0::Emoji>),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Vec<v0::Invite>),
|
||||
),
|
||||
|
||||
@@ -28,6 +28,10 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("server" = Reference, Path),
|
||||
("member" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Member),
|
||||
),
|
||||
|
||||
@@ -34,7 +34,10 @@ pub struct MemberQueryResponse {
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(OptionsQueryMembers),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
OptionsQueryMembers,
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = MemberQueryResponse),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,8 @@ use rocket::{serde::json::Json, State};
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("member" = Reference, Path),
|
||||
(
|
||||
"roles" = bool,
|
||||
Query,
|
||||
|
||||
@@ -13,7 +13,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsFetchAllMembers),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
v0::OptionsFetchAllMembers
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::AllMemberResponse),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Server Members",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("member" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("role_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Server),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Server),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::NewRoleResponse),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("role_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,10 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("role_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Role),
|
||||
),
|
||||
|
||||
@@ -12,6 +12,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Server),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
("role_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Role),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -18,7 +18,10 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Server Permissions",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsServerDelete),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
v0::OptionsServerDelete,
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -16,6 +16,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Server Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Server),
|
||||
),
|
||||
|
||||
@@ -13,7 +13,10 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Server Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(v0::OptionsFetchServer),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
v0::OptionsFetchServer
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Server),
|
||||
),
|
||||
|
||||
@@ -11,6 +11,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "Relationships",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -11,6 +11,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "Relationships",
|
||||
security(("Session-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -12,6 +12,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -15,6 +15,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::UserProfile),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path)
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -8,6 +8,9 @@ use rocket::{serde::json::Json, State};
|
||||
/// Retrieve a user's flags.
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::FlagResponse),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::MutualResponse),
|
||||
),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use revolt_database::util::reference::Reference;
|
||||
use rocket::http::ContentType;
|
||||
use rocket::response::{self, Responder};
|
||||
use rocket::{Request, Response};
|
||||
@@ -22,6 +23,9 @@ impl<'r> Responder<'r, 'static> for CachedFile {
|
||||
#[utoipa::path(
|
||||
tag = "User Information",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(
|
||||
status = 200,
|
||||
|
||||
@@ -15,6 +15,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Direct Messaging",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Channel),
|
||||
),
|
||||
|
||||
@@ -11,6 +11,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "Relationships",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -11,6 +11,9 @@ use rocket::State;
|
||||
#[utoipa::path(
|
||||
tag = "Relationships",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("target" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::User),
|
||||
),
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket_empty::EmptyResponse;
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -8,6 +8,10 @@ use rocket_empty::EmptyResponse;
|
||||
/// Deletes a webhook with a token
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
("token" = String, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 204),
|
||||
),
|
||||
|
||||
@@ -14,6 +14,9 @@ use validator::Validate;
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Webhook),
|
||||
),
|
||||
|
||||
@@ -10,6 +10,10 @@ use rocket::{serde::json::Json, State};
|
||||
/// Edits a webhook with a token
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
("token" = String, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Webhook),
|
||||
),
|
||||
|
||||
@@ -15,7 +15,11 @@ use validator::Validate;
|
||||
/// Executes a webhook and sends a message
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
params(IdempotencyKey),
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
("token" = String, Path),
|
||||
IdempotencyKey,
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = v0::Message)
|
||||
)
|
||||
|
||||
@@ -713,7 +713,16 @@ fn convert_event(data: &str, event_name: &str) -> Result<Event> {
|
||||
/// Executes a webhook specific to github and sends a message containing the relevant info about the event
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
params(EventHeader)
|
||||
request_body(
|
||||
content = String,
|
||||
content_type = "application/json",
|
||||
description = "Github event payload",
|
||||
),
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
("token" = String, Path),
|
||||
EventHeader,
|
||||
),
|
||||
)]
|
||||
#[post("/<webhook_id>/<token>/github", data = "<data>")]
|
||||
pub async fn webhook_execute_github(
|
||||
|
||||
@@ -13,6 +13,9 @@ use rocket::{serde::json::Json, State};
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
security(("Session-Token" = []), ("Bot-Token" = [])),
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Webhook),
|
||||
),
|
||||
|
||||
@@ -8,6 +8,10 @@ use rocket::{serde::json::Json, State};
|
||||
/// Gets a webhook with a token
|
||||
#[utoipa::path(
|
||||
tag = "Webhooks",
|
||||
params(
|
||||
("webhook_id" = Reference, Path),
|
||||
("token" = String, Path),
|
||||
),
|
||||
responses(
|
||||
(status = 200, body = Webhook),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user