tuwunel_service/migrations/
migrate_media.rs1use tuwunel_core::{Result, result::NotFound};
2
3use super::conduit::migrate_conduit_media;
4use crate::{
5 Services,
6 media::migrations::{checkup_sha256_media, migrate_sha256_media},
7};
8
9pub(super) async fn migrate_media(services: &Services) -> Result {
14 let db = &services.db;
15 let config = &services.server.config;
16
17 let sha256_done = !db["global"]
18 .get(b"feat_sha256_media")
19 .await
20 .is_not_found();
21
22 if !sha256_done
24 && db
25 .open_cf("servernamemediaid_metadata")?
26 .is_some()
27 {
28 migrate_conduit_media(services).await?;
29 db["global"].insert(b"feat_sha256_media", []);
30 return Ok(());
31 }
32
33 if !sha256_done {
34 migrate_sha256_media(services).await?;
35 } else if config.media_startup_check {
36 checkup_sha256_media(services).await?;
37 }
38
39 Ok(())
40}