Files
jellytau/api/jellytau_lib/repository/trait.MediaRepository.html
T

649 lines
136 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Repository trait for media access (online, offline, or hybrid)"><title>MediaRepository in jellytau_lib::repository - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="jellytau_lib" data-themes="" data-resource-suffix="" data-rustdoc-version="1.97.1 (8bab26f4f 2026-07-14)" data-channel="1.97.1" data-search-js="search-fd9372ac.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-fcd733ba.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-f7c3ffd8.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MediaRepository</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../jellytau_lib/index.html">jellytau_<wbr>lib</a><span class="version">0.10.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Media<wbr>Repository</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.add_to_playlist" title="add_to_playlist">add_to_playlist</a></li><li><a href="#tymethod.clear_watch_history" title="clear_watch_history">clear_watch_history</a></li><li><a href="#tymethod.create_playlist" title="create_playlist">create_playlist</a></li><li><a href="#tymethod.delete_playlist" title="delete_playlist">delete_playlist</a></li><li><a href="#tymethod.get_audio_only_stream_url_for_video" title="get_audio_only_stream_url_for_video">get_audio_only_stream_url_for_video</a></li><li><a href="#tymethod.get_audio_stream_url" title="get_audio_stream_url">get_audio_stream_url</a></li><li><a href="#tymethod.get_channels" title="get_channels">get_channels</a></li><li><a href="#tymethod.get_favorites" title="get_favorites">get_favorites</a></li><li><a href="#tymethod.get_genres" title="get_genres">get_genres</a></li><li><a href="#tymethod.get_image_url" title="get_image_url">get_image_url</a></li><li><a href="#tymethod.get_item" title="get_item">get_item</a></li><li><a href="#tymethod.get_items" title="get_items">get_items</a></li><li><a href="#tymethod.get_items_by_person" title="get_items_by_person">get_items_by_person</a></li><li><a href="#tymethod.get_latest_items" title="get_latest_items">get_latest_items</a></li><li><a href="#tymethod.get_libraries" title="get_libraries">get_libraries</a></li><li><a href="#tymethod.get_live_tv_channels" title="get_live_tv_channels">get_live_tv_channels</a></li><li><a href="#tymethod.get_next_up_episodes" title="get_next_up_episodes">get_next_up_episodes</a></li><li><a href="#tymethod.get_person" title="get_person">get_person</a></li><li><a href="#tymethod.get_playback_info" title="get_playback_info">get_playback_info</a></li><li><a href="#tymethod.get_playlist_items" title="get_playlist_items">get_playlist_items</a></li><li><a href="#tymethod.get_recently_played_audio" title="get_recently_played_audio">get_recently_played_audio</a></li><li><a href="#tymethod.get_rediscover_albums" title="get_rediscover_albums">get_rediscover_albums</a></li><li><a href="#tymethod.get_resume_items" title="get_resume_items">get_resume_items</a></li><li><a href="#tymethod.get_resume_movies" title="get_resume_movies">get_resume_movies</a></li><li><a href="#tymethod.get_similar_items" title="get_similar_items">get_similar_items</a></li><li><a href="#tymethod.get_subtitle_url" title="get_subtitle_url">get_subtitle_url</a></li><li><a href="#tymethod.get_video_download_url" title="get_video_download_url">get_video_download_url</a></li><li><a href="#tymethod.mark_favorite" title="mark_favorite">mark_favorite</a></li><li><a href="#tymethod.mark_played" title="mark_played">mark_played</a></li><li><a href="#tymethod.move_playlist_item" title="move_playlist_item">move_playlist_item</a></li><li><a href="#tymethod.open_live_stream" title="open_live_stream">open_live_stream</a></li><li><a href="#tymethod.remove_from_playlist" title="remove_from_playlist">remove_from_playlist</a></li><li><a href="#tymethod.rename_playlist" title="rename_playlist">rename_playlist</a></li><li><a href="#tymethod.report_playback_progress" title="report_playback_progress">report_playback_progress</a></li><li><a href="#tymethod.report_playback_start" title="report_playback_start">report_playback_start</a></li><li><a href="#tymethod.report_playback_stopped" title="report_playback_stopped">report_playback_stopped</a></li><li><a href="#tymethod.search" title="search">search</a></li><li><a href="#tymethod.unmark_favorite" title="unmark_favorite">unmark_favorite</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In jellytau_<wbr>lib::<wbr>repository</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">jellytau_lib</a>::<wbr><a href="index.html">repository</a></div><h1>Trait <span class="trait">Media<wbr>Repository</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/jellytau_lib/repository/mod.rs.html#26-337">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MediaRepository: <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 38 methods</span></summary> // Required methods
fn <a href="#tymethod.get_libraries" class="fn">get_libraries</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.Library.html" title="struct jellytau_lib::repository::types::Library">Library</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_items" class="fn">get_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_item" class="fn">get_item</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_latest_items" class="fn">get_latest_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_resume_items" class="fn">get_resume_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_next_up_episodes" class="fn">get_next_up_episodes</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
series_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_recently_played_audio" class="fn">get_recently_played_audio</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_rediscover_albums" class="fn">get_rediscover_albums</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_resume_movies" class="fn">get_resume_movies</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_genres" class="fn">get_genres</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.Genre.html" title="struct jellytau_lib::repository::types::Genre">Genre</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.search" class="fn">search</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
query: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.SearchOptions.html" title="struct jellytau_lib::repository::types::SearchOptions">SearchOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_playback_info" class="fn">get_playback_info</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.PlaybackInfo.html" title="struct jellytau_lib::repository::types::PlaybackInfo">PlaybackInfo</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_audio_stream_url" class="fn">get_audio_stream_url</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_audio_only_stream_url_for_video" class="fn">get_audio_only_stream_url_for_video</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
start_time_seconds: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.f64.html">f64</a>&gt;,
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_live_tv_channels" class="fn">get_live_tv_channels</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_channels" class="fn">get_channels</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.open_live_stream" class="fn">open_live_stream</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.LiveStreamInfo.html" title="struct jellytau_lib::repository::types::LiveStreamInfo">LiveStreamInfo</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.report_playback_start" class="fn">report_playback_start</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.report_playback_progress" class="fn">report_playback_progress</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.report_playback_stopped" class="fn">report_playback_stopped</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_image_url" class="fn">get_image_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
image_type: <a class="enum" href="types/enum.ImageType.html" title="enum jellytau_lib::repository::types::ImageType">ImageType</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.ImageOptions.html" title="struct jellytau_lib::repository::types::ImageOptions">ImageOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_subtitle_url" class="fn">get_subtitle_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
stream_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>,
format: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_video_download_url" class="fn">get_video_download_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
quality: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
source_audio_codec: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.mark_favorite" class="fn">mark_favorite</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.unmark_favorite" class="fn">unmark_favorite</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_favorites" class="fn">get_favorites</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
scope: <a class="enum" href="types/enum.SearchScope.html" title="enum jellytau_lib::repository::types::SearchScope">SearchScope</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.clear_watch_history" class="fn">clear_watch_history</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.mark_played" class="fn">mark_played</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_person" class="fn">get_person</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
person_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_items_by_person" class="fn">get_items_by_person</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
person_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_similar_items" class="fn">get_similar_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.create_playlist" class="fn">create_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
name: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.PlaylistCreatedResult.html" title="struct jellytau_lib::repository::types::PlaylistCreatedResult">PlaylistCreatedResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.delete_playlist" class="fn">delete_playlist</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.rename_playlist" class="fn">rename_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
name: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_playlist_items" class="fn">get_playlist_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.PlaylistEntry.html" title="struct jellytau_lib::repository::types::PlaylistEntry">PlaylistEntry</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.add_to_playlist" class="fn">add_to_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.remove_from_playlist" class="fn">remove_from_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
entry_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.move_playlist_item" class="fn">move_playlist_item</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_id: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
new_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.u32.html">u32</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait</span>;
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Repository trait for media access (online, offline, or hybrid)</p>
<p>@req: UR-002 - Access media when online or offline
@req: UR-007 - Navigate media in library
@req: UR-008 - Search media across libraries
@req: IR-010 - Jellyfin API client for library browsing
@req: DR-012 - Local database for media metadata cache
@req: DR-013 - Repository pattern for online/offline data access</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get_libraries" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#31">Source</a><h4 class="code-header">fn <a href="#tymethod.get_libraries" class="fn">get_libraries</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.Library.html" title="struct jellytau_lib::repository::types::Library">Library</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get all libraries</p>
<p>@req: UR-007 - Navigate media in library
@req: JA-003 - Get user library views</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_items" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#37-41">Source</a><h4 class="code-header">fn <a href="#tymethod.get_items" class="fn">get_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get items in a library or parent</p>
<p>@req: UR-007 - Navigate media in library
@req: JA-004 - Get library items (paginated)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_item" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#47">Source</a><h4 class="code-header">fn <a href="#tymethod.get_item" class="fn">get_item</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get a single item by ID</p>
<p>@req: UR-007 - Navigate media in library
@req: JA-005 - Get item details and metadata</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_latest_items" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#53-57">Source</a><h4 class="code-header">fn <a href="#tymethod.get_latest_items" class="fn">get_latest_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get latest items in a library</p>
<p>@req: UR-024 - View recently added content on server
@req: JA-016 - Get recently added items</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_resume_items" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#64-68">Source</a><h4 class="code-header">fn <a href="#tymethod.get_resume_items" class="fn">get_resume_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get resume items (continue watching/listening)</p>
<p>@req: UR-019 - Resume playback from where you left off
@req: UR-023 - View “Next Up” / Continue Watching on home screen
@req: JA-015 - Get “Continue Watching” items</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_next_up_episodes" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#74-78">Source</a><h4 class="code-header">fn <a href="#tymethod.get_next_up_episodes" class="fn">get_next_up_episodes</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
series_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get next up episodes</p>
<p>@req: UR-023 - View “Next Up” / Continue Watching; auto-play next episode
@req: JA-014 - Get “Next Up” items</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_recently_played_audio" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#81-84">Source</a><h4 class="code-header">fn <a href="#tymethod.get_recently_played_audio" class="fn">get_recently_played_audio</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get recently played audio</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_rediscover_albums" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#89-93">Source</a><h4 class="code-header">fn <a href="#tymethod.get_rediscover_albums" class="fn">get_rediscover_albums</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get albums the user has played, but not recently (“rediscover” / havent
listened to in a while). Returns albums sorted by least-recently played
first, optionally restricted to a parent library.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_resume_movies" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#96">Source</a><h4 class="code-header">fn <a href="#tymethod.get_resume_movies" class="fn">get_resume_movies</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get resume movies</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_genres" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#99">Source</a><h4 class="code-header">fn <a href="#tymethod.get_genres" class="fn">get_genres</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
parent_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.Genre.html" title="struct jellytau_lib::repository::types::Genre">Genre</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get genres</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.search" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#105-109">Source</a><h4 class="code-header">fn <a href="#tymethod.search" class="fn">search</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
query: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.SearchOptions.html" title="struct jellytau_lib::repository::types::SearchOptions">SearchOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Search for items</p>
<p>@req: UR-008 - Search media across libraries
@req: JA-006 - Search across libraries</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_playback_info" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#116">Source</a><h4 class="code-header">fn <a href="#tymethod.get_playback_info" class="fn">get_playback_info</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.PlaybackInfo.html" title="struct jellytau_lib::repository::types::PlaybackInfo">PlaybackInfo</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get playback info for streaming</p>
<p>@req: UR-003 - Play videos
@req: UR-004 - Play audio uninterrupted
@req: JA-007 - Get playback info and stream URL</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_audio_stream_url" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#122">Source</a><h4 class="code-header">fn <a href="#tymethod.get_audio_stream_url" class="fn">get_audio_stream_url</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get audio stream URL for a track</p>
<p>@req: UR-004 - Play audio uninterrupted
@req: JA-007 - Get playback info and stream URL</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_audio_only_stream_url_for_video" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#132-138">Source</a><h4 class="code-header">fn <a href="#tymethod.get_audio_only_stream_url_for_video" class="fn">get_audio_only_stream_url_for_video</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
start_time_seconds: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.f64.html">f64</a>&gt;,
audio_stream_index: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get an audio-only stream URL for a <em>video</em> item (background-audio handoff).</p>
<p>Used when autoplay advances to the next episode while the app is playing a
video in audio-only mode in the background: the backend needs the next
episodes audio-only URL without any frontend round-trip. Online-only;
offline/cache repositories return an error.</p>
<p>TRACES: UR-040 | JA-032</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_live_tv_channels" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#141">Source</a><h4 class="code-header">fn <a href="#tymethod.get_live_tv_channels" class="fn">get_live_tv_channels</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get Live TV channels (broadcast / IPTV) for browsing.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_channels" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#145">Source</a><h4 class="code-header">fn <a href="#tymethod.get_channels" class="fn">get_channels</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get the root list of plugin “Channels” (Jellyfin Channels feature).
Drill-down into a channel reuses <code>get_items(channel_id, ...)</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.open_live_stream" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#151">Source</a><h4 class="code-header">fn <a href="#tymethod.open_live_stream" class="fn">open_live_stream</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.LiveStreamInfo.html" title="struct jellytau_lib::repository::types::LiveStreamInfo">LiveStreamInfo</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Open a live stream (Live TV channel or live channel item) for playback.</p>
<p>Returns the server transcoding URL plus identifiers needed to manage the
stream. Required before a live channel can be played over HLS.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.report_playback_start" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#157-161">Source</a><h4 class="code-header">fn <a href="#tymethod.report_playback_start" class="fn">report_playback_start</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Report playback start</p>
<p>@req: UR-025 - Sync watch history and progress back to Jellyfin
@req: JA-010 - Report playback start</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.report_playback_progress" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#167-171">Source</a><h4 class="code-header">fn <a href="#tymethod.report_playback_progress" class="fn">report_playback_progress</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Report playback progress</p>
<p>@req: UR-025 - Sync watch history and progress back to Jellyfin
@req: JA-011 - Report playback progress (periodic)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.report_playback_stopped" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#177-181">Source</a><h4 class="code-header">fn <a href="#tymethod.report_playback_stopped" class="fn">report_playback_stopped</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
position_ticks: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i64.html">i64</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Report playback stopped</p>
<p>@req: UR-025 - Sync watch history and progress back to Jellyfin
@req: JA-012 - Report playback stopped</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_image_url" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#184-189">Source</a><h4 class="code-header">fn <a href="#tymethod.get_image_url" class="fn">get_image_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
image_type: <a class="enum" href="types/enum.ImageType.html" title="enum jellytau_lib::repository::types::ImageType">ImageType</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.ImageOptions.html" title="struct jellytau_lib::repository::types::ImageOptions">ImageOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>Get image URL (synchronous - just constructs URL)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_subtitle_url" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#194-200">Source</a><h4 class="code-header">fn <a href="#tymethod.get_subtitle_url" class="fn">get_subtitle_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
stream_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.i32.html">i32</a>,
format: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>Get subtitle URL (synchronous - just constructs URL)
Called by frontend via Tauri invoke (getSubtitleUrl in VideoPlayer.svelte)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_video_download_url" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#214-220">Source</a><h4 class="code-header">fn <a href="#tymethod.get_video_download_url" class="fn">get_video_download_url</a>(
&amp;self,
item_id: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
quality: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
media_source_id: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
source_audio_codec: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>Build the URL a video download is fetched from. Synchronous — it only
constructs a URL, so it stays testable without a server. Reach it through
<a href="fn.resolve_video_download_url.html" title="fn jellytau_lib::repository::resolve_video_download_url"><code>resolve_video_download_url</code></a> rather than calling it directly.</p>
<p><code>source_audio_codec</code> is the codec of the audio track the server would
serve (see <a href="fn.served_audio_codec.html" title="fn jellytau_lib::repository::served_audio_codec"><code>served_audio_codec</code></a>); <code>None</code> when it is not known. At
<code>original</code> quality it decides whether the file can be copied byte-for-byte
or has to have its audio re-encoded on the way down — a downloaded file is
played back with no server in reach, so it has to be decodable <em>here</em>.</p>
<p>TRACES: UR-071 | DR-171</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mark_favorite" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#223">Source</a><h4 class="code-header">fn <a href="#tymethod.mark_favorite" class="fn">mark_favorite</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Mark item as favorite</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.unmark_favorite" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#226">Source</a><h4 class="code-header">fn <a href="#tymethod.unmark_favorite" class="fn">unmark_favorite</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Unmark item as favorite</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_favorites" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#236-240">Source</a><h4 class="code-header">fn <a href="#tymethod.get_favorites" class="fn">get_favorites</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
scope: <a class="enum" href="types/enum.SearchScope.html" title="enum jellytau_lib::repository::types::SearchScope">SearchScope</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Everything the viewer has favourited, across every library.</p>
<p>Separate from <code>get_items</code> because favourites span libraries and
<code>get_items</code> is <code>ParentId</code>-shaped. <code>scope</code> is the opaque enum the
frontend sends; this layer expands it to item types (DR-063) so no
Jellyfin taxonomy is needed on the other side of the IPC boundary.</p>
<p>TRACES: UR-067 | DR-115, JA-033 | UT-100, UT-101</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.clear_watch_history" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#248">Source</a><h4 class="code-header">fn <a href="#tymethod.clear_watch_history" class="fn">clear_watch_history</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Erase the viewers watch history for an item: clear its played flag and
its resume position. On a container (series, season) this applies to
everything inside it, so a series is returned to “never watched” and
reopens on its premiere.</p>
<p>TRACES: UR-064 | DR-106</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.mark_played" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#256">Source</a><h4 class="code-header">fn <a href="#tymethod.mark_played" class="fn">mark_played</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Mark an item played — the inverse of <code>clear_watch_history</code>. Needed by the
sync-queue drain, which replays <code>mark_played</code> rows queued while the
server was unreachable; reporting a stop at a made-up position was the
previous stand-in and does not set the played flag reliably.</p>
<p>TRACES: UR-025 | DR-131 | JA-035</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_person" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#259">Source</a><h4 class="code-header">fn <a href="#tymethod.get_person" class="fn">get_person</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
person_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.MediaItem.html" title="struct jellytau_lib::repository::types::MediaItem">MediaItem</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get person details</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_items_by_person" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#262-266">Source</a><h4 class="code-header">fn <a href="#tymethod.get_items_by_person" class="fn">get_items_by_person</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
person_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
options: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="types/struct.GetItemsOptions.html" title="struct jellytau_lib::repository::types::GetItemsOptions">GetItemsOptions</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get items by person (filmography)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_similar_items" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#271-275">Source</a><h4 class="code-header">fn <a href="#tymethod.get_similar_items" class="fn">get_similar_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
item_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
limit: <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.usize.html">usize</a>&gt;,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.SearchResult.html" title="struct jellytau_lib::repository::types::SearchResult">SearchResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get similar/related items for a movie or show</p>
<p>@req: UR-009 - Discover similar content based on current item</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.create_playlist" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#283-287">Source</a><h4 class="code-header">fn <a href="#tymethod.create_playlist" class="fn">create_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
name: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="types/struct.PlaylistCreatedResult.html" title="struct jellytau_lib::repository::types::PlaylistCreatedResult">PlaylistCreatedResult</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Create a new playlist on the server</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-019 - Get/create/update playlists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.delete_playlist" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#293">Source</a><h4 class="code-header">fn <a href="#tymethod.delete_playlist" class="fn">delete_playlist</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Delete a playlist</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-019 - Get/create/update playlists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.rename_playlist" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#299">Source</a><h4 class="code-header">fn <a href="#tymethod.rename_playlist" class="fn">rename_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
name: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Rename a playlist</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-019 - Get/create/update playlists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_playlist_items" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#305">Source</a><h4 class="code-header">fn <a href="#tymethod.get_playlist_items" class="fn">get_playlist_items</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="types/struct.PlaylistEntry.html" title="struct jellytau_lib::repository::types::PlaylistEntry">PlaylistEntry</a>&gt;, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Get playlist items with PlaylistItemId (needed for remove/reorder)</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-019 - Get/create/update playlists</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.add_to_playlist" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#311-315">Source</a><h4 class="code-header">fn <a href="#tymethod.add_to_playlist" class="fn">add_to_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Add items to a playlist</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-020 - Add/remove items from playlist</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.remove_from_playlist" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#321-325">Source</a><h4 class="code-header">fn <a href="#tymethod.remove_from_playlist" class="fn">remove_from_playlist</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
entry_ids: &amp;'life2 [<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>],
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Remove items from a playlist using entry IDs (PlaylistItemId, NOT media item IDs)</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-020 - Add/remove items from playlist</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.move_playlist_item" class="method"><a class="src rightside" href="../../src/jellytau_lib/repository/mod.rs.html#331-336">Source</a><h4 class="code-header">fn <a href="#tymethod.move_playlist_item" class="fn">move_playlist_item</a>&lt;'life0, 'life1, 'life2, 'async_trait&gt;(
&amp;'life0 self,
playlist_id: &amp;'life1 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
item_id: &amp;'life2 <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.str.html">str</a>,
new_index: <a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.u32.html">u32</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.97.1/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.97.1/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="enum" href="https://doc.rust-lang.org/1.97.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.97.1/std/primitive.unit.html">()</a>, <a class="enum" href="types/enum.RepoError.html" title="enum jellytau_lib::repository::types::RepoError">RepoError</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/1.97.1/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Move a playlist item to a new position</p>
<p>@req: UR-014 - Make and edit playlists of music that sync back to Jellyfin
@req: JA-020 - Add/remove items from playlist</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><div class="negative-marker"></div><section id="impl-MediaRepository-for-HybridRepository" class="impl"><a class="src rightside" href="../../src/jellytau_lib/repository/hybrid.rs.html#456-1196">Source</a><a href="#impl-MediaRepository-for-HybridRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MediaRepository.html" title="trait jellytau_lib::repository::MediaRepository">MediaRepository</a> for <a class="struct" href="hybrid/struct.HybridRepository.html" title="struct jellytau_lib::repository::hybrid::HybridRepository">HybridRepository</a></h3></section><section id="impl-MediaRepository-for-OfflineRepository" class="impl"><a class="src rightside" href="../../src/jellytau_lib/repository/offline.rs.html#1197-2516">Source</a><a href="#impl-MediaRepository-for-OfflineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MediaRepository.html" title="trait jellytau_lib::repository::MediaRepository">MediaRepository</a> for <a class="struct" href="offline/struct.OfflineRepository.html" title="struct jellytau_lib::repository::offline::OfflineRepository">OfflineRepository</a></h3></section><section id="impl-MediaRepository-for-OnlineRepository" class="impl"><a class="src rightside" href="../../src/jellytau_lib/repository/online.rs.html#1111-2662">Source</a><a href="#impl-MediaRepository-for-OnlineRepository" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MediaRepository.html" title="trait jellytau_lib::repository::MediaRepository">MediaRepository</a> for <a class="struct" href="online/struct.OnlineRepository.html" title="struct jellytau_lib::repository::online::OnlineRepository">OnlineRepository</a></h3></section></div><script src="../../trait.impl/jellytau_lib/repository/trait.MediaRepository.js" async></script></section></div></main></body></html>