Update January definitions; add servers collection

This commit is contained in:
Paul
2021-05-08 17:08:45 +01:00
parent 7293abfc53
commit 0f100213ba
7 changed files with 34 additions and 13 deletions

View File

@@ -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)]

View File

@@ -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::*;

View File

@@ -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,
}*/
}

View File

@@ -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.");

View File

@@ -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
}