diff --git a/Cargo.lock b/Cargo.lock index d74da317..63bd840a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2842,9 +2842,9 @@ dependencies = [ "regex", "reqwest", "revolt-quark", + "revolt_rocket_okapi", "rocket", - "rocket_empty", - "rocket_okapi", + "rocket_empty 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rocket_rauth", "schemars", "serde", @@ -2880,7 +2880,6 @@ dependencies = [ "mongodb", "nanoid", "num_enum", - "okapi", "once_cell", "optional_struct", "pretty_env_logger", @@ -2888,11 +2887,12 @@ dependencies = [ "redis-kiss", "regex", "reqwest", + "revolt_okapi", + "revolt_rocket_okapi", "rocket", "rocket_cors", - "rocket_empty", + "rocket_empty 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rocket_http", - "rocket_okapi", "schemars", "sentry", "serde", @@ -2902,6 +2902,47 @@ dependencies = [ "web-push", ] +[[package]] +name = "revolt_okapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23bfdf7ae769c3042fe727f6e5c17363b02a64b4b33ad60c3e5f73b26df7835b" +dependencies = [ + "log", + "schemars", + "serde", + "serde_json", +] + +[[package]] +name = "revolt_rocket_okapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "275e1e9bd3343f75225cafa64f4bfb939c8b21c5f861141180fc0e24769ff6cf" +dependencies = [ + "either", + "log", + "revolt_okapi", + "revolt_rocket_okapi_codegen", + "rocket", + "schemars", + "serde", + "serde_json", +] + +[[package]] +name = "revolt_rocket_okapi_codegen" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6620569d8ac8f0a1690fcca13f488503807a60e96ebf729749b59aca1dbef9" +dependencies = [ + "darling", + "proc-macro2", + "quote 1.0.18", + "rocket_http", + "syn 1.0.96", +] + [[package]] name = "ring" version = "0.16.20" @@ -2996,9 +3037,10 @@ dependencies = [ [[package]] name = "rocket_cors" -version = "0.5.2" -source = "git+https://github.com/lawliet89/rocket_cors?rev=5843861a88958c16bfaa0b40f0d8910772bcd2f6#5843861a88958c16bfaa0b40f0d8910772bcd2f6" +version = "0.6.0-alpha1" +source = "git+https://github.com/lawliet89/rocket_cors?rev=c17e8145baa4790319fdb6a473e465b960f55e7c#c17e8145baa4790319fdb6a473e465b960f55e7c" dependencies = [ + "http", "log", "regex", "rocket", @@ -3011,12 +3053,21 @@ dependencies = [ [[package]] name = "rocket_empty" -version = "0.1.0" -source = "git+https://github.com/insertish/rocket_empty?branch=master#9d8234fc3bb215ea241b787301e8cff68ae53652" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0922e47f981204fee38578a8efcf47a5c1a4ac0eb7f59e6bdfa3e61c8e3d69" +dependencies = [ + "revolt_okapi", + "revolt_rocket_okapi", + "rocket", +] + +[[package]] +name = "rocket_empty" +version = "0.1.1" +source = "git+https://github.com/insertish/rocket_empty?branch=master#7488be6a5d2a70744fe81b9dcc60df5866b4c8ba" dependencies = [ - "okapi", "rocket", - "rocket_okapi", ] [[package]] @@ -3082,7 +3133,7 @@ dependencies = [ "okapi", "rauth", "rocket", - "rocket_empty", + "rocket_empty 0.1.1 (git+https://github.com/insertish/rocket_empty?branch=master)", "rocket_okapi", "schemars", "serde", diff --git a/crates/delta/Cargo.toml b/crates/delta/Cargo.toml index c59b7b50..39d2814b 100644 --- a/crates/delta/Cargo.toml +++ b/crates/delta/Cargo.toml @@ -51,13 +51,12 @@ mobc-redis = { version = "0.7.0", default-features = false, features = ["async-s # web rocket = { version = "0.5.0-rc.2", default-features = false, features = ["json"] } -rocket_empty = { git = "https://github.com/insertish/rocket_empty", branch = "master" } +rocket_empty = { version = "0.1.1", features = ["schema"] } rocket_rauth = { git = "https://github.com/insertish/rauth", rev = "cbdec69c684a4854fbedba9ed1f0e7ee466bf3f7" } # spec generation schemars = "0.8.8" -# rocket_okapi = "0.8.0-rc.1" -rocket_okapi = { git = "https://github.com/insertish/okapi", rev = "a1048d0c8cd771e424ec97d33d825c32e06aa120", features = [ "swagger" ] } +revolt_rocket_okapi = { version = "0.9.1", features = [ "swagger" ] } # quark revolt-quark = { path = "../quark" } diff --git a/crates/delta/src/main.rs b/crates/delta/src/main.rs index 1851101e..728bdcf6 100644 --- a/crates/delta/src/main.rs +++ b/crates/delta/src/main.rs @@ -1,7 +1,7 @@ #[macro_use] extern crate rocket; #[macro_use] -extern crate rocket_okapi; +extern crate revolt_rocket_okapi; #[macro_use] extern crate serde_json; #[macro_use] diff --git a/crates/delta/src/routes/bots/mod.rs b/crates/delta/src/routes/bots/mod.rs index c29b90e5..0ae1a954 100644 --- a/crates/delta/src/routes/bots/mod.rs +++ b/crates/delta/src/routes/bots/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod create; mod delete; diff --git a/crates/delta/src/routes/channels/mod.rs b/crates/delta/src/routes/channels/mod.rs index 255660d4..60ff88cd 100644 --- a/crates/delta/src/routes/channels/mod.rs +++ b/crates/delta/src/routes/channels/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod channel_ack; mod channel_delete; diff --git a/crates/delta/src/routes/customisation/mod.rs b/crates/delta/src/routes/customisation/mod.rs index 19ce099a..56d40995 100644 --- a/crates/delta/src/routes/customisation/mod.rs +++ b/crates/delta/src/routes/customisation/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod emoji_create; mod emoji_delete; diff --git a/crates/delta/src/routes/invites/mod.rs b/crates/delta/src/routes/invites/mod.rs index 059b6d94..7d64a7d9 100644 --- a/crates/delta/src/routes/invites/mod.rs +++ b/crates/delta/src/routes/invites/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod invite_delete; mod invite_fetch; diff --git a/crates/delta/src/routes/mod.rs b/crates/delta/src/routes/mod.rs index f50ef91f..b1af7ecf 100644 --- a/crates/delta/src/routes/mod.rs +++ b/crates/delta/src/routes/mod.rs @@ -1,7 +1,7 @@ +use revolt_rocket_okapi::{revolt_okapi::openapi3::OpenApi, settings::OpenApiSettings}; pub use rocket::http::Status; pub use rocket::response::Redirect; use rocket::{Build, Rocket}; -use rocket_okapi::{okapi::openapi3::OpenApi, settings::OpenApiSettings}; mod bots; mod channels; @@ -39,7 +39,7 @@ pub fn mount(mut rocket: Rocket) -> Rocket { } fn custom_openapi_spec() -> OpenApi { - use rocket_okapi::okapi::openapi3::*; + use revolt_rocket_okapi::revolt_okapi::openapi3::*; let mut extensions = schemars::Map::new(); extensions.insert( diff --git a/crates/delta/src/routes/onboard/mod.rs b/crates/delta/src/routes/onboard/mod.rs index 16ec2708..68da95ab 100644 --- a/crates/delta/src/routes/onboard/mod.rs +++ b/crates/delta/src/routes/onboard/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod complete; mod hello; diff --git a/crates/delta/src/routes/push/mod.rs b/crates/delta/src/routes/push/mod.rs index e5d5d151..2409dc60 100644 --- a/crates/delta/src/routes/push/mod.rs +++ b/crates/delta/src/routes/push/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod subscribe; mod unsubscribe; diff --git a/crates/delta/src/routes/servers/mod.rs b/crates/delta/src/routes/servers/mod.rs index 8cea54f2..15cdd735 100644 --- a/crates/delta/src/routes/servers/mod.rs +++ b/crates/delta/src/routes/servers/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod ban_create; mod ban_list; diff --git a/crates/delta/src/routes/sync/mod.rs b/crates/delta/src/routes/sync/mod.rs index 4083bd44..35acf239 100644 --- a/crates/delta/src/routes/sync/mod.rs +++ b/crates/delta/src/routes/sync/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod get_settings; mod get_unreads; diff --git a/crates/delta/src/routes/users/get_default_avatar.rs b/crates/delta/src/routes/users/get_default_avatar.rs index b388ba6b..5b39b320 100644 --- a/crates/delta/src/routes/users/get_default_avatar.rs +++ b/crates/delta/src/routes/users/get_default_avatar.rs @@ -1,7 +1,7 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::{self, MediaType, RefOr}; use rocket::http::ContentType; use rocket::response::{self, Responder}; use rocket::{Request, Response}; -use rocket_okapi::okapi::openapi3::{self, MediaType, RefOr}; use schemars::schema::{InstanceType, SchemaObject, SingleOrVec}; pub struct CachedFile((ContentType, Vec)); @@ -16,10 +16,10 @@ impl<'r> Responder<'r, 'static> for CachedFile { } } -impl rocket_okapi::response::OpenApiResponderInner for CachedFile { +impl revolt_rocket_okapi::response::OpenApiResponderInner for CachedFile { fn responses( - _gen: &mut rocket_okapi::gen::OpenApiGenerator, - ) -> std::result::Result { + _gen: &mut revolt_rocket_okapi::gen::OpenApiGenerator, + ) -> std::result::Result { let mut responses = schemars::Map::new(); let mut content = schemars::Map::new(); diff --git a/crates/delta/src/routes/users/mod.rs b/crates/delta/src/routes/users/mod.rs index 008ae216..2908148d 100644 --- a/crates/delta/src/routes/users/mod.rs +++ b/crates/delta/src/routes/users/mod.rs @@ -1,5 +1,5 @@ +use revolt_rocket_okapi::revolt_okapi::openapi3::OpenApi; use rocket::Route; -use rocket_okapi::okapi::openapi3::OpenApi; mod add_friend; mod block_user; diff --git a/crates/quark/Cargo.toml b/crates/quark/Cargo.toml index 52659170..4c85f53f 100644 --- a/crates/quark/Cargo.toml +++ b/crates/quark/Cargo.toml @@ -38,10 +38,8 @@ bson = { version = "2.1.0", features = ["chrono-0_4"] } # Spec Generation schemars = "0.8.8" -okapi = { git = "https://github.com/insertish/okapi", rev = "a1048d0c8cd771e424ec97d33d825c32e06aa120" } -rocket_okapi = { git = "https://github.com/insertish/okapi", rev = "a1048d0c8cd771e424ec97d33d825c32e06aa120" } -# okapi = "0.7.0-rc.1" -# rocket_okapi = "0.8.0-rc.1" +revolt_okapi = "0.9.1" +revolt_rocket_okapi = { version = "0.9.1", features = [ "swagger" ] } # Databases redis-kiss = { version = "0.1.3" } @@ -82,8 +80,8 @@ web-push = "0.7.2" # Implementations rocket_http = { optional = true, version = "0.5.0-rc.2" } rocket = { optional = true, version = "0.5.0-rc.2", default-features = false, features = ["json"] } -rocket_empty = { optional = true, git = "https://github.com/insertish/rocket_empty", branch = "master" } -rocket_cors = { optional = true, git = "https://github.com/lawliet89/rocket_cors", rev = "5843861a88958c16bfaa0b40f0d8910772bcd2f6" } +rocket_empty = { version = "0.1.1", optional = true, features = [ "schema" ] } +rocket_cors = { optional = true, git = "https://github.com/lawliet89/rocket_cors", rev = "c17e8145baa4790319fdb6a473e465b960f55e7c" } # rAuth rauth = { git = "https://github.com/insertish/rauth", rev = "cbdec69c684a4854fbedba9ed1f0e7ee466bf3f7", features = [ "async-std-runtime" ] } diff --git a/crates/quark/src/impl/rocket.rs b/crates/quark/src/impl/rocket.rs index f36c8e1a..0756bd38 100644 --- a/crates/quark/src/impl/rocket.rs +++ b/crates/quark/src/impl/rocket.rs @@ -1,7 +1,7 @@ -use okapi::openapi3::{SecurityScheme, SecuritySchemeData}; use rauth::models::Session; -use rocket_okapi::gen::OpenApiGenerator; -use rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; +use revolt_okapi::openapi3::{SecurityScheme, SecuritySchemeData}; +use revolt_rocket_okapi::gen::OpenApiGenerator; +use revolt_rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; use rocket::http::Status; use rocket::request::{self, FromRequest, Outcome, Request}; @@ -53,7 +53,7 @@ impl<'r> OpenApiFromRequest<'r> for User { _gen: &mut OpenApiGenerator, _name: String, _required: bool, - ) -> rocket_okapi::Result { + ) -> revolt_rocket_okapi::Result { let mut requirements = schemars::Map::new(); requirements.insert("Session Token".to_owned(), vec![]); diff --git a/crates/quark/src/util/result.rs b/crates/quark/src/util/result.rs index 6ee2fe63..995ad6e2 100644 --- a/crates/quark/src/util/result.rs +++ b/crates/quark/src/util/result.rs @@ -1,4 +1,5 @@ -use okapi::openapi3::{self, SchemaObject}; +use revolt_okapi::openapi3::SchemaObject; +use revolt_rocket_okapi::revolt_okapi::openapi3; use rocket::{ http::{ContentType, Status}, response::{self, Responder}, @@ -194,11 +195,11 @@ impl<'r> Responder<'r, 'static> for Error { } } -impl rocket_okapi::response::OpenApiResponderInner for Error { +impl revolt_rocket_okapi::response::OpenApiResponderInner for Error { fn responses( - gen: &mut rocket_okapi::gen::OpenApiGenerator, - ) -> std::result::Result { - let mut content = okapi::Map::new(); + gen: &mut revolt_rocket_okapi::gen::OpenApiGenerator, + ) -> std::result::Result { + let mut content = revolt_okapi::Map::new(); let settings = schemars::gen::SchemaSettings::default().with(|s| { s.option_nullable = true; diff --git a/crates/quark/src/web/idempotency.rs b/crates/quark/src/web/idempotency.rs index c1e0230c..769341e7 100644 --- a/crates/quark/src/web/idempotency.rs +++ b/crates/quark/src/web/idempotency.rs @@ -1,11 +1,11 @@ use crate::{Error, Result}; use async_std::sync::Mutex; +use revolt_rocket_okapi::gen::OpenApiGenerator; +use revolt_rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; +use revolt_rocket_okapi::revolt_okapi::openapi3::{Parameter, ParameterValue}; use rocket::http::Status; use rocket::request::{FromRequest, Outcome}; -use rocket_okapi::gen::OpenApiGenerator; -use rocket_okapi::okapi::openapi3::{Parameter, ParameterValue}; -use rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; use schemars::schema::{InstanceType, SchemaObject, SingleOrVec}; use serde::{Deserialize, Serialize}; use validator::Validate; @@ -47,7 +47,7 @@ impl<'r> OpenApiFromRequest<'r> for IdempotencyKey { _gen: &mut OpenApiGenerator, _name: String, _required: bool, - ) -> rocket_okapi::Result { + ) -> revolt_rocket_okapi::Result { Ok(RequestHeaderInput::Parameter(Parameter { name: "Idempotency-Key".to_string(), description: Some("Unique key to prevent duplicate requests".to_string()), diff --git a/crates/quark/src/web/ratelimiter.rs b/crates/quark/src/web/ratelimiter.rs index d77701db..853d9aa8 100644 --- a/crates/quark/src/web/ratelimiter.rs +++ b/crates/quark/src/web/ratelimiter.rs @@ -16,8 +16,8 @@ use rocket::request::{FromRequest, Outcome}; use rocket::serde::json::Json; use rocket::{Data, Request, Response}; -use rocket_okapi::gen::OpenApiGenerator; -use rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; +use revolt_rocket_okapi::gen::OpenApiGenerator; +use revolt_rocket_okapi::request::{OpenApiFromRequest, RequestHeaderInput}; use serde::Serialize; @@ -241,7 +241,7 @@ impl<'r> OpenApiFromRequest<'r> for Ratelimiter { _gen: &mut OpenApiGenerator, _name: String, _required: bool, - ) -> rocket_okapi::Result { + ) -> revolt_rocket_okapi::Result { Ok(RequestHeaderInput::None) } } diff --git a/crates/quark/src/web/swagger.rs b/crates/quark/src/web/swagger.rs index d84bb643..fcfe3a91 100644 --- a/crates/quark/src/web/swagger.rs +++ b/crates/quark/src/web/swagger.rs @@ -1,7 +1,7 @@ use rocket::Route; pub fn routes() -> Vec { - rocket_okapi::swagger_ui::make_swagger_ui(&rocket_okapi::swagger_ui::SwaggerUIConfig { + revolt_rocket_okapi::swagger_ui::make_swagger_ui(&revolt_rocket_okapi::swagger_ui::SwaggerUIConfig { url: "../openapi.json".to_owned(), ..Default::default() })