Newer
Older
// use crate::database::Permission;
// use rocket_contrib::json::JsonValue;
#[response()]
Success(JsonValue),
#[response()]
Redirect(Redirect),
#[response(status = 207)]
PartialStatus(JsonValue),
#[response(status = 400)]
BadRequest(JsonValue),
#[response(status = 401)]
Unauthorized(JsonValue),
#[response(status = 401)]
LackingPermission(Permission),
#[response(status = 404)]
NotFound(JsonValue),
#[response(status = 406)]
NotAcceptable(JsonValue),
#[response(status = 409)]
Conflict(JsonValue),
#[response(status = 410)]
Gone(JsonValue),
#[response(status = 422)]
UnprocessableEntity(JsonValue),
#[response(status = 429)]
TooManyRequests(JsonValue),
#[response(status = 500)]
InternalServerError(JsonValue),
}
use rocket::http::ContentType;
use rocket::request::Request;
use std::io::Cursor;
use rocket::response::{Responder, Result};
impl<'a> Responder<'a, 'static> for Permission {
fn respond_to(self, _: &Request) -> Result<'static> {
let body = format!(
"{{\"error\":\"Lacking permission: {:?}.\",\"permission\":{}}}",
self, self as u32,
);
rocket::response::Response::build()
.header(ContentType::JSON)
.sized_body(body.len(), Cursor::new(body))
.mount("/", routes![root::root, root::teapot])
user::dms,
user::dm,
user::get_friends,
user::get_friend,
user::add_friend,
channel::add_member,
channel::remove_member,
channel::delete,
channel::messages,
channel::get_message,
channel::send_message,
channel::edit_message,
routes![
guild::my_guilds,
guild::guild,
guild::create_invite,
guild::remove_invite,
guild::fetch_invites,
guild::fetch_invite,
guild::use_invite,
guild::create_guild,
guild::fetch_members,
guild::fetch_member,