diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-01-20 12:13:20 +0100 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-01-20 12:13:20 +0100 | 
| commit | 730353601db9818d148c85bfe1ecb119abaab7cc (patch) | |
| tree | 0e3deafdac53ebc612a04b3631e5cf286c825291 /server/src/routes | |
| parent | 3086e768ab4e64e47a50d7f6a71a815c4f110bd3 (diff) | |
| download | jellything-730353601db9818d148c85bfe1ecb119abaab7cc.tar jellything-730353601db9818d148c85bfe1ecb119abaab7cc.tar.bz2 jellything-730353601db9818d148c85bfe1ecb119abaab7cc.tar.zst | |
cleanup yesterdays mess
Diffstat (limited to 'server/src/routes')
| -rw-r--r-- | server/src/routes/ui/admin/log.rs | 2 | ||||
| -rw-r--r-- | server/src/routes/ui/assets.rs | 1 | ||||
| -rw-r--r-- | server/src/routes/ui/error.rs | 16 | ||||
| -rw-r--r-- | server/src/routes/ui/node.rs | 1 | ||||
| -rw-r--r-- | server/src/routes/userdata.rs | 17 | 
5 files changed, 24 insertions, 13 deletions
| diff --git a/server/src/routes/ui/admin/log.rs b/server/src/routes/ui/admin/log.rs index de91acd..9e57bab 100644 --- a/server/src/routes/ui/admin/log.rs +++ b/server/src/routes/ui/admin/log.rs @@ -20,7 +20,7 @@ use std::{      sync::{LazyLock, RwLock},  }; -const MAX_LOG_LEN: usize = 4000; +const MAX_LOG_LEN: usize = 4096;  static LOGGER: LazyLock<Log> = LazyLock::new(Log::new); diff --git a/server/src/routes/ui/assets.rs b/server/src/routes/ui/assets.rs index b1a13da..05ddc7c 100644 --- a/server/src/routes/ui/assets.rs +++ b/server/src/routes/ui/assets.rs @@ -34,6 +34,7 @@ pub async fn r_item_assets(          .get(&db, id)?          .only_if_permitted(&session.user.permissions)          .ok_or(anyhow!("node does not exist"))?; +      let mut asset = match role {          AssetRole::Backdrop => node.private.backdrop,          AssetRole::Poster => node.private.poster, diff --git a/server/src/routes/ui/error.rs b/server/src/routes/ui/error.rs index 98c6b7f..c0685e1 100644 --- a/server/src/routes/ui/error.rs +++ b/server/src/routes/ui/error.rs @@ -103,36 +103,38 @@ impl From<serde_json::Error> for MyError {  }  impl From<jellybase::database::CommitError> for MyError {      fn from(err: jellybase::database::CommitError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("database oopsie during commit: {err}"))      }  }  impl From<jellybase::database::CompactionError> for MyError {      fn from(err: jellybase::database::CompactionError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("database oopsie during compaction: {err}"))      }  }  impl From<jellybase::database::DatabaseError> for MyError {      fn from(err: jellybase::database::DatabaseError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("generic database oopsie: {err}"))      }  }  impl From<jellybase::database::SavepointError> for MyError {      fn from(err: jellybase::database::SavepointError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!( +            "database oopsie during savepointing: {err}" +        ))      }  }  impl From<jellybase::database::StorageError> for MyError {      fn from(err: jellybase::database::StorageError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("database oopsie, storage error: {err}"))      }  }  impl From<jellybase::database::TableError> for MyError {      fn from(err: jellybase::database::TableError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("database oopsie, table error: {err}"))      }  }  impl From<jellybase::database::TransactionError> for MyError {      fn from(err: jellybase::database::TransactionError) -> Self { -        MyError(anyhow::anyhow!("{err}")) +        MyError(anyhow::anyhow!("database oopsie during transaction: {err}"))      }  } diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs index c055953..4b3f861 100644 --- a/server/src/routes/ui/node.rs +++ b/server/src/routes/ui/node.rs @@ -255,6 +255,7 @@ impl DatabaseNodeUserDataExt for DataAcid {              id.to_owned(),              T_NODE                  .get(self, id)? +                .only_if_permitted(&session.user.permissions)                  .ok_or(anyhow!("node does not exist: {id}"))?                  .public,              T_USER_NODE diff --git a/server/src/routes/userdata.rs b/server/src/routes/userdata.rs index 8803bde..c113bb6 100644 --- a/server/src/routes/userdata.rs +++ b/server/src/routes/userdata.rs @@ -6,7 +6,10 @@  use super::ui::{account::session::Session, error::MyResult, node::DatabaseNodeUserDataExt};  use crate::routes::ui::node::rocket_uri_macro_r_library_node;  use anyhow::anyhow; -use jellybase::database::{DataAcid, ReadableTable, Ser, TableExt, T_NODE, T_USER_NODE}; +use jellybase::{ +    database::{DataAcid, ReadableTable, Ser, TableExt, T_NODE, T_USER_NODE}, +    permission::NodePermissionExt, +};  use jellycommon::user::{NodeUserData, WatchedState};  use rocket::{      get, post, response::Redirect, serde::json::Json, FromFormField, State, UriDisplayQuery, @@ -36,9 +39,10 @@ pub async fn r_player_watched(      id: &str,      state: UrlWatchedState,  ) -> MyResult<Redirect> { -    T_NODE.get(db, id)?.ok_or(anyhow!("node does not exist"))?; - -    // let key = (session.user.name.clone(), id.to_owned()); +    T_NODE +        .get(db, id)? +        .only_if_permitted(&session.user.permissions) +        .ok_or(anyhow!("node does not exist"))?;      let txn = db.begin_write()?;      let mut user_nodes = txn.open_table(T_USER_NODE)?; @@ -68,7 +72,10 @@ pub async fn r_player_progress(      id: &str,      t: f64,  ) -> MyResult<()> { -    T_NODE.get(db, id)?.ok_or(anyhow!("node does not exist"))?; +    T_NODE +        .get(db, id)? +        .only_if_permitted(&session.user.permissions) +        .ok_or(anyhow!("node does not exist"))?;      let txn = db.begin_write()?;      let mut user_nodes = txn.open_table(T_USER_NODE)?; | 
