You've already forked AstralRinth
forked from didirus/AstralRinth
Support specifying a region when creating servers (#3709)
* Support specifying a region when creating servers * Remove hardcoded default server region
This commit is contained in:
committed by
GitHub
parent
74cf3f076e
commit
f52d020a3c
@@ -997,6 +997,7 @@ pub enum ChargeRequestType {
|
|||||||
pub enum PaymentRequestMetadata {
|
pub enum PaymentRequestMetadata {
|
||||||
Pyro {
|
Pyro {
|
||||||
server_name: Option<String>,
|
server_name: Option<String>,
|
||||||
|
server_region: Option<String>,
|
||||||
source: serde_json::Value,
|
source: serde_json::Value,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -1789,33 +1790,39 @@ pub async fn stripe_webhook(
|
|||||||
.await?
|
.await?
|
||||||
.error_for_status()?;
|
.error_for_status()?;
|
||||||
} else {
|
} else {
|
||||||
let (server_name, source) = if let Some(
|
let (server_name, server_region, source) =
|
||||||
PaymentRequestMetadata::Pyro {
|
if let Some(
|
||||||
ref server_name,
|
PaymentRequestMetadata::Pyro {
|
||||||
ref source,
|
ref server_name,
|
||||||
},
|
ref server_region,
|
||||||
) =
|
ref source,
|
||||||
metadata.payment_metadata
|
},
|
||||||
{
|
) = metadata.payment_metadata
|
||||||
(server_name.clone(), source.clone())
|
{
|
||||||
} else {
|
(
|
||||||
// Create a server with the latest version of Minecraft
|
server_name.clone(),
|
||||||
let minecraft_versions = crate::database::models::legacy_loader_fields::MinecraftGameVersion::list(
|
server_region.clone(),
|
||||||
Some("release"),
|
source.clone(),
|
||||||
None,
|
)
|
||||||
&**pool,
|
} else {
|
||||||
&redis,
|
// Create a server with the latest version of Minecraft
|
||||||
).await?;
|
let minecraft_versions = crate::database::models::legacy_loader_fields::MinecraftGameVersion::list(
|
||||||
|
Some("release"),
|
||||||
|
None,
|
||||||
|
&**pool,
|
||||||
|
&redis,
|
||||||
|
).await?;
|
||||||
|
|
||||||
(
|
(
|
||||||
None,
|
None,
|
||||||
serde_json::json!({
|
None,
|
||||||
"loader": "Vanilla",
|
serde_json::json!({
|
||||||
"game_version": minecraft_versions.first().map(|x| x.version.clone()),
|
"loader": "Vanilla",
|
||||||
"loader_version": ""
|
"game_version": minecraft_versions.first().map(|x| x.version.clone()),
|
||||||
}),
|
"loader_version": ""
|
||||||
)
|
}),
|
||||||
};
|
)
|
||||||
|
};
|
||||||
|
|
||||||
let server_name = server_name
|
let server_name = server_name
|
||||||
.unwrap_or_else(|| {
|
.unwrap_or_else(|| {
|
||||||
@@ -1845,6 +1852,7 @@ pub async fn stripe_webhook(
|
|||||||
"swap_mb": swap,
|
"swap_mb": swap,
|
||||||
"storage_mb": storage,
|
"storage_mb": storage,
|
||||||
},
|
},
|
||||||
|
"region": server_region,
|
||||||
"source": source,
|
"source": source,
|
||||||
"payment_interval": metadata.charge_item.subscription_interval.map(|x| match x {
|
"payment_interval": metadata.charge_item.subscription_interval.map(|x| match x {
|
||||||
PriceDuration::Monthly => 1,
|
PriceDuration::Monthly => 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user