mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 13:36:59 +00:00
feat(services/autumn): authenticate the user on upload
feat(services/autumn): file size limits on upload chore: add database migrations for new autumn things
This commit is contained in:
@@ -56,6 +56,10 @@ pub async fn create_database(db: &MongoDb) {
|
||||
.await
|
||||
.expect("Failed to create attachments collection.");
|
||||
|
||||
db.create_collection("attachment_hashes", None)
|
||||
.await
|
||||
.expect("Failed to create attachment_hashes collection.");
|
||||
|
||||
db.create_collection("user_settings", None)
|
||||
.await
|
||||
.expect("Failed to create user_settings collection.");
|
||||
@@ -209,6 +213,40 @@ pub async fn create_database(db: &MongoDb) {
|
||||
.await
|
||||
.expect("Failed to create server_members index.");
|
||||
|
||||
db.run_command(
|
||||
doc! {
|
||||
"createIndexes": "attachments",
|
||||
"indexes": [
|
||||
{
|
||||
"key": {
|
||||
"hash": 1_i32
|
||||
},
|
||||
"name": "hash"
|
||||
}
|
||||
]
|
||||
},
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to create attachments index.");
|
||||
|
||||
db.run_command(
|
||||
doc! {
|
||||
"createIndexes": "attachment_hashes",
|
||||
"indexes": [
|
||||
{
|
||||
"key": {
|
||||
"processed_hash": 1_i32
|
||||
},
|
||||
"name": "processed_hash"
|
||||
}
|
||||
]
|
||||
},
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to create attachment_hashes index.");
|
||||
|
||||
db.collection("migrations")
|
||||
.insert_one(
|
||||
doc! {
|
||||
|
||||
@@ -20,7 +20,7 @@ struct MigrationInfo {
|
||||
revision: i32,
|
||||
}
|
||||
|
||||
pub const LATEST_REVISION: i32 = 28;
|
||||
pub const LATEST_REVISION: i32 = 29;
|
||||
|
||||
pub async fn migrate_database(db: &MongoDb) {
|
||||
let migrations = db.col::<Document>("migrations");
|
||||
@@ -1094,6 +1094,51 @@ pub async fn run_migrations(db: &MongoDb, revision: i32) -> i32 {
|
||||
.expect("Failed to create message index.");
|
||||
}
|
||||
|
||||
if revision <= 28 {
|
||||
info!("Running migration [revision 28 / 10-09-2024]: Add support for new Autumn.");
|
||||
|
||||
db.db()
|
||||
.create_collection("attachment_hashes", None)
|
||||
.await
|
||||
.ok();
|
||||
|
||||
db.db()
|
||||
.run_command(
|
||||
doc! {
|
||||
"createIndexes": "attachments",
|
||||
"indexes": [
|
||||
{
|
||||
"key": {
|
||||
"hash": 1_i32
|
||||
},
|
||||
"name": "hash"
|
||||
}
|
||||
]
|
||||
},
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to create attachments index.");
|
||||
|
||||
db.db()
|
||||
.run_command(
|
||||
doc! {
|
||||
"createIndexes": "attachment_hashes",
|
||||
"indexes": [
|
||||
{
|
||||
"key": {
|
||||
"processed_hash": 1_i32
|
||||
},
|
||||
"name": "processed_hash"
|
||||
}
|
||||
]
|
||||
},
|
||||
None,
|
||||
)
|
||||
.await
|
||||
.expect("Failed to create attachment_hashes index.");
|
||||
}
|
||||
|
||||
// Need to migrate fields on attachments, change `user_id`, `object_id`, etc to `parent`.
|
||||
|
||||
// Reminder to update LATEST_REVISION when adding new migrations.
|
||||
|
||||
Reference in New Issue
Block a user