Allow for logos to be used as instance names
This commit is contained in:
1 parent
a1f19e86c6
commit
522e3a5717
10 files changed
+38
-10
No files matched your search
@@ -215,6 +215,10 @@ const MIGRATIONS: &[&str] = &[
|
||||
WHEN NEW.uuid <> ''
|
||||
BEGIN INSERT OR IGNORE INTO reserved_usernames VALUES (NEW.username, NEW.uuid); END;
|
||||
"#,
|
||||
// 5: instance logo url.
|
||||
r#"
|
||||
ALTER TABLE instances ADD COLUMN logo_url TEXT;
|
||||
"#,
|
||||
];
|
||||
|
||||
pub async fn connect(data_dir: &Path) -> Result<SqlitePool> {
|
||||
|
||||
@@ -349,6 +349,7 @@ pub struct InstanceInput {
|
||||
description: String,
|
||||
icon_url: Option<String>,
|
||||
banner_url: Option<String>,
|
||||
logo_url: Option<String>,
|
||||
mc_version: String,
|
||||
loader: Loader,
|
||||
loader_version: Option<String>,
|
||||
@@ -403,15 +404,16 @@ pub async fn create_instance(
|
||||
let now = crate::db::now();
|
||||
let mem = input.memory.unwrap_or_default();
|
||||
sqlx::query(
|
||||
"INSERT INTO instances (id, name, description, icon_url, banner_url, mc_version, loader, loader_version, source_kind, source_label,
|
||||
"INSERT INTO instances (id, name, description, icon_url, banner_url, logo_url, mc_version, loader, loader_version, source_kind, source_label,
|
||||
visibility, allowed_groups, memory_min, memory_max, jvm_args, server, featured, enabled, sort, created_at, updated_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'vanilla', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'vanilla', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
)
|
||||
.bind(&id)
|
||||
.bind(&input.name)
|
||||
.bind(&input.description)
|
||||
.bind(&input.icon_url)
|
||||
.bind(&input.banner_url)
|
||||
.bind(&input.logo_url)
|
||||
.bind(&input.mc_version)
|
||||
.bind(input.loader.as_str())
|
||||
.bind(&input.loader_version)
|
||||
@@ -461,7 +463,7 @@ pub async fn update_instance(
|
||||
// admin explicitly changes them here.
|
||||
let label = if existing.source_kind == "vanilla" { format!("Minecraft {}", input.mc_version) } else { existing.source_label.clone() };
|
||||
sqlx::query(
|
||||
"UPDATE instances SET name = ?, description = ?, icon_url = ?, banner_url = ?, mc_version = ?, loader = ?, loader_version = ?,
|
||||
"UPDATE instances SET name = ?, description = ?, icon_url = ?, banner_url = ?, logo_url = ?, mc_version = ?, loader = ?, loader_version = ?,
|
||||
source_label = ?, visibility = ?, allowed_groups = ?, memory_min = ?, memory_max = ?, jvm_args = ?, server = ?, featured = ?,
|
||||
enabled = ?, sort = ?, revision = revision + 1, updated_at = ? WHERE id = ?",
|
||||
)
|
||||
@@ -469,6 +471,7 @@ pub async fn update_instance(
|
||||
.bind(&input.description)
|
||||
.bind(input.icon_url.filter(|s| !s.is_empty()))
|
||||
.bind(input.banner_url.filter(|s| !s.is_empty()))
|
||||
.bind(input.logo_url.filter(|s| !s.is_empty()))
|
||||
.bind(&input.mc_version)
|
||||
.bind(input.loader.as_str())
|
||||
.bind(&input.loader_version)
|
||||
|
||||
@@ -63,6 +63,7 @@ pub struct InstanceRow {
|
||||
pub description: String,
|
||||
pub icon_url: Option<String>,
|
||||
pub banner_url: Option<String>,
|
||||
pub logo_url: Option<String>,
|
||||
pub mc_version: String,
|
||||
pub loader: String,
|
||||
pub loader_version: Option<String>,
|
||||
@@ -92,6 +93,7 @@ pub struct AdminInstance {
|
||||
pub description: String,
|
||||
pub icon_url: Option<String>,
|
||||
pub banner_url: Option<String>,
|
||||
pub logo_url: Option<String>,
|
||||
pub mc_version: String,
|
||||
pub loader: Loader,
|
||||
pub loader_version: Option<String>,
|
||||
@@ -123,6 +125,7 @@ impl InstanceRow {
|
||||
description: self.description.clone(),
|
||||
icon_url: self.icon_url.clone(),
|
||||
banner_url: self.banner_url.clone(),
|
||||
logo_url: self.logo_url.clone(),
|
||||
mc_version: self.mc_version.clone(),
|
||||
loader: Loader::parse(&self.loader).unwrap_or_default(),
|
||||
loader_version: self.loader_version.clone(),
|
||||
@@ -154,6 +157,7 @@ impl InstanceRow {
|
||||
description: a.description,
|
||||
icon_url: a.icon_url,
|
||||
banner_url: a.banner_url,
|
||||
logo_url: a.logo_url,
|
||||
mc_version: a.mc_version,
|
||||
loader: a.loader,
|
||||
loader_version: a.loader_version,
|
||||
|
||||
Reference in new issue
Block a user