webdav fix

This commit is contained in:
2025-10-31 20:10:42 +01:00
parent 175387f0d3
commit e9731ec691
9 changed files with 110 additions and 8 deletions
+17 -1
View File
@@ -148,7 +148,8 @@ pub fn clear_tenant_context(conn: &mut PgConnection) -> AppResult<()> {
"SELECT \
set_config('papercrate.tenant_id', '', false), \
set_config('papercrate.user_id', '', false), \
set_config('papercrate.refresh_token_hash', '', false)"
set_config('papercrate.refresh_token_hash', '', false), \
set_config('papercrate.webdav_token_prefix', '', false)"
)
.execute(conn)
.map(|_| ())
@@ -177,6 +178,21 @@ pub fn clear_refresh_token_hash(conn: &mut PgConnection) -> AppResult<()> {
.map_err(AppError::from)
}
pub fn apply_webdav_token_prefix(conn: &mut PgConnection, prefix: &str) -> AppResult<()> {
diesel::sql_query("SELECT set_config('papercrate.webdav_token_prefix', $1, false)")
.bind::<Text, _>(prefix)
.execute(conn)
.map(|_| ())
.map_err(AppError::from)
}
pub fn clear_webdav_token_prefix(conn: &mut PgConnection) -> AppResult<()> {
diesel::sql_query("SELECT set_config('papercrate.webdav_token_prefix', '', false)")
.execute(conn)
.map(|_| ())
.map_err(AppError::from)
}
fn normalize_storage_root(raw: Option<&str>, tenant_id: Uuid) -> String {
match raw.map(str::trim) {
Some(root) if !root.is_empty() => {