Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Fix intervals

Fix intervals #3675

Triggered via push October 10, 2024 03:46
Status Success
Total duration 14m 30s
Artifacts
Fit to window
Zoom out
Zoom in

Annotations

46 warnings
deref which would be done by auto-deref: src/routes/v3/payouts.rs#L737
warning: deref which would be done by auto-deref --> src/routes/v3/payouts.rs:737:52 | 737 | let balance = get_user_balance(user.id.into(), &**pool).await?; | ^^^^^^^ help: try: `&pool` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
deref which would be done by auto-deref: src/routes/v3/payouts.rs#L355
warning: deref which would be done by auto-deref --> src/routes/v3/payouts.rs:355:52 | 355 | let balance = get_user_balance(user.id.into(), &**pool).await?; | ^^^^^^^ help: try: `&pool` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
useless conversion to the same type: `database::models::ids::UserId`: src/routes/v3/payouts.rs#L355
warning: useless conversion to the same type: `database::models::ids::UserId` --> src/routes/v3/payouts.rs:355:36 | 355 | let balance = get_user_balance(user.id.into(), &**pool).await?; | ^^^^^^^^^^^^^^ help: consider removing `.into()`: `user.id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
match can be simplified with `.unwrap_or_default()`: src/routes/v2/version_creation.rs#L109
warning: match can be simplified with `.unwrap_or_default()` --> src/routes/v2/version_creation.rs:109:44 | 109 | Ok(loader_response) => match v2_reroute::extract_ok_json::< | ____________________________________________^ 110 | | Vec<v3::tags::LoaderData>, 111 | | >(loader_response) 112 | | .await ... | 115 | | Err(_) => vec![], 116 | | }, | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default help: replace it with | 109 ~ Ok(loader_response) => (v2_reroute::extract_ok_json::< 110 + Vec<v3::tags::LoaderData>, 111 + >(loader_response) 112 ~ .await).unwrap_or_default(), |
redundant closure: src/routes/internal/gdpr.rs#L158
warning: redundant closure --> src/routes/internal/gdpr.rs:158:14 | 158 | .map(|x| crate::models::billing::UserSubscription::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::billing::UserSubscription::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L149
warning: redundant closure --> src/routes/internal/gdpr.rs:149:18 | 149 | .map(|x| crate::models::images::Image::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::images::Image::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L113
warning: redundant closure --> src/routes/internal/gdpr.rs:113:14 | 113 | .map(|x| crate::models::reports::Report::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::reports::Report::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L105
warning: redundant closure --> src/routes/internal/gdpr.rs:105:14 | 105 | .map(|x| crate::models::payouts::Payout::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::payouts::Payout::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L84
warning: redundant closure --> src/routes/internal/gdpr.rs:84:14 | 84 | .map(|x| crate::models::oauth_clients::OAuthClientAuthorization::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::oauth_clients::OAuthClientAuthorization::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L76
warning: redundant closure --> src/routes/internal/gdpr.rs:76:14 | 76 | .map(|x| crate::models::oauth_clients::OAuthClient::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::oauth_clients::OAuthClient::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L67
warning: redundant closure --> src/routes/internal/gdpr.rs:67:10 | 67 | .map(|x| crate::models::notifications::Notification::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::notifications::Notification::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L49
warning: redundant closure --> src/routes/internal/gdpr.rs:49:14 | 49 | .map(|x| crate::models::ids::ProjectId::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::ids::ProjectId::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L43
warning: redundant closure --> src/routes/internal/gdpr.rs:43:14 | 43 | .map(|x| crate::models::ids::ProjectId::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::ids::ProjectId::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
redundant closure: src/routes/internal/gdpr.rs#L37
warning: redundant closure --> src/routes/internal/gdpr.rs:37:18 | 37 | .map(|x| crate::models::collections::Collection::from(x)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `crate::models::collections::Collection::from` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure = note: `#[warn(clippy::redundant_closure)]` on by default
deref which would be done by auto-deref: src/routes/internal/gdpr.rs#L24
warning: deref which would be done by auto-deref --> src/routes/internal/gdpr.rs:24:9 | 24 | &*session_queue, | ^^^^^^^^^^^^^^^ help: try: `&session_queue` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref
the borrowed expression implements the required traits: src/routes/internal/flows.rs#L1396
warning: the borrowed expression implements the required traits --> src/routes/internal/flows.rs:1396:15 | 1396 | .post(&format!( | _______________^ 1397 | | "https://api.beehiiv.com/v2/publications/{id}/subscriptions" 1398 | | )) | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 1396 ~ .post(format!( 1397 + "https://api.beehiiv.com/v2/publications/{id}/subscriptions" 1398 ~ )) |
the borrowed expression implements the required traits: src/routes/internal/flows.rs#L769
warning: the borrowed expression implements the required traits --> src/routes/internal/flows.rs:769:26 | 769 | .get(&format!( | __________________________^ 770 | | "{api_url}identity/openidconnect/userinfo?schema=openid" 771 | | )) | |_____________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args help: change this to | 769 ~ .get(format!( 770 + "{api_url}identity/openidconnect/userinfo?schema=openid" 771 ~ )) |
the borrowed expression implements the required traits: src/routes/internal/flows.rs#L513
warning: the borrowed expression implements the required traits --> src/routes/internal/flows.rs:513:27 | 513 | .post(&format!("{api_url}oauth2/token")) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{api_url}oauth2/token")` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
useless conversion to the same type: `database::models::ids::UserSubscriptionId`: src/routes/internal/billing.rs#L975
warning: useless conversion to the same type: `database::models::ids::UserSubscriptionId` --> src/routes/internal/billing.rs:975:33 | 975 | ... subscription_id.into(), | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `subscription_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion = note: `#[warn(clippy::useless_conversion)]` on by default
called `is_some()` after searching an `Iterator` with `find`: src/routes/internal/billing.rs#L764
warning: called `is_some()` after searching an `Iterator` with `find` --> src/routes/internal/billing.rs:764:26 | 764 | .find(|x| x.product_id == product.id) | __________________________^ 765 | | .is_some() | |__________________________________^ help: consider using: `any(|x| x.product_id == product.id)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some = note: `#[warn(clippy::search_is_some)]` on by default
manual implementation of `Option::map`: src/routes/internal/billing.rs#L691
warning: manual implementation of `Option::map` --> src/routes/internal/billing.rs:691:17 | 691 | / if let Some(interval) = charge.subscription_interval { 692 | | Some(interval) 693 | | } else { 694 | | None 695 | | }, | |_________________^ help: try: `charge.subscription_interval.map(|interval| interval)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map = note: `#[warn(clippy::manual_map)]` on by default
you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let`: src/routes/internal/billing.rs#L178
warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` --> src/routes/internal/billing.rs:178:13 | 178 | / match &current_price.prices { 179 | | Price::Recurring { intervals } => { 180 | | if let Some(price) = intervals.get(interval) { 181 | | open_charge.subscription_interval = Some(*interval); ... | 189 | | _ => {} 190 | | }; | |_____________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match = note: `#[warn(clippy::single_match)]` on by default help: try | 178 ~ if let Price::Recurring { intervals } = &current_price.prices { 179 + if let Some(price) = intervals.get(interval) { 180 + open_charge.subscription_interval = Some(*interval); 181 + open_charge.amount = *price as i64; 182 + } else { 183 + return Err(ApiError::InvalidInput( 184 + "Interval is not valid for this subscription!".to_string(), 185 + )); 186 + } 187 ~ }; |
the borrowed expression implements the required traits: src/queue/payouts.rs#L77
warning: the borrowed expression implements the required traits --> src/queue/payouts.rs:77:19 | 77 | .post(&format!("{}oauth2/token", dotenvy::var("PAYPAL_API_URL")?)) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("{}oauth2/token", dotenvy::var("PAYPAL_API_URL")?)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args
the borrowed expression implements the required traits: src/file_hosting/backblaze/delete.rs#L18
warning: the borrowed expression implements the required traits --> src/file_hosting/backblaze/delete.rs:18:15 | 18 | .post(&format!( | _______________^ 19 | | "{}/b2api/v2/b2_delete_file_version", 20 | | authorization_data.api_url 21 | | )) | |_________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default help: change this to | 18 ~ .post(format!( 19 + "{}/b2api/v2/b2_delete_file_version", 20 + authorization_data.api_url 21 ~ )) |
deref which would be done by auto-deref: src/database/models/charge_item.rs#L54
warning: deref which would be done by auto-deref --> src/database/models/charge_item.rs:54:53 | 54 | .map(|x| PriceDuration::from_string(&*x)), | ^^^ help: try: `&x` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref = note: `#[warn(clippy::explicit_auto_deref)]` on by default
this function depends on never type fallback being `()`: src/queue/analytics.rs#L67
warning: this function depends on never type fallback being `()` --> src/queue/analytics.rs:67:5 | 67 | / pub async fn index( 68 | | &self, 69 | | client: clickhouse::Client, 70 | | redis: &RedisPool, 71 | | pool: &PgPool, 72 | | ) -> Result<(), ApiError> { | |_____________________________^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748> = help: specify the types explicitly note: in edition 2024, the requirement `!: redis::FromRedisValue` will fail --> src/queue/analytics.rs:143:18 | 143 | pipe.query_async(&mut *redis) | ^^^^^^^^^^^
this function depends on never type fallback being `()`: src/database/redis.rs#L504
warning: this function depends on never type fallback being `()` --> src/database/redis.rs:504:5 | 504 | / pub async fn delete_many( 505 | | &mut self, 506 | | iter: impl IntoIterator<Item = (&str, Option<String>)>, 507 | | ) -> Result<(), DatabaseError> { | |__________________________________^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748> = help: specify the types explicitly note: in edition 2024, the requirement `!: redis::FromRedisValue` will fail --> src/database/redis.rs:521:13 | 521 | redis_execute(&mut cmd, &mut self.connection).await?; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this function depends on never type fallback being `()`: src/database/redis.rs#L491
warning: this function depends on never type fallback being `()` --> src/database/redis.rs:491:5 | 491 | / pub async fn delete<T1>(&mut self, namespace: &str, id: T1) -> Result<(), DatabaseError> 492 | | where 493 | | T1: Display, | |____________________^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748> = help: specify the types explicitly note: in edition 2024, the requirement `!: redis::FromRedisValue` will fail --> src/database/redis.rs:500:9 | 500 | redis_execute(&mut cmd, &mut self.connection).await?; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this function depends on never type fallback being `()`: src/database/redis.rs#L421
warning: this function depends on never type fallback being `()` --> src/database/redis.rs:421:5 | 421 | / pub async fn set( 422 | | &mut self, 423 | | namespace: &str, 424 | | id: &str, 425 | | data: &str, 426 | | expiry: Option<i64>, 427 | | ) -> Result<(), DatabaseError> { | |__________________________________^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748> = help: specify the types explicitly note: in edition 2024, the requirement `!: redis::FromRedisValue` will fail --> src/database/redis.rs:439:9 | 439 | redis_execute(&mut cmd, &mut self.connection).await?; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
this function depends on never type fallback being `()`: src/database/redis.rs#L133
warning: this function depends on never type fallback being `()` --> src/database/redis.rs:133:5 | 133 | / pub async fn get_cached_keys_raw_with_slug<F, Fut, T, I, K, S>( 134 | | &self, 135 | | namespace: &str, 136 | | slug_namespace: Option<&str>, ... | 146 | | K: Display + Hash + Eq + PartialEq + Clone + DeserializeOwned + Serialize, 147 | | S: Display + Clone + DeserializeOwned + Serialize + Debug, | |__________________________________________________________________^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #123748 <https://github.com/rust-lang/rust/issues/123748> = help: specify the types explicitly note: in edition 2024, the requirement `!: redis::FromRedisValue` will fail --> src/database/redis.rs:366:22 | 366 | pipe.query_async(&mut connection).await?; | ^^^^^^^^^^^ = note: `#[warn(dependency_on_unit_never_type_fallback)]` on by default
this `else { if .. }` block can be collapsed: src/routes/internal/billing.rs#L1160
warning: this `else { if .. }` block can be collapsed --> src/routes/internal/billing.rs:1160:40 | 1160 | ... } else { | ______________________________^ 1161 | | ... if let Some(PaymentRequestMetadata::Pyro { 1162 | | ... server_name, 1163 | | ... source, ... | 1190 | | ... } 1191 | | ... } | |_______________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if = note: `#[warn(clippy::collapsible_else_if)]` on by default help: collapse nested if block | 1160 ~ } else if let Some(PaymentRequestMetadata::Pyro { 1161 + server_name, 1162 + source, 1163 + }) = &metadata.payment_metadata 1164 + { 1165 + let server_name = 1166 + server_name.clone().unwrap_or_else(|| { 1167 + format!("{}'s server", metadata.user_item.username) 1168 + }); 1169 + 1170 + let res = client 1171 + .post("https://archon.pyro.host/v0/servers/create") 1172 + .header("X-Master-Key", dotenvy::var("PYRO_API_KEY")?) 1173 + .json(&serde_json::json!({ 1174 + "user_id": to_base62(metadata.user_item.id.0 as u64), 1175 + "name": server_name, 1176 + "specs": { 1177 + "ram": ram, 1178 + "cpu": std::cmp::max(2, (ram / 1024) / 2), 1179 + "swap": ram / 4, 1180 + }, 1181 + "source": source, 1182 + })) 1183 + .send() 1184 + .await; 1185 + 1186 + if let Err(e) = res { 1187 + warn!("Error creating pyro server: {:?}", e); 1188 + } 1189 + } |
docker
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, docker/metadata-action@v3, docker/login-action@v1, docker/build-push-action@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
docker
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v2, docker/metadata-action@v3, docker/login-action@v1, docker/build-push-action@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
docker
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/