aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/stream.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-12-22 09:02:46 +0100
committermetamuffin <metamuffin@disroot.org>2023-12-22 09:02:46 +0100
commitb92983fb0cab2a284301b930d2b15ec0109dd93e (patch)
treef7fb1b900b3fa5ced46de392a47756c3ca5cc398 /server/src/routes/stream.rs
parent9a52852f736692e5319da49478e16bfba30fbd39 (diff)
parent826c61c9612e855b19c3adb0e93d80bbfb4dc903 (diff)
downloadjellything-b92983fb0cab2a284301b930d2b15ec0109dd93e.tar
jellything-b92983fb0cab2a284301b930d2b15ec0109dd93e.tar.bz2
jellything-b92983fb0cab2a284301b930d2b15ec0109dd93e.tar.zst
Merge branch 'master' of codeberg.org:metamuffin/jellything
Diffstat (limited to 'server/src/routes/stream.rs')
-rw-r--r--server/src/routes/stream.rs59
1 files changed, 30 insertions, 29 deletions
diff --git a/server/src/routes/stream.rs b/server/src/routes/stream.rs
index e7b3d54..14db462 100644
--- a/server/src/routes/stream.rs
+++ b/server/src/routes/stream.rs
@@ -4,14 +4,14 @@
Copyright (C) 2023 metamuffin <metamuffin.org>
*/
use super::ui::{account::session::Session, error::MyError};
-use crate::{database::Database, federation::Federation};
+use crate::database::Database;
use anyhow::{anyhow, Result};
use jellybase::{
+ federation::Federation,
permission::{NodePermissionExt, PermissionSetExt},
CONF,
};
-use jellyclient::LoginDetails;
-use jellycommon::{stream::StreamSpec, user::UserPermission, MediaSource};
+use jellycommon::{stream::StreamSpec, user::UserPermission, TrackSource};
use log::{info, warn};
use rocket::{
get, head,
@@ -58,35 +58,36 @@ pub async fn r_stream(
.as_ref()
.ok_or(anyhow!("item does not contain media"))?;
- if let MediaSource::Remote { host, remote_id } = source {
- session
- .user
- .permissions
- .assert(&UserPermission::FederatedContent)?;
+ // TODO federated streams
+ // if let MediaSource::Remote { host, remote_id } = source {
+ // session
+ // .user
+ // .permissions
+ // .assert(&UserPermission::FederatedContent)?;
- let (username, password, _) = CONF
- .remote_credentials
- .get(host)
- .ok_or(anyhow!("no credentials on the server-side"))?;
+ // let (username, password, _) = CONF
+ // .remote_credentials
+ // .get(host)
+ // .ok_or(anyhow!("no credentials on the server-side"))?;
- info!("creating session on {host}");
- let instance = federation.get_instance(&host)?.to_owned();
- let session = instance
- .login(LoginDetails {
- username: username.to_owned(),
- password: password.to_owned(),
- expire: Some(60),
- drop_permissions: Some(HashSet::from_iter([
- UserPermission::ManageSelf,
- UserPermission::Admin, // in case somebody federated the admin :)))
- ])),
- })
- .await?;
+ // info!("creating session on {host}");
+ // let instance = federation.get_instance(&host)?.to_owned();
+ // let session = instance
+ // .login(LoginDetails {
+ // username: username.to_owned(),
+ // password: password.to_owned(),
+ // expire: Some(60),
+ // drop_permissions: Some(HashSet::from_iter([
+ // UserPermission::ManageSelf,
+ // UserPermission::Admin, // in case somebody federated the admin :)))
+ // ])),
+ // })
+ // .await?;
- let uri = session.stream(&remote_id, &spec);
- info!("federation redirect");
- return Ok(Either::Right(RedirectResponse(uri)));
- }
+ // let uri = session.stream(&remote_id, &spec);
+ // info!("federation redirect");
+ // return Ok(Either::Right(RedirectResponse(uri)));
+ // }
info!(
"stream request (range={})",