diff --git a/crates/zino-actix/Cargo.toml b/crates/zino-actix/Cargo.toml index c45db657..2863e979 100644 --- a/crates/zino-actix/Cargo.toml +++ b/crates/zino-actix/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-actix" description = "Integrations with actix-web for zino." -version = "0.5.0" +version = "0.5.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -36,19 +36,19 @@ features = ["actix-web"] [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["runtime-tokio"] [dependencies.zino-http] path = "../zino-http" -version = "0.3.0" +version = "0.3.1" features = ["http02"] [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" optional = true [dependencies.zino-openapi] path = "../zino-openapi" -version = "0.2.0" +version = "0.2.1" diff --git a/crates/zino-amis/Cargo.toml b/crates/zino-amis/Cargo.toml index 9c853148..d0a22ab1 100644 --- a/crates/zino-amis/Cargo.toml +++ b/crates/zino-amis/Cargo.toml @@ -15,7 +15,7 @@ readme = "README.md" [dependencies] hyper-staticfile = "0.10.1" phf = "0.11.2" -serde_json = "1.0.134" +serde_json = "1.0.135" tracing = "0.1.41" [dependencies.hyper] diff --git a/crates/zino-auth/Cargo.toml b/crates/zino-auth/Cargo.toml index 99e34bbe..0d316f84 100644 --- a/crates/zino-auth/Cargo.toml +++ b/crates/zino-auth/Cargo.toml @@ -81,7 +81,7 @@ version = "0.4.2" optional = true [dependencies.sqids] -version = "0.4.1" +version = "0.4.2" optional = true [dependencies.toml] @@ -90,4 +90,4 @@ default-features = false [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" diff --git a/crates/zino-auth/src/ldap_client.rs b/crates/zino-auth/src/ldap_client.rs index 335e05f7..8dac92f1 100644 --- a/crates/zino-auth/src/ldap_client.rs +++ b/crates/zino-auth/src/ldap_client.rs @@ -41,9 +41,7 @@ impl LdapClient { } Ok(()) }); - let mut plugin = Plugin::new("ldap-client"); - plugin.set_loader(loader); - plugin + Plugin::with_loader("ldap-client", loader) } /// Returns an existing LDAP connection from the pool or creates a new one if required. diff --git a/crates/zino-auth/src/rauthy_client.rs b/crates/zino-auth/src/rauthy_client.rs index d551543c..3349020f 100644 --- a/crates/zino-auth/src/rauthy_client.rs +++ b/crates/zino-auth/src/rauthy_client.rs @@ -71,8 +71,6 @@ impl RauthyClient { } Ok(()) }); - let mut plugin = Plugin::new("rauthy-client"); - plugin.set_loader(loader); - plugin + Plugin::with_loader("rauthy-client", loader) } } diff --git a/crates/zino-axum/Cargo.toml b/crates/zino-axum/Cargo.toml index 75b9b0ce..34d1216f 100644 --- a/crates/zino-axum/Cargo.toml +++ b/crates/zino-axum/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-axum" description = "Integrations with axum for zino." -version = "0.5.0" +version = "0.5.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -62,18 +62,18 @@ features = ["axum"] [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["runtime-tokio"] [dependencies.zino-http] path = "../zino-http" -version = "0.3.0" +version = "0.3.1" [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" optional = true [dependencies.zino-openapi] path = "../zino-openapi" -version = "0.2.0" +version = "0.2.1" diff --git a/crates/zino-channel/Cargo.toml b/crates/zino-channel/Cargo.toml index f53017fe..13f791d2 100644 --- a/crates/zino-channel/Cargo.toml +++ b/crates/zino-channel/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-channel" description = "Cloud events and subscriptions for zino." -version = "0.3.0" +version = "0.3.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -26,7 +26,7 @@ flume = [ ] [dependencies] -serde_json = "1.0.134" +serde_json = "1.0.135" [dependencies.ahash] version = "0.8.11" @@ -50,4 +50,4 @@ features = ["derive"] [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" diff --git a/crates/zino-chatbot/Cargo.toml b/crates/zino-chatbot/Cargo.toml index 93469b86..007b45f4 100644 --- a/crates/zino-chatbot/Cargo.toml +++ b/crates/zino-chatbot/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-chatbot" description = "Unified access to chatbot services for zino." -version = "0.3.0" +version = "0.3.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -13,7 +13,7 @@ documentation = "https://docs.rs/zino-chatbot" readme = "README.md" [dependencies] -async-openai = "0.26.0" +async-openai = "0.27.0" futures = "0.3.31" tracing = "0.1.41" @@ -23,5 +23,5 @@ default-features = false [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["http-client"] \ No newline at end of file diff --git a/crates/zino-connector/Cargo.toml b/crates/zino-connector/Cargo.toml index cc8f76ef..0bce6100 100644 --- a/crates/zino-connector/Cargo.toml +++ b/crates/zino-connector/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-connector" description = "Unified connector to data sources for zino." -version = "0.2.0" +version = "0.2.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -106,4 +106,4 @@ optional = true [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" diff --git a/crates/zino-core/Cargo.toml b/crates/zino-core/Cargo.toml index 651484ae..48036de7 100644 --- a/crates/zino-core/Cargo.toml +++ b/crates/zino-core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-core" description = "Core types and traits for zino." -version = "0.31.0" +version = "0.31.1" rust-version = "1.80" edition = "2021" license = "MIT" diff --git a/crates/zino-core/src/application/mod.rs b/crates/zino-core/src/application/mod.rs index 247aa458..32b9eaba 100644 --- a/crates/zino-core/src/application/mod.rs +++ b/crates/zino-core/src/application/mod.rs @@ -21,9 +21,7 @@ //! } //! Ok(()) //! }); -//! let mut plugin = Plugin::new("casbin"); -//! plugin.set_loader(loader); -//! plugin +//! Plugin::with_loader("casbin", loader) //! } //! } //! diff --git a/crates/zino-core/src/application/plugin.rs b/crates/zino-core/src/application/plugin.rs index ecee03e7..9ae17800 100644 --- a/crates/zino-core/src/application/plugin.rs +++ b/crates/zino-core/src/application/plugin.rs @@ -31,6 +31,17 @@ impl Plugin { } } + /// Creates a new instance with the loader. + #[inline] + pub fn with_loader(name: &'static str, loader: BoxFuture<'static, Result<(), Error>>) -> Self { + Self { + name, + loader: Some(loader), + environments: SmallVec::new(), + dependencies: SmallVec::new(), + } + } + /// Sets an asynchronous loader for the plugin. #[inline] pub fn set_loader(&mut self, loader: BoxFuture<'static, Result<(), Error>>) { diff --git a/crates/zino-derive/Cargo.toml b/crates/zino-derive/Cargo.toml index 0dcdfa5e..f8b451f1 100644 --- a/crates/zino-derive/Cargo.toml +++ b/crates/zino-derive/Cargo.toml @@ -14,15 +14,15 @@ readme = "README.md" proc-macro = true [dependencies] -convert_case = "0.6.0" +convert_case = "0.7.1" proc-macro2 = "1.0.92" quote = "1.0.38" syn = "2.0.95" [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" diff --git a/crates/zino-derive/src/model.rs b/crates/zino-derive/src/model.rs index 22edca36..57be3e7b 100644 --- a/crates/zino-derive/src/model.rs +++ b/crates/zino-derive/src/model.rs @@ -1,5 +1,5 @@ use super::parser; -use convert_case::{Boundary::LowerUpper, Case, Casing}; +use convert_case::{Boundary, Case, Casing}; use proc_macro2::TokenStream; use quote::{format_ident, quote}; use syn::DeriveInput; @@ -209,7 +209,9 @@ pub(super) fn parse_token_stream(input: DeriveInput) -> TokenStream { if enable_setter && !RESERVED_FIELDS.contains(&name.as_str()) { let setter = if type_name == "String" { if is_inherent { - let name_snake = name.with_boundaries(&[LowerUpper]).to_case(Case::Snake); + let name_snake = name + .with_boundaries(&[Boundary::LOWER_UPPER]) + .to_case(Case::Snake); let parser_ident = format_ident!("parse_{}", name_snake); quote! { if let Some(value) = data.parse_string(#name) { @@ -265,7 +267,7 @@ pub(super) fn parse_token_stream(input: DeriveInput) -> TokenStream { } } else if let Some(type_generics) = parser::parse_option_type(&type_name) { let type_generics_snake = type_generics - .with_boundaries(&[LowerUpper]) + .with_boundaries(&[Boundary::LOWER_UPPER]) .to_case(Case::Snake); let parser_ident = format_ident!("parse_{}", type_generics_snake); quote! { @@ -285,7 +287,7 @@ pub(super) fn parse_token_stream(input: DeriveInput) -> TokenStream { } } else { let type_name_snake = type_name - .with_boundaries(&[LowerUpper]) + .with_boundaries(&[Boundary::LOWER_UPPER]) .to_case(Case::Snake); let parser_ident = format_ident!("parse_{}", type_name_snake); quote! { diff --git a/crates/zino-dioxus/Cargo.toml b/crates/zino-dioxus/Cargo.toml index 4e8b7e8b..87286946 100644 --- a/crates/zino-dioxus/Cargo.toml +++ b/crates/zino-dioxus/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-dioxus" description = "Dioxus components for zino." -version = "0.12.0" +version = "0.12.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -73,9 +73,9 @@ features = [ [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["runtime-tokio"] [dependencies.zino-storage] path = "../zino-storage" -version = "0.3.0" +version = "0.3.1" diff --git a/crates/zino-http/Cargo.toml b/crates/zino-http/Cargo.toml index a559890d..dd17ca1b 100644 --- a/crates/zino-http/Cargo.toml +++ b/crates/zino-http/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-http" description = "HTTP requests and responses for zino." -version = "0.3.0" +version = "0.3.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -132,14 +132,14 @@ optional = true [dependencies.zino-channel] path = "../zino-channel" -version = "0.3.0" +version = "0.3.1" [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["http-client"] [dependencies.zino-storage] path = "../zino-storage" -version = "0.3.0" +version = "0.3.1" features = ["http-client"] diff --git a/crates/zino-model/Cargo.toml b/crates/zino-model/Cargo.toml index e29b0a18..f650cb47 100644 --- a/crates/zino-model/Cargo.toml +++ b/crates/zino-model/Cargo.toml @@ -54,7 +54,7 @@ features = ["jwt"] [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["validator-email"] [dependencies.zino-derive] @@ -63,4 +63,4 @@ version = "0.29.1" [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" diff --git a/crates/zino-ntex/Cargo.toml b/crates/zino-ntex/Cargo.toml index 92fd3545..5e537c6d 100644 --- a/crates/zino-ntex/Cargo.toml +++ b/crates/zino-ntex/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-ntex" description = "Integrations with ntex for zino." -version = "0.5.0" +version = "0.5.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -27,14 +27,14 @@ features = ["compress", "tokio"] [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["runtime-tokio"] [dependencies.zino-http] path = "../zino-http" -version = "0.3.0" +version = "0.3.1" [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" optional = true diff --git a/crates/zino-openapi/Cargo.toml b/crates/zino-openapi/Cargo.toml index 5fff1043..5e6daf0d 100644 --- a/crates/zino-openapi/Cargo.toml +++ b/crates/zino-openapi/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-openapi" description = "OpenAPI support for zino." -version = "0.2.0" +version = "0.2.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -21,8 +21,8 @@ debug = [ [dependencies] ahash = "0.8.11" -convert_case = "0.6.0" -serde_json = "1.0.134" +convert_case = "0.7.1" +serde_json = "1.0.135" tracing = "0.1.41" [dependencies.toml] @@ -40,4 +40,4 @@ features = [ [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" diff --git a/crates/zino-orm/Cargo.toml b/crates/zino-orm/Cargo.toml index 4c059d37..be4661f9 100644 --- a/crates/zino-orm/Cargo.toml +++ b/crates/zino-orm/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-orm" description = "ORM for zino." -version = "0.3.0" +version = "0.3.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -27,11 +27,11 @@ orm-tidb = ["orm-sqlx", "sqlx/mysql"] apache-avro = "0.17.0" cfg-if = "1.0" chrono = "0.4.39" -convert_case = "0.6.0" +convert_case = "0.7.1" http = "1.2.0" futures = "0.3.31" regex = "1.11.1" -serde_json = "1.0.134" +serde_json = "1.0.135" smallvec = "1.13.2" tracing = "0.1.41" url = "2.5.4" @@ -57,9 +57,9 @@ default-features = false [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" [dependencies.zino-openapi] path = "../zino-openapi" -version = "0.2.0" +version = "0.2.1" optional = true diff --git a/crates/zino-orm/src/executor.rs b/crates/zino-orm/src/executor.rs index e61d8e45..3bbd8cbc 100644 --- a/crates/zino-orm/src/executor.rs +++ b/crates/zino-orm/src/executor.rs @@ -186,11 +186,11 @@ macro_rules! impl_sqlx_executor { } #[cfg(feature = "orm-sqlx")] -impl<'c> Executor for &'c sqlx::Pool { +impl Executor for &sqlx::Pool { impl_sqlx_executor!(); } #[cfg(feature = "orm-sqlx")] -impl<'c> Executor for &'c mut super::DatabaseConnection { +impl Executor for &mut super::DatabaseConnection { impl_sqlx_executor!(); } diff --git a/crates/zino-storage/Cargo.toml b/crates/zino-storage/Cargo.toml index 72ce7fab..e7cdc8ce 100644 --- a/crates/zino-storage/Cargo.toml +++ b/crates/zino-storage/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino-storage" description = "Files and storage services for zino." -version = "0.3.0" +version = "0.3.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -98,7 +98,7 @@ multer = "3.1.0" tracing = "0.1.41" [dependencies.opendal] -version = "0.51.0" +version = "0.51.1" optional = true default-features = false features = ["layers-tracing"] @@ -120,5 +120,5 @@ default-features = false [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" features = ["http-client"] diff --git a/crates/zino/Cargo.toml b/crates/zino/Cargo.toml index 24386212..dbf77001 100644 --- a/crates/zino/Cargo.toml +++ b/crates/zino/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zino" description = "Next-generation framework for composable applications in Rust." -version = "0.31.0" +version = "0.31.1" rust-version = "1.80" edition = "2021" license = "MIT" @@ -49,11 +49,11 @@ view = ["zino-http/view"] [dependencies] cfg-if = "1.0" -serde_json = "1.0.134" +serde_json = "1.0.135" [dependencies.zino-actix] path = "../zino-actix" -version = "0.5.0" +version = "0.5.1" optional = true [dependencies.zino-auth] @@ -63,38 +63,38 @@ optional = true [dependencies.zino-axum] path = "../zino-axum" -version = "0.5.0" +version = "0.5.1" optional = true [dependencies.zino-core] path = "../zino-core" -version = "0.31.0" +version = "0.31.1" [dependencies.zino-dioxus] path = "../zino-dioxus" -version = "0.12.0" +version = "0.12.1" optional = true [dependencies.zino-http] path = "../zino-http" -version = "0.3.0" +version = "0.3.1" optional = true [dependencies.zino-ntex] path = "../zino-ntex" -version = "0.5.0" +version = "0.5.1" optional = true [dependencies.zino-openapi] path = "../zino-openapi" -version = "0.2.0" +version = "0.2.1" optional = true [dependencies.zino-orm] path = "../zino-orm" -version = "0.3.0" +version = "0.3.1" optional = true [dependencies.zino-storage] path = "../zino-storage" -version = "0.3.0" +version = "0.3.1" diff --git a/examples/actix-app/Cargo.toml b/examples/actix-app/Cargo.toml index b937b6e4..6ee3bda9 100644 --- a/examples/actix-app/Cargo.toml +++ b/examples/actix-app/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "actix-app" description = "An example for actix-web integration." -version = "0.12.0" +version = "0.12.1" rust-version = "1.80" edition = "2021" publish = false @@ -19,7 +19,7 @@ features = ["derive"] [dependencies.zino] path = "../../crates/zino" -version = "0.31.0" +version = "0.31.1" features = [ "actix", "cookie", @@ -32,7 +32,7 @@ features = [ [dependencies.zino-core] path = "../../crates/zino-core" -version = "0.31.0" +version = "0.31.1" features = ["env-filter"] [dependencies.zino-derive] @@ -45,5 +45,5 @@ version = "0.29.1" [dependencies.zino-orm] path = "../../crates/zino-orm" -version = "0.3.0" +version = "0.3.1" features = ["orm-postgres"] diff --git a/examples/amis-app/Cargo.toml b/examples/amis-app/Cargo.toml index f0563267..856cc7a0 100644 --- a/examples/amis-app/Cargo.toml +++ b/examples/amis-app/Cargo.toml @@ -16,4 +16,4 @@ version = "0.3.1" [dependencies.zino-core] path = "../../crates/zino-core" -version = "0.31.0" +version = "0.31.1" diff --git a/examples/axum-app/Cargo.toml b/examples/axum-app/Cargo.toml index 6bbf9620..f5c7f7c4 100644 --- a/examples/axum-app/Cargo.toml +++ b/examples/axum-app/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axum-app" description = "An example for axum integration." -version = "0.19.0" +version = "0.19.1" rust-version = "1.80" edition = "2021" publish = false @@ -19,7 +19,7 @@ features = ["derive"] [dependencies.zino] path = "../../crates/zino" -version = "0.31.0" +version = "0.31.1" features = [ "axum", "cookie", @@ -31,7 +31,7 @@ features = [ [dependencies.zino-core] path = "../../crates/zino-core" -version = "0.31.0" +version = "0.31.1" features = ["env-filter", "validator-email"] [dependencies.zino-derive] @@ -44,5 +44,5 @@ version = "0.29.1" [dependencies.zino-orm] path = "../../crates/zino-orm" -version = "0.3.0" +version = "0.3.1" features = ["orm-mysql"] diff --git a/examples/dioxus-desktop/Cargo.toml b/examples/dioxus-desktop/Cargo.toml index a345b2b5..0b785683 100644 --- a/examples/dioxus-desktop/Cargo.toml +++ b/examples/dioxus-desktop/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "dioxus-desktop" description = "An example for Dioxus desktop integration." -version = "0.9.0" +version = "0.9.1" rust-version = "1.80" edition = "2021" publish = false [dependencies] -dioxus = "0.6.0" -dioxus-router = "0.6.0" +dioxus = "0.6.1" +dioxus-router = "0.6.1" tracing = "0.1.41" [dependencies.dioxus-free-icons] @@ -22,14 +22,14 @@ features = [ [dependencies.zino] path = "../../crates/zino" -version = "0.31.0" +version = "0.31.1" features = ["dioxus-desktop"] [dependencies.zino-core] path = "../../crates/zino-core" -version = "0.31.0" +version = "0.31.1" features = ["env-filter", "http-client", "tls-native"] [dependencies.zino-dioxus] path = "../../crates/zino-dioxus" -version = "0.12.0" +version = "0.12.1" diff --git a/examples/minimal-app/Cargo.toml b/examples/minimal-app/Cargo.toml index b2e8207f..e7f15584 100644 --- a/examples/minimal-app/Cargo.toml +++ b/examples/minimal-app/Cargo.toml @@ -1,13 +1,13 @@ [package] name = "minimal-app" description = "A minimal example to run a server." -version = "0.8.0" +version = "0.8.1" rust-version = "1.80" edition = "2021" publish = false [dependencies.zino] path = "../../crates/zino" -version = "0.31.0" +version = "0.31.1" features = ["axum"] diff --git a/examples/ntex-app/Cargo.toml b/examples/ntex-app/Cargo.toml index 104a3f3f..8aabc376 100644 --- a/examples/ntex-app/Cargo.toml +++ b/examples/ntex-app/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ntex-app" description = "An example for ntex integration." -version = "0.6.0" +version = "0.6.1" rust-version = "1.80" edition = "2021" publish = false @@ -19,7 +19,7 @@ features = ["derive"] [dependencies.zino] path = "../../crates/zino" -version = "0.31.0" +version = "0.31.1" features = [ "cookie", "i18n", @@ -31,7 +31,7 @@ features = [ [dependencies.zino-core] path = "../../crates/zino-core" -version = "0.31.0" +version = "0.31.1" features = ["env-filter"] [dependencies.zino-derive] @@ -44,5 +44,5 @@ version = "0.29.1" [dependencies.zino-orm] path = "../../crates/zino-orm" -version = "0.3.0" +version = "0.3.1" features = ["orm-postgres"]