diff --git a/set_version.sh b/set_version.sh index bc535409c56926cf28f56471290d7e951d7c5609..f3e28f9e4f6b7886ab483e401c0cd2bd07e28361 100755 --- a/set_version.sh +++ b/set_version.sh @@ -1,3 +1,3 @@ #!/bin/bash -export version=0.4.1-alpha.8 +export version=0.4.1-alpha.9 echo "pub const VERSION: &str = \"${version}\";" > src/version.rs diff --git a/src/database/entities/january.rs b/src/database/entities/january.rs index 881090892d4ff1e4819ffc2040d0e701ebd24cf8..043561a5f1567b2c14631cd2853fbb6e961afd23 100644 --- a/src/database/entities/january.rs +++ b/src/database/entities/january.rs @@ -18,12 +18,21 @@ pub struct Media { #[derive(Serialize, Deserialize, Debug, Clone)] pub struct Metadata { + #[serde(skip_serializing_if = "Option::is_none")] + url: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] title: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] description: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] image: Option<Media>, + + #[serde(skip_serializing_if = "Option::is_none")] + site_name: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + icon_url: Option<String>, + #[serde(skip_serializing_if = "Option::is_none")] + color: Option<String>, } #[derive(Serialize, Deserialize, Debug, Clone)] diff --git a/src/database/entities/mod.rs b/src/database/entities/mod.rs index 90d99cba85014183b8970542c50c5597b7462d4a..49ea91b1583669c0ef55ee39d45b329172b33ac7 100644 --- a/src/database/entities/mod.rs +++ b/src/database/entities/mod.rs @@ -1,4 +1,4 @@ -mod guild; +mod server; mod autumn; mod january; mod channel; @@ -8,6 +8,6 @@ mod user; pub use january::*; pub use autumn::*; pub use channel::*; -pub use guild::*; +pub use server::*; pub use message::*; pub use user::*; diff --git a/src/database/entities/guild.rs b/src/database/entities/server.rs similarity index 78% rename from src/database/entities/guild.rs rename to src/database/entities/server.rs index 4b69b433ace0a9964b818580d170d26fc175148c..51809537e02669c0d16e426173bcbe30e62bc04a 100644 --- a/src/database/entities/guild.rs +++ b/src/database/entities/server.rs @@ -1,6 +1,6 @@ -// use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; -/*#[derive(Serialize, Deserialize, Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone)] pub struct MemberCompositeKey { pub guild: String, pub user: String, @@ -27,12 +27,11 @@ pub struct Ban { } #[derive(Serialize, Deserialize, Debug, Clone)] -pub struct Guild { +pub struct Server { #[serde(rename = "_id")] pub id: String, - // pub nonce: String, used internally - pub name: String, - pub description: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub nonce: Option<String>, pub owner: String, pub channels: Vec<String>, @@ -40,4 +39,4 @@ pub struct Guild { pub bans: Vec<Ban>, pub default_permissions: u32, -}*/ +} diff --git a/src/database/migrations/init.rs b/src/database/migrations/init.rs index 3a57826ebbc3401d3717140a81e6b5c2a495fe97..fa1ab83a51bf3df5583e665458e5bbf562569890 100644 --- a/src/database/migrations/init.rs +++ b/src/database/migrations/init.rs @@ -25,6 +25,10 @@ pub async fn create_database() { .await .expect("Failed to create messages collection."); + db.create_collection("servers", None) + .await + .expect("Failed to create servers collection."); + db.create_collection("migrations", None) .await .expect("Failed to create migrations collection."); diff --git a/src/database/migrations/scripts.rs b/src/database/migrations/scripts.rs index d926ec09497a16c7e1f6308ba4f35da246c8382e..d123ab27f001a4ddf7fd9ba105f8ce01667243d6 100644 --- a/src/database/migrations/scripts.rs +++ b/src/database/migrations/scripts.rs @@ -1,4 +1,4 @@ -use crate::database::get_collection; +use crate::database::{get_collection, get_db}; use log::info; use mongodb::bson::{doc, from_document}; @@ -10,7 +10,7 @@ struct MigrationInfo { revision: i32, } -pub const LATEST_REVISION: i32 = 2; +pub const LATEST_REVISION: i32 = 3; pub async fn migrate_database() { let migrations = get_collection("migrations"); @@ -78,6 +78,15 @@ pub async fn run_migrations(revision: i32) -> i32 { .expect("Failed to update attachments."); } + if revision <= 2 { + info!("Running migration [revision 2 / 2021-05-08]: Add servers collection."); + + get_db() + .create_collection("servers", None) + .await + .expect("Failed to create servers collection."); + } + // Reminder to update LATEST_REVISION when adding new migrations. LATEST_REVISION } diff --git a/src/version.rs b/src/version.rs index f0629a005baee96f4db0885749267467f567ec58..5716a7d6ac5e51822eacc71f61cc0619a465f541 100644 --- a/src/version.rs +++ b/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "0.4.1-alpha.7-patch.2"; +pub const VERSION: &str = "0.4.1-alpha.9";