aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/node.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/routes/ui/node.rs')
-rw-r--r--server/src/routes/ui/node.rs35
1 files changed, 18 insertions, 17 deletions
diff --git a/server/src/routes/ui/node.rs b/server/src/routes/ui/node.rs
index 0dbb027..c055953 100644
--- a/server/src/routes/ui/node.rs
+++ b/server/src/routes/ui/node.rs
@@ -9,7 +9,7 @@ use super::{
sort::{filter_and_sort_nodes, NodeFilterSort, NodeFilterSortForm},
};
use crate::{
- database::Database,
+ database::DataAcid,
routes::{
api::AcceptJson,
ui::{
@@ -22,8 +22,12 @@ use crate::{
},
uri,
};
-use anyhow::{anyhow, Context, Result};
-use jellybase::permission::NodePermissionExt;
+use anyhow::{anyhow, Result};
+use chrono::NaiveDateTime;
+use jellybase::{
+ database::{TableExt, T_NODE, T_USER_NODE},
+ permission::NodePermissionExt,
+};
use jellycommon::{
user::{NodeUserData, WatchedState},
Chapter, MediaInfo, NodeKind, NodePublic, Rating, SourceTrackKind,
@@ -40,21 +44,18 @@ pub fn r_library_node(id: String) {
pub async fn r_library_node_filter<'a>(
session: Session,
id: &'a str,
- db: &'a State<Database>,
+ db: &'a State<DataAcid>,
aj: AcceptJson,
filter: NodeFilterSort,
) -> Result<Either<DynLayoutPage<'a>, Json<NodePublic>>, MyError> {
- let node = db
- .node
- .get(&id.to_string())
- .context("retrieving library node")?
+ let node = T_NODE
+ .get(&db, id)?
.only_if_permitted(&session.user.permissions)
.ok_or(anyhow!("node does not exist"))?
.public;
- let udata = db
- .user_node
- .get(&(session.user.name.clone(), id.to_string()))?
+ let udata = T_USER_NODE
+ .get(&db, &(session.user.name.as_str(), id))?
.unwrap_or_default();
if *aj {
@@ -192,7 +193,7 @@ markup::define! {
p { @m.resolution_name() }
}
@if let Some(d) = &node.release_date {
- p { @d.format("%Y-%m-%d").to_string() }
+ p { @NaiveDateTime::from_timestamp_millis(*d).unwrap().and_utc().to_string() }
}
@if !node.children.is_empty() {
p { @format!("{} items", node.children.len()) }
@@ -244,7 +245,7 @@ pub trait DatabaseNodeUserDataExt {
session: &Session,
) -> Result<(String, NodePublic, NodeUserData)>;
}
-impl DatabaseNodeUserDataExt for Database {
+impl DatabaseNodeUserDataExt for DataAcid {
fn get_node_with_userdata(
&self,
id: &str,
@@ -252,12 +253,12 @@ impl DatabaseNodeUserDataExt for Database {
) -> Result<(String, NodePublic, NodeUserData)> {
Ok((
id.to_owned(),
- self.node
- .get(&id.to_owned())?
+ T_NODE
+ .get(self, id)?
.ok_or(anyhow!("node does not exist: {id}"))?
.public,
- self.user_node
- .get(&(session.user.name.to_owned(), id.to_owned()))?
+ T_USER_NODE
+ .get(self, &(session.user.name.as_str(), id))?
.unwrap_or_default(),
))
}