tuwunel_service/migrations/
migrate_media.rs1use tuwunel_core::Result;
2
3use super::{conduit::migrate_conduit_media, marker_present};
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 services.server.check_running()?;
15
16 let db = &services.db;
17 let config = &services.server.config;
18 let progress = &services.server.progress;
19
20 let sha256_done = marker_present(services, "feat_sha256_media").await?;
21
22 if !sha256_done
24 && db
25 .open_cf("servernamemediaid_metadata")?
26 .is_some()
27 {
28 progress.begin("migrate_conduit_media");
29 migrate_conduit_media(services).await?;
30 db["global"].insert("feat_sha256_media", []);
31 return Ok(());
32 }
33
34 if !sha256_done {
35 progress.begin("migrate_sha256_media");
36 migrate_sha256_media(services).await?;
37 } else if config.media_startup_check {
38 progress.begin("checkup_sha256_media");
39 checkup_sha256_media(services).await?;
40 }
41
42 Ok(())
43}